## Лабораторная работа 2. Вариант 5.
### Задание 
Выполнить ранжирование признаков. Отобразить получившиеся значения\оценки каждого признака каждым методом\моделью и среднюю оценку. Провести анализ получившихся результатов. Какие четыре признака оказались самыми важными по среднему значению? 

Модели:

- Гребневая регрессия `Ridge`, 
- Рекурсивное сокращение признаков `Recursive Feature Elimination – RFE`, 
- Сокращение признаков Случайными деревьями `Random Forest Regressor`

### Как запустить
Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать:
```
python main.py
```

### Используемые технологии
- `numpy` (псевдоним `np`): NumPy - это библиотека для научных вычислений в Python.
- `sklearn` (scikit-learn): Scikit-learn - это библиотека для машинного обучения и анализа данных в Python. Из данной библиотеки были использованы следующие модули:
  - `LinearRegression` - линейная регрессия - это алгоритм машинного обучения, используемый для задач бинарной классификации.
  - `Ridge` - инструмент работы с моделью "Гребневая регрессия"
  - `RFE` - инструмент оценки важности признаков "Рекурсивное сокращение признаков"
  - `RandomForestRegressor` - инструмент работы с моделью "Регрессор случайного леса"

### Описание работы
1. Программа генерирует данные для обучения моделей, содержащие матрицу признаков X и вектор целевой переменной y.
1. Создает DataFrame data, в котором столбцы представляют признаки, а последний столбец - целевую переменную.
1. Разделяет данные на матрицу признаков X и вектор целевой переменной y
1. Создает список обученных моделей для ранжирования признаков: гребневой регрессии, рекурсивного сокращения признаков и сокращения признаков случайными деревьями.
1. Создает словарь model_scores для хранения оценок каждой модели.
1. Выводит оценки признаков каждой модели и их средние оценки.
1. Находит четыре наиболее важных признака по средней оценке и выводит их индексы и значения.

### Результат работы
![](ridge.png "Гребневая регрессия")
![](rfe.png "Рекурсивное сокращение признаков")
![](rfr.png "Сокращение признаков Случайными деревьями")
![](res.png "Четыре самых важных")

### Вывод
Четыре наиболее важных признака, определенных на основе средних оценок, включают 
Признак 1, Признак 3, Признак 12 и Признак 6.