.. | ||
config.py | ||
dataset.py | ||
exp_1.png | ||
exp_2.png | ||
exp_3.png | ||
exp_4.png | ||
exp_console_1.png | ||
exp_console_2.png | ||
exp_console_3.png | ||
exp_console_4.png | ||
fit.py | ||
main.py | ||
ranks.py | ||
README.md |
Лабораторная работа №2
Ранжирование признаков
Как запустить лабораторную работу
- Установить python, numpy, sklearn
- Запустить команду
python main.py
в корне проекта
Использованные технологии
- Язык программирования
python
- Библиотеки
numpy, sklearn
- Среда разработки
PyCharm
Что делает программа?
Выполняет ранжирование 14 признаков для регрессионной проблемы Фридмана с помощью моделей:
- Лассо (Lasso)
- Рекурсивное сокращение признаков (Recursive Feature Elimination – RFE)
- Линейная корреляция (f_regression)
Было проведено несколько экспериментов с разными параметрами моделей, чтобы оценить их влияние на итоговый результат:
Тест 1
Тест 2
Тест 3
Тест 4
Первые 2 эксперимента выявили, что признаки x4, x2, x1, x5 оказались самыми важными по среднему значению.
Другие 2 эксперимента выявили, что признаки x4, x2, x1, x11 оказались самыми важными по среднему значению.
Так как мы изначально знаем, что от признаков x1, x2, x3, x4 зависит наша функция и x11, x12, x13, x14 соответсвенно зависят от них, то лучшим исходом будут эти признаки. Но ни один эксперимент не смог точно их выявить. Лучшими оказались эксперименты 3 и 4, так как в отличии от 1-го и 2-го они выявили ещё признак x11 вместо x5, который не влияет на нашу функцию вообще.
Из данных моделей лучше всего определила признаки модель Lasso с alpha=0.001