61 lines
4.2 KiB
Markdown
61 lines
4.2 KiB
Markdown
# Лабораторная 2
|
||
## Вариант 9
|
||
|
||
## Задание
|
||
Выполните ранжирование признаков с помощью указанных по вариантумоделей. Отобразите получившиеся значения\оценки каждого признака каждым методом\моделью и среднюю оценку. Проведите анализ получившихся результатов.
|
||
## Модели
|
||
|
||
- Лассо (Lasso)
|
||
- Сокращение признаков Случайными деревьями (Random Forest Regressor)
|
||
- Линейная корреляция (f_regression)
|
||
|
||
## Описание Программы
|
||
Данная программа решает задачу ранжирования признаков в задаче регрессии, используя три различные модели: Lasso, случайные деревья (Random Forest) и линейную корреляцию (f_regression). Каждая модель ранжирует признаки в соответствии с их важностью, а затем производится вычисление среднего ранжирования для каждого признака на основе результатов всех моделей.
|
||
|
||
|
||
### Используемые библиотеки
|
||
- `numpy`: Для работы с массивами и вычислений.
|
||
- `scikit-learn`: Библиотека машинного обучения для реализации моделей регрессии и методов ранжирования признаков.
|
||
|
||
### Шаги программы
|
||
|
||
Исходные данные: Генерация случайных данных для задачи регрессии, состоящей из 750 строк и 14 признаков.
|
||
|
||
Модели:
|
||
|
||
Lasso: Применение линейной модели Lasso с параметром альфа равным 0.05.
|
||
Random Forest: Использование ансамбля случайных деревьев с 100 деревьями.
|
||
Линейная корреляция (f_regression): Расчет коэффициентов корреляции между признаками и целевой переменной.
|
||
Ранжирование признаков:
|
||
|
||
Каждая модель ранжирует признаки в соответствии с их важностью.
|
||
Используется MinMaxScaler для нормализации значений рангов.
|
||
Среднее ранжирование:
|
||
|
||
Для каждого признака рассчитывается среднее значение его ранга по всем моделям.
|
||
Вывод результатов:
|
||
|
||
Выводится среднее ранжирование для каждого признака.
|
||
Показываются результаты ранжирования для каждой модели.
|
||
Выводится топ-4 признака с их значениями на основе среднего ранжирования.
|
||
|
||
### Запуск программы
|
||
- Склонировать или скачать код `main.py`.
|
||
- Запустите файл в среде, поддерживающей выполнение Python. `python main.py`
|
||
|
||
### Результаты
|
||
- Lasso
|
||
{'x1': 0.69, 'x2': 0.72, 'x3': 0.0, 'x4': 1.0, 'x5': 0.29, 'x6': 0.0, 'x7': 0.0, 'x8': 0.0, 'x9': 0.0, 'x10': 0.0, 'x11': 0.0, 'x12': 0.0, 'x13': 0.0, 'x14': 0.0}
|
||
- Random Forest
|
||
{'x1': 0.66, 'x2': 0.76, 'x3': 0.1, 'x4': 0.55, 'x5': 0.23, 'x6': 0.0, 'x7': 0.01, 'x8': 0.0, 'x9': 0.0, 'x10': 0.0, 'x11': 0.29, 'x12': 0.28, 'x13': 0.09, 'x14': 1.0}
|
||
- Correlation
|
||
{'x1': 0.3, 'x2': 0.45, 'x3': 0.0, 'x4': 1.0, 'x5': 0.04, 'x6': 0.0, 'x7': 0.01, 'x8': 0.02, 'x9': 0.01, 'x10': 0.0, 'x11': 0.29, 'x12': 0.44, 'x13': 0.0, 'x14': 0.98}
|
||
- Среднее
|
||
{'x1': 0.55, 'x2': 0.64, 'x3': 0.03, 'x4': 0.85, 'x5': 0.19, 'x6': 0.0, 'x7': 0.01, 'x8': 0.01, 'x9': 0.0, 'x10': 0.0, 'x11': 0.19, 'x12': 0.24, 'x13': 0.03, 'x14': 0.66}
|
||
- Топ 4 признака с их значениями на основе среднего ранжирования:
|
||
1. **x4:** 0.85
|
||
2. **x14:** 0.66
|
||
3. **x2:** 0.64
|
||
4. **x1:** 0.55
|
||
|