IIS_2023_1/savenkov_alexander_lab_2/readme.md

60 lines
5.3 KiB
Markdown
Raw Normal View History

2023-10-12 15:29:03 +04:00
Общее задание:
Используя код из [1] (пункт «Решение задачи ранжирования признаков»,
стр. 205), выполните ранжирование признаков с помощью указанных по
варианту моделей. Отобразите получившиеся значения\оценки каждого
признака каждым методом\моделью и среднюю оценку. Проведите анализ
получившихся результатов. Какие четыре признака оказались самыми
45
важными по среднему значению? (Названия\индексы признаков и будут
ответом на задание).
Задание по вариантам 2 вариант (22), взял 2 т.к. всего 20 вариант задания:
2. Линейная регрессия (LinearRegression), Рекурсивное сокращение
признаков (Recursive Feature Elimination RFE), Сокращение признаков
Случайными деревьями (Random Forest Regressor)
Запуск приложения осуществляется запуском файла app.py
Использованные технологии:
Среда программирования Pycharm
Версия языка python: 3.11
Flask: Flask - это микрофреймворк для создания веб-приложений на языке Python. Он используется для создания веб-интерфейса и обработки HTTP-запросов и ответов.
scikit-learn: Scikit-learn - это библиотека для машинного обучения в Python. В вашей программе она используется для обучения моделей машинного обучения, таких как линейная регрессия, RFE и случайный лес, а также для выполнения ранжирования признаков.
NumPy: NumPy - это библиотека для научных вычислений в Python. Она используется для работы с массивами и матрицами данных.
Pandas: Pandas - это библиотека для анализа данных. Она используется для создания и обработки данных, включая таблицы и структуры данных.
MinMaxScaler: Это функция из библиотеки Scikit-learn, используемая для масштабирования оценок признаков в диапазоне [0, 1].
HTML и шаблоны Jinja2: HTML - это язык разметки для создания веб-страниц, а Jinja2 - это шаблонный движок для вставки данных в HTML-шаблоны.
HTTP и формы: Ваше приложение Flask обрабатывает HTTP-запросы и использует форму <form> для отправки данных при нажатии кнопки "Выполнить".
Краткое описание работы программы:
Сгенерированные данные: Программа создает случайные данные в виде матрицы X и вектора Y.
Обучение моделей: Обучаются три модели машинного обучения: линейная регрессия, RFE (рекурсивное исключение признаков) и случайные леса, используя сгенерированные данные.
Ранжирование признаков: Для каждой модели рассчитываются ранги признаков, отражающие их важность для прогнозирования целевой переменной Y.
Средний ранг: Вычисляется средний ранг для каждого признака на основе результатов всех трех моделей.
Вывод результатов: После нажатия кнопки "Выполнить" на веб-странице, программа отображает следующие результаты:
Ранги признаков для каждой модели (линейная регрессия, RFE, случайные леса).
Средний ранг признаков.
Значения признаков X.
Значения целевой переменной Y.
4 самых важных признака на основе среднего ранга (по названиям).
Пример входных данных:
Случайные данные в виде матрицы X и вектора Y.
Пример выходных данных:
Ранги признаков для каждой модели (линейная регрессия, RFE, случайные леса).
Средний ранг признаков.
Значения признаков X.
Значения целевой переменной Y.
4 самых важных признака на основе среднего ранга (по названиям).