### Задание Выполнить ранжирование признаков с помощью указанных по варианту моделей. Отобразить получившиеся значения\оценки каждого признака каждым методом\моделью и среднюю оценку. Провести анализ получившихся результатов. Определить, какие четыре признака оказались самыми важными по среднему значению. Вариант 1. Модели: * Линейная регрессия (LinearRegression) * Случайное Лассо (RandomizedLasso) * Рекурсивное сокращение признаков (Recursive Feature Elimination – RFE) ### Запуск программы Файл lab2.py содержит и запускает программу, аргументов и настройки ~~вроде~~ не требует, ### Описание программы Файл rand_lasso.py содержит реализацию RandomizedLasso, которая была 'устарена' со skilearn 0.19 и удалена с 0.21. Код взят с их гита, версии 0.19. Пробовались готовые решения с гита, однако они были либо совсем нерабочими, либо у их результатов не прослеживалось корреляции с остальными моделями, что говорило о их некачественности. Файл lab2.py содержит непосредственно программу. Программа создаёт набор данных с 10 признаками для последующего их ранжирования, и обрабатывает тремя моделями по варианту. Программа строит столбчатые диаграммы, которые показывают как распределились оценки важности признаков, и выводит в консоль отсортированные по убыванию важности признаки. Таким образом можно легко определить наиважнейшие признаки. Сперва в качестве оценщика в модели RFE использовалась линейная регрессия. Однако тогда результаты были идентичны с результатами обычной модели линейной регрессии. Поэтому оценщик был заменён на предложенную в примерах sklearn модель SVR. ### Результаты тестирования По результатам тестирования, можно сказать следующее: * линейная регрессия и рекурсивное сокращение признаков показывают близкие значения, которые, тем не менее, расходятся в деталях. * случайное лассо показывает сильно завышенные результаты, однако они более-менее коррелируют с результатами других моделей. * средние значения позволяют выявить взвешенный результат. * определить, какая модель ближе к действительности однозначно сказать невозможно из-за разброса. * какая модель (её реализация) дальше всего от действительности наоборот немного очевидно. Пример консольных результатов: >Linear regression >[('x4', 1.0), ('x1', 0.73), ('x2', 0.73), ('x5', 0.38), ('x10', 0.05), ('x6', 0.03), ('x9', 0.03), ('x3', 0.01), ('x7', 0.01), ('x8', 0.0)] >Random lasso >[('x1', 1.0), ('x2', 1.0), ('x4', 1.0), ('x5', 1.0), ('x10', 0.97), ('x6', 0.89), ('x9', 0.82), ('x3', 0.55), ('x7', 0.36), ('x8', 0.0)] >RFE >[('x4', 1.0), ('x1', 0.86), ('x2', 0.8), ('x5', 0.44), ('x10', 0.08), ('x6', 0.05), ('x7', 0.04), ('x3', 0.01), ('x8', 0.01), ('x9', 0.0)] >Mean >[('x4', 1.0), ('x1', 0.86), ('x2', 0.84), ('x5', 0.61), ('x10', 0.37), ('x6', 0.32), ('x9', 0.28), ('x3', 0.19), ('x7', 0.14), ('x8', 0.0)] По данным результатам можно заключить, что наиболее влиятельные признаки по убыванию: x4, x1, x2, x5.