IIS_2023_1/degtyarev_mikhail_lab_2
2023-12-03 15:05:18 +04:00
..
main.py degtyarev_mikhail_lab_2_is_ready 2023-12-03 15:05:18 +04:00
Readme.md degtyarev_mikhail_lab_2_is_ready 2023-12-03 15:05:18 +04:00

Лабораторная 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