- •Линейная регрессия:
- •Загрузите набор данных соответствующей цифре вашего варианта. Убедитесь, что загрузка прошла корректно.
- •Проведите линейную регрессию используя LinearRegression. Получите коэффициенты регрессии и объясните полученные результаты.
- •Нелинейная регрессия:
- •Загрузите набор данных соответствующей букве вашего варианта. Убедитесь, что загрузка прошла корректно.
- •Используя train_test_split разбейте выборку на обучающую и тестовую. Проверьте, что тестовая выборка соответствует обучающей.
- •Проверьте работу стандартной линейной регрессии на загруженных данных. Постройте диаграмму рассеяния данных с выделенной полученной линией регрессии. Объясните полученный результат.
- •Для выбранной степени полинома, рассчитайте и проанализируйте полученные коэффициенты. Рассчитай значение метрик коэффициент детерминации, mape, mae.
- •Для выбранной степени полинома, постройте диаграмму рассеяния данных с линией, соответствующей полученному полиному. Сделайте выводы о качестве аппроксимации.
Для выбранной степени полинома, постройте диаграмму рассеяния данных с линией, соответствующей полученному полиному. Сделайте выводы о качестве аппроксимации.
Сначала на модели предсказываются значения линии регрессии с помощью метода predict. Далее на диаграмме синим цветом отображается обучающая выборка, красным цветом – тестовая, черным цветом – линия регрессии. Далее добавляются подписи осей, легенда и сетка. В конце выводится диаграмма. Реализация представлена в Листинге 2.6.1. Диаграмма изображена на Рисунке 2.6.2.
Листинг 2.6.1 – Реализация построения диаграммы рассеяния
x_poly = np.linspace(X.min(), X.max(), 300).reshape(-1, 1) y_poly = model.predict(poly.transform(x_poly))
plt.figure(figsize=(10, 6)) plt.scatter(X_train, y_train, color='blue', s=20, label='train') plt.scatter(X_test, y_test, color='red', s=20, label='test', alpha=0.7) plt.plot(x_poly, y_poly, color='black', linewidth=2, label='polynomial regression line') plt.xlabel('x') plt.ylabel('y') plt.legend() plt.grid() plt.show() |
Рисунок 2.6.2 – Диаграмма рассеяния для 5 степени полинома
По диаграмме видно, что линия, построенная моделью, хорошо аппроксимирует данные и проходит близко к точкам, то есть 5 степень полинома достаточно хорошо моделирует зависимость между признаками.
Вывод.
В ходе работы были изучены методы линейной и полиномиальной регрессии, их применение для аппроксимации данных, анализа качества моделей. Для объективной оценки производительности методов использовался комплекс метрик, включающий коэффициент детерминации R², среднюю абсолютную ошибку MAE и относительную ошибку MAPE на обучающих и тренировочных наборах.
У линейной регрессии, модель продемонстрировала высокую точность с коэффициентом детерминации 0.99 как на обучающей, так и на тестовой выборках. Это свидетельствует о том, что модель хорошо описывает линейную зависимость в данных и обладает отличной обобщающей способностью.
У нелинейной регрессии, было установлено, что полиномиальная регрессия 5 степени обеспечивает наилучшую аппроксимацию данных. Модель показала высокие значения коэффициента детерминации (0.94 для обучающей и 0.93 тестовой выборках), а также достаточно высокие ошибки (MAE ≈ 2, MAPE ≈ 104% для обучающей и 69% для тестовой выборки). Анализ коэффициентов полинома подтвердил значительный вклад старших степеней, что подчеркивает важность учета нелинейных зависимостей в данных.
