IIS_2023_1/martysheva_tamara_lab_2/README.md

50 lines
5.0 KiB
Markdown
Raw Normal View History

2023-10-08 21:10:25 +04:00
# Лабораторная работа 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.