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
|
|||
|
|