IIS_2023_1/savenkov_alexander_lab_2/readme.md

60 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Общее задание:
Используя код из [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 самых важных признака на основе среднего ранга (по названиям).