
Лабораторная 5 (индивидуальная) / Уд_лаб5
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Математическая кибернетика и информационные технологии»
Дисциплина «Управление данными»
Отчет по лабораторной работе 5
Выполнил:
студент группы БСТ21
Проверила: Тимофеева А. И.
Москва, 2024 г.
Содержание
Вывод 12
Цель работы 3
Ход выполнения 3
Цель работы
На основе прошлых лабораторных работ обучить модель машинного обучения на датасете, спрогнозировать результат.
Ход выполнения
В данном примере модель предсказывает медианную стоимость дома в Калифорнии (median_house_value) на основе следующих признаков:
* Долгота (longitude)
* Широта (latitude)
* Медианный возраст жилья (housing_median_age)
* Общее количество комнат (total_rooms)
* Общее количество спален (total_bedrooms)
* Численность населения (population)
* Количество домохозяйств (households)
* Медианный доход домохозяйства (median_income)
* Наличие океана поблизости (ocean_proximity)
Модель обучается на данных о домах в Калифорнии и может использоваться для предсказания медианной стоимости дома в новом, ранее невиданном районе на основе его измеренных признаков.
Столбец `ocean_proximity` является фиктивным признаком, который указывает на близость дома к океану. Он имеет следующие возможные значения:
* `<1H OCEAN`
* `INLAND`
* `ISLAND`
* `NEAR BAY`
* `NEAR OCEAN`
Эти значения указывают на различные уровни близости к океану, и модель может учитывать их при прогнозировании медианной стоимости дома.
На рисунке
1 импоритурю библиотеки для работы с
датафреймами и считываю данные из
датасета.
Рис.1 – Импорт библиотеки, чтение датасета и вывод первых пяти строк
На рисунке 2 представлена информация по датасету. Вывожу информацию о датасете(какие есть столбцы, сколько не пустых значений, какой тип данных) и вывожу описательную статистику(количество, среднее, медиану и др. парметры по каждому столбцу).
Рис.2 – Статистическая информация о датасете
На рисунке 3 вывожу размер датасета первое число в выводе — это количество строк, второе число количество столбцов). А также стою гистограмму по распределению среднего возраста домов.
Рис.3 – Вывод размерности датасета и гистограммы распределения среднего возраста домов
На рисунке 4 представлена проверка на пропущенные значения. В случае, если у нас имеются пропущенные значения, произвожу замену на медиану. Для этого нахожу медиану и заполняю пропущенные ячейки. Медианой заполняю, так как так как среднее значение может быть искажено выбросами (крайними значениями).
Количество кроватей обычно является целым числом, поэтому выбросы могут существенно повлиять на среднее значение. Медиана же менее чувствительна к выбросам, поскольку представляет собой среднее значение значений, находящихся в середине распределения.
После заполнения медианой, повторяю проверку на пропущенные значения, чтобы убедиться, что все ячейки датасета заполнены.
Рис.4 – Проверка на пропущенные значения и замена их на медиану
На рисунке 5 мы преобразуем в дамми переменные значения столбца ocean_proximity. Сначала я вывожу уникальные значения слобца ocean_proximity. Этот столбец содержит в себе категориальные данные, которые показывают близость дома к океану. Их я преобразовываю в дамми переменные(будут заполнены 0 и 1). Это преобразование помогут нам для обучения на модель ML.
Рис.5 – Преобразование дамми переменных
На рисунке 6 я строю матрицу корреляций размером 12 на 8. Также я хочу отфильтровать признаки с низкой корреляцией (будем считать никой коркеляцией значение 0.5).
Рис.6 – Выводим таблицу корреляции
На рисунке 7 нахожу Information Gain по каждому признаку. Information gain (или информационный прирост) - это мера, используемая в теории информации и машинном обучении, которая измеряет, насколько хорошо атрибут (переменная) позволяет отличить примеры разных классов.
Данная процедура поможет нам отобрать признаки, которые несут больше информации для обучения будущих моделей. Основным критерием будет, чтобы признак нес прирост больше 0.01
Рис.7 – Расчет information gain
Мы видим, что только признак ocean_proximity_ISLAND имеет нулевой прирост, поэтому его мы брать не будем.
На рисунке 8 разбиваем данные на тренировачные и тестовые и делаем кросс валидацию. Кросс-валидация используется в машинном обучении для оценки производительности модели на новых, невидимых данных. Она помогает предотвратить переобучение и дает более надежную оценку точности модели.
В этом коде мы используем перекрёстную проверку для поиска оптимальных гиперпараметров для модели RandomForestRegressor.
Random Forest Regressor - это алгоритм машинного обучения, который создаёт множество деревьев решений и объединяет их предсказания для получения конечного предсказания. Каждый из деревьев решений строится на случайной выборке признаков и данных, что помогает уменьшить переобучение и улучшить общую производительность.
* max_depth контролирует максимальную глубину деревьев в лесу. Значения 5, 10 и 15 - это разумный диапазон для поиска оптимальной глубины.
* min_samples_split
контролирует минимальное количество
образцов, необходимое для разделения
узла. Значения 2, 5 и 10 - это разумный
диапазон для поиска оптимального
значения.
Рис.8 – Обучение модели RF на тренировочные выборки
RMSE и R^2 являются взаимодополняющими метриками, которые предоставляют различную информацию о точности модели. RMSE измеряет абсолютную ошибку модели, в то время как R^2 измеряет, насколько хорошо модель объясняет вариативность целевой переменной.
При оценке точности регрессионной модели следует учитывать, как RMSE, так и R^2. Модель с низким RMSE и высоким R^2 обычно указывает на хорошую модель, которая делает точные предсказания и хорошо объясняет вариативность целевой переменной.
Ошибка среднеквадратичного отклонения (RMSE) - это метрика, которая измеряет разницу между предсказанными и фактическими значениями в регрессионной модели. Она рассчитывается как квадратный корень из средней квадратической ошибки (MSE), которая является суммой квадратов разностей между предсказанными и фактическими значениями, деленной на количество наблюдений.
Коэффициент детерминации (R^2) - это метрика, которая измеряет, насколько хорошо модель объясняет вариативность целевой переменной. Он рассчитывается как квадрат коэффициента корреляции между предсказанными и фактическими значениями.
R^2 принимает значения от 0 до 1, где 0 означает, что модель не объясняет никакой вариативности целевой переменной, а 1 означает, что модель идеально объясняет всю вариативность. Более высокие значения R^2 указывают на более точную модель.
Рис.9 – Обучение модели RF на тестовых данных
Gradient Boosting Regressor - это еще один алгоритм машинного обучения, который также создает несколько деревьев решений. Однако, в отличие от Random Forest Regressor, деревья в Gradient Boosting Regressor строятся последовательно, при этом каждый последующий дерево пытается исправить ошибки предыдущих деревьев.
Рис.10 - Обучение модели Gradient Boosting на тестовых данных
Вывод
Был исследован датасет с данными, применены 2 модели машинного обучения и оценены их точности. Были обучены две модели: Random Forest Regressor и Gradient Boosting Regressor. Обе модели прошли заданный порог точности 0.75. Более точная модель - Gradient Boosting Regressor. Для данной задачи обучаемость этой модели составила 0.827, а обучаемость Random Forest Regressor составила 0.812