50 lines
5.0 KiB
Markdown
50 lines
5.0 KiB
Markdown
|
# Лабораторная работа 2. Ранжирование признаков
|
|||
|
### Вариант № 18
|
|||
|
Используя код из пункта «Решение задачи ранжирования признаков»,
|
|||
|
выполните ранжирование признаков с помощью указанных по
|
|||
|
варианту моделей. Отобразите получившиеся оценки каждого
|
|||
|
признака каждой моделью и среднюю оценку. Проведите анализ
|
|||
|
получившихся результатов. Какие четыре признака оказались самыми
|
|||
|
важными по среднему значению? (Названия\индексы признаков и будут
|
|||
|
ответом на задание).
|
|||
|
|
|||
|
**Модели**:
|
|||
|
* Лассо (Lasso)
|
|||
|
* Рекурсивное сокращение признаков (Recursive Feature Elimination – RFE)
|
|||
|
* Линейная корреляция (f_regression)
|
|||
|
***
|
|||
|
## *Как запустить лабораторную работу:*
|
|||
|
Чтобы запустить программу, открываем файл lab2 в PyCharm и нажимаем на зеленый треугольник в правом верхнем углу.
|
|||
|
***
|
|||
|
## *Использованные технологии:*
|
|||
|
**Scikit-learn** - один из наиболее широко используемых пакетов Python для Data Science и Machine Learning. Он позволяет выполнять множество операций и предоставляет множество алгоритмов.
|
|||
|
|
|||
|
**NumPy** — это фундаментальный пакет для научных вычислений на Python.
|
|||
|
|
|||
|
**Pandas** — это библиотека с открытым исходным кодом, предоставляющая высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных для языка программирования Python.
|
|||
|
|
|||
|
**Operator** — предоставляет функции для встроенных операторов и функции для создания вызываемых объектов, которые извлекают элементы, атрибуты и методы вызова.
|
|||
|
***
|
|||
|
## *Что делает ЛР:*
|
|||
|
В данной работе анализируется работа нескольких моделей, способных оценить важность признаков
|
|||
|
в регрессионной проблеме Фридмана. Генерируются исходные данные, в которых признаки x1-x5
|
|||
|
являются влиятельными, а признаки x11-x14 зависимыми от других признаков. Далее три модели (по варианту)
|
|||
|
ранжируют признаки по их значимости.
|
|||
|
|
|||
|
**Результатом работы программы** являются: вывод оценок важности признаков по моделям и вывод средних оценок важности признаков (в консоли).
|
|||
|
***
|
|||
|
## *Пример выходных данных:*
|
|||
|
>Вывод в консоли:
|
|||
|
|
|||
|
![](https://sun9-4.userapi.com/impg/mWP_l-9Hew6DDSzL-XDoVtLC6x9V3smayeyJGw/0w0t35B3Bm0.jpg?size=604x266&quality=96&sign=5e50ac631ba8bb78ad8796d1e030a579&type=album)
|
|||
|
![](https://sun9-74.userapi.com/impg/CgXruyB6e9nbe3LHxemcSRquslcD-M6YMzWmRA/WJ5QF0yTkBg.jpg?size=801x329&quality=96&sign=b11fa4cc83bf7a82ec6d280994193488&type=album)
|
|||
|
***
|
|||
|
**Вывод**:
|
|||
|
*Модель Лассо* отобрала признаки x1-x5 (кроме x3) как значимые параметры, а оценки всех остальных признаков приравняла к нулю. Ранжирование получилось весьма точным (включился бы x3 - было бы совсем точно), а зависимые признаки не были отмечены важными ни в какой степени.
|
|||
|
|
|||
|
*Модель Рекурсивного сокращения признаков* сработала лучше Лассо: влиятельные признаки (x1-x5) и 2 из 4 зависимых признаков (x11 и x13) - обозначила точно значимыми. Оставшиеся зависимые признаки (x12 и x14) оценила чуть менее, но важными.
|
|||
|
|
|||
|
*Модель Линейной корреляции* из значимых (x1-x5) выделила важным только x4, признаки x1 и x2 слабо важными, а x5 и x3 незначимыми. Среди зависимых признаков (x11-x14) важным оказался x14.
|
|||
|
|
|||
|
Cамыми важными признаками по среднему значению оказались: x4, x2, x1, x5.
|