Часть 2. Множественная линейная регрессия
Массивы X1 и X2 объединены в массив формы (10, 2). С помощью fit(), модель обучена множественной линейной регрессии, которая зависит от двух предикторов х (рисунок 8).
Рисунок 8- Создание массива и обучение модели множественной регрессии
Затем выполнялось предсказание с использованием predict(), создавался датафрем с фактическими и предсказанными значениями (рисунок 9).
Рисунок 9- Выполнение предсказания для модели множественной линейной регрессии и создание датафрейма
На основе предоставленных фактических и предсказанных значений можно сделать вывод, что модель множественной линейной регрессии достаточно хорошо справляется с предсказанием. Предсказанные значения довольно близки к фактическим, что подтверждается небольшими различиями между ними.
Как и для простой линейной регрессии, подсчитывались метрики качества регрессии (MSE, MAE, RMSE, R2) (рисунок 10).
Рисунок 10- Вычисление метрик для модели множественной линейной регрессии
MSE довольно низкое, что говорит о том, что модель хорошо предсказывает значения целевой переменной. MAE - средняя абсолютная ошибка также низкая, что подтверждает хорошее качество предсказаний. RMSE также небольшой, что указывает на точность модели. R2 к 1, что говорит о том, что модель объясняет большую часть дисперсии зависимой переменной.
Выведены коэффициенты a и b, где a- коэффициент наклона, b- коэффициент смещения (рисунок 11).
Рисунок 11- Вывод коэффициентов для модели множественной линейной регрессии
Построен график, на котором по оси X отложены индексы точек данных, по оси Y разница между предсказанными и истинными значениями. Горизонтальная линия отображает нулевую разницу между значениями (рисунок 12).
Рисунок 12- График с разницей предсказанного и истинного значения для множественной линейной регрессии
Из графика видно, что больше предсказанных значений, которые меньше, чем истинные.
Часть 3. Полиномиальная регрессия
Для реализации модели полиномиальной регрессии импортирована PolynomialFeatures. Выбрана степень полинома 3. Создается объект, который добавляет полиномиальные признаки до заданной степени (в данном случае, степени 3). Метод fit_transform принимает входные данные и преобразует их с использованием полиномиальных признаков. Создается model3- объект модели линейной регрессии. Fit() обучает модель на полиномиальных признаках X_poly и целевой переменной Y.
Рисунок 13- Создание и обучение модели полиномиальной регрессии
Выполнено предсказание, и все предсказанные значения выведены на экран (рисунок 14).
Рисунок 14- Вывод предсказанных значений модели полиномиальной регрессии со степенью полинома 2
Вычислены средняя абсолютная ошибка (MAE) между фактическими и предсказанными значениями и коэффициент детерминации между фактическими значениями (y) и предсказанными значениями (y3_prediction) (рисунок 15).
Рисунок 15- Вычисление метрик для модели полиномиальной регрессии со степенью полинома 2
Значение MAE, равное примерно 3.81, означает, что в среднем предсказанные значения отклоняются от фактических на примерно 3.81 единицу измерения зависимой переменной. Чем меньше значение MAE, тем лучше, поскольку это указывает на более точные предсказания модели. Значение R2, равное примерно 0.99, говорит о том, что модель полиномиальной регрессии хорошо соответствует данным и объясняет большую часть дисперсии в зависимой переменной. Это хороший показатель точности модели.
Для визуализации регрессии, с помощью scatter показаны истинные значения, с помощью plot линия, которая представляет собой предсказанные значения для каждого значения X на основе обученной модели полиномиальной регрессии. Визуализация помогает сравнить, насколько хорошо модель соответствует данным (рисунок 16).
Рисунок 16- Визуализация модели полиномиальной регрессии со степенью полинома 2
Исходя из графика, можно сказать, что предсказанные значения близки к истинным значениям, но через некоторые точки линия не проходит.
Далее создается объект модели полиномиальной регрессии со степенью полинома равной 6 (рисунок 17).
Рисунок 17-Создание и обучение модели полиномиальной регрессии со степенью полинома 6.
Выполнено предсказание, и все предсказанные значения выведены на экран (рисунок 18).
Рисунок 18- Вывод предсказанных значений модели полиномиальной регрессии со степенью полинома 6
Вычислены метрики (рисунок 19).
Рисунок 19- Вычисление метрик для модели полиномиальной регрессии со степенью полинома 6
Значение MAE заметно уменьшилось, что указывает на более точные предсказания модели. Значение R2 увеличилось, значит модель полиноминальной регрессии лучше соответствует данным.
Выполнена визуализация регрессии со степенью полинома 6 (рисунок 20).
Рисунок 20- Визуализация модели полиномиальной регрессии со степенью полинома 6
Из графика видно, что качество предсказания модели улучшилось, линия проходит почти через все точки.
Создан объект модели полиномиальной регрессии со степенью полинома равной 12 (рисунок 21).
Рисунок 21- Создание и обучение модели полиномиальной регрессии со степенью полинома 12
Предсказаны значения и выведены на экран (рисунок 22).
Рисунок 22- Вывод предсказанных значений модели полиномиальной регрессии со степенью полинома 12
Вычислены метрики MAE и R2 (рисунок 23).
Рисунок 23- Вычисление метрик для модели полиномиальной регрессии со степенью полинома 6
MAE очень близко к нулю, что означает, что средняя абсолютная ошибка между фактическими и предсказанными значениями практически нулевое. R2 равен 1.0, что говорит о том, что модель объясняет 100% дисперсии данных.
Такие результаты могут быть признаком того, что модель полиномиальной регрессии хорошо подходит для данных.
Выполнена визуализация регрессии со степенью полинома 12 (рисунок 24).
Рисунок 24- Визуализация модели полиномиальной регрессии со степенью полинома 12
График показывает, что качество предсказания модели отличное, модель предсказывает значения без отклонений.
Реализован график, с истинными данными и трем моделями полиномиальной регрессии разных степеней (рисунок 25).
Рисунок 25- График с тремя моделями полиномиальной регрессии разных степеней
Можно подвести вывод, что чем больше степень полинома для модели, тем больше предсказанные значения похожи на истинные. Значит, полиномы более высокой степени способны идеально подстроиться под каждую точку обучающего набора данных, что может привести к переобучению. Для предотвращения переобучения важно внимательно подбирать степень полинома. Возможно, лучше рассматривать модель с более низкой степенью, которая будет лучше обобщаться на новые данные.
