IIS_2023_1/podkorytova_yulia_lab_2/README.md

42 lines
4.9 KiB
Markdown
Raw Normal View History

2023-10-27 05:35:21 +04:00
# Лабораторная работа 2. Ранжирование признаков
### Задание на лабораторную:
Используя код из пункта «Решение задачи ранжирования признаков», выполните ранжирование признаков с помощью указанных по варианту моделей. Отобразите получившиеся значения\оценки каждого признака каждым методом\моделью и среднюю оценку. Проведите анализ получившихся результатов. Какие четыре признака оказались самыми важными по среднему значению? (Названия\индексы признаков и будут ответом на задание).
**Вариант 20.** Линейная регрессия (LinearRegression), Гребневая регрессия
(Ridge), Лассо (Lasso), Линейная корреляция (f_regression).
***
### Как запустить лабораторную работу:
Для запуска лабораторной работы необходимо открыть файл `lr2.py`, нажать на ПКМ и в выпадающем списке выбрать опцию "Run".
***
### Технологии:
**NumPy (Numerical Python)** - это библиотека для научных вычислений в Python, которая обеспечивает эффективные вычисления и манипуляции с данными.
**Scikit-learn (Sklearn)** - это библиотека для языка программирования Python, которая предоставляет инструменты для разработки и применения различных алгоритмов машинного обучения, включая классификацию, регрессию, кластеризацию, снижение размерности и многое другое. Scikit-learn также предлагает функции для предобработки данных, оценки моделей и выбора наилучших параметров.
***
### Что делает лабораторная работа:
В лабораторной работе генерируются исходные данные (750 строк-наблюдений и 14 столбцов-признаков), задается зависимость для функции-выхода Y с использованием формулы регрессионной проблемы Фридмана, а также добавляется зависимость между признаками.
Далее создаются 4 модели (линейная регрессия, гребневая регрессия, лассо и линейная корреляция).
Для каждой модели происходит тренировка и оценка рангов признаков с помощью функции *rank_to_dict*.
Средние оценки признаков вычисляются при помощи функции *mean_ranks*.
Результатом работы являются оценки признаков для каждой из 4 моделей и средние оценки признаков, выведенные в консоль.
***
### Пример выходных данных:
**ОЦЕНКИ ПРИЗНАКОВ**
![](linear_regression.jpg)
![](ridge.jpg)
![](lasso.jpg)
![](f_regression.jpg)
**СРЕДНИЕ ОЦЕНКИ ПРИЗНАКОВ**
![](mean.jpg)
***
**Вывод**: результаты показали, что признаки "х4", "х1", "х2" и "х14" - это четыре самых важных признака по среднему значению, при этом признак "х14" был признан ошибочно значимым.
Модель *Лассо* выявила все значимые признаки (х1-х5), не взяв никакого лишнего.
Модель *Линейная регрессия* верно выявила значимость признаков *x1, x2, x3, х4*, но потеряла значимый признак *x5* и ошибочно включила признак *x11* в значимые.
Модель *Гребневая регрессия* верно выявила значимость признаков *x1, x2, x4, х5*, но потеряла значимый признак *x3* и ошибочно включила признак *x14* в значимые.
Модель *Линейная корреляция* верно выявила значимость признаков *x1, x2, x4*, но потеряла значимые признак *x3, х5* и ошибочно включила признаки *x12, х14* в значимые.