
ГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Старший преподаватель |
|
|
|
В.В. Боженко |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3 |
РЕГРЕССИОННЫЙ АНАЛИЗ |
по курсу: ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. № |
4116 |
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Цель работы: изучение алгоритмов и методов регрессии на практике.
Вариант 1.
Ход работы
Часть 1. Простая линейная регрессия
Созданы два массива X1 и Y, для массива X1 использовался метод reshape(), который преобразует одномерный массив в двумерный. Для созданного объекта модели линейной регрессии выполняется метод fit(), который обучает модель на представленных данных (рисунок 1).
Рисунок 1- Создание массивов и обучение модели простой линейной регрессии
С помощью predict() выполняется предсказание значений для соответствующих значений X1, на основе обученной модели линейной регрессии. Создается датафрейм с актуальными и предсказанными значениями (рисунок 2).
Рисунок 2- Предсказание значений и создание датафрейма
В целом предсказанные значения близки к фактическим. Однако, некоторые предсказанные значения могут немного отличаться от фактических.
Для вычисления метрик качества регрессии, из библиотеки sklearn.metrics импортируются функции mean_squared_error, mean_absolute_error, mean_squared_error, r2_score. Функция mean_squared_error вычисляет среднеквадратичную ошибку (MSE) между фактическими и предсказанными значениями. Функция mean_absolute_error вычисляет среднюю абсолютную ошибку (MAE) между фактическими и предсказанными значениями. Root Mean Squared Error (RMSE) представляет собой стандартное отклонение ошибок модели, это квадратный корень из среднеквадратичной ошибки. Функция r2_score вычисляет коэффициент детерминации между фактическими значениями (y) и предсказанными значениями (y_prediction). R2- это мера того, насколько хорошо модель соответствует данным (рисунок 3).
Рисунок 3- Вычисление метрик
Значение MSE довольно низкое 0.6454, что свидетельствует о том, что среднеквадратичная ошибка предсказанных значений от фактических невелико и значение MAE также низкое 0.6012, значит качество модели хорошее. Значение RMSE равно 0.8034, что также является низким, указывая на хорошую точность модели. Значение R2 равное 0.9189 говорит о том, что примерно 91.89% дисперсии зависимой переменной (фактические значения) может быть объяснено моделью линейной регрессии с использованием предсказанных значений. Таким образом, модель хорошо соответствует данным, и оставшиеся 8.11% дисперсии могут быть связаны с другими факторами или случайностью. Обычно, чем ближе значение R2 к 1, тем лучше модель объясняет изменение зависимой переменной.
Были выведены коэффициенты a и b, где a- коэффициент наклона, b- коэффициент смещения. Coef выводит массив коэффициентов наклона для каждой независимой переменной, [0] используется для извлечения первого (и единственного) элемента этого массива. Intercept извлекает коэффициент смещения из обученной модели линейной регрессии (рисунок 4).
Рисунок 4- Вывод коэффициентов a и b
Для визуализации регрессии, создается массив regression_line, содержащий предсказанные значения Y на основе коэффициента a, переменной X1 и коэффициента смещения b. С помощью plot построена линия регрессии, где X1 - это значения независимой переменной, regression_line - соответствующие предсказанные значения. Scatter строит точечный график на основе X1 и Y значений (рисунок 5).
Рисунок 5- Визуализация регрессии
Далее создается график разницы между предсказанными и фактическими значениями. Scatter создает точечный график, по оси X отложены значения переменной X1, а по оси Y - разница между предсказанными и фактическими значениями. Аxhline добавляет горизонтальную линию на уровне y=0, которая указывает на нулевую разницу между предсказанными и фактическими значениями (рисунок 6).
Рисунок 6- График разницы между предсказанными и фактическими значениями
Точки выше линии указывают на случаи, где предсказанные значения были выше фактических, а точки ниже линии - на случаи, где предсказанные значения были ниже фактических. Из графика видно, что больше предсказанных значений, которые меньше, чем истинные.
Далее строится график, где линия- предсказанные значения, точки -фактические значения. Сравнение линии и точек на графике может помочь в оценке того, насколько модель соответствует фактическим данным. Если точки располагаются близко к линии, это может указывать на хорошее качество предсказания модели. Если есть значительное расхождение между линией и точками, это может свидетельствовать о несоответствии модели реальным данным (рисунок 7).
Рисунок 7- График с предсказанными и фактическими значениями
Из графика видно, что почти все точки располагаются близко к линии, что свидетельствует о хорошем качестве предсказания модели.