Введение
В этом лабораторном занятии мы будем использовать библиотеку Python scikit - learn для исследования различий между Ordinary Least Squares (OLS) и Ridge Regression. Мы изучим, как эти два метода линейной регрессии справляются с шумом в данных и в чем они различаются в своих прогнозах.
Советы по работе с ВМ
После завершения запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится полностью. Валидация операций не может быть автоматизирована из - за ограничений в Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
В этом шаге мы импортируем необходимые библиотеки Python.
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
Создание данных
В этом шаге мы создадим данные, которые будем использовать для анализа.
X_train = np.c_[0.5, 1].T
y_train = [0.5, 1]
X_test = np.c_[0, 2].T
Определение классификаторов
В этом шаге мы определим классификаторы OLS и Ridge Regression.
classifiers = dict(
ols=linear_model.LinearRegression(), ridge=linear_model.Ridge(alpha=0.1)
)
Визуализация результатов
В этом шаге мы визуализируем результаты нашего анализа.
for name, clf in classifiers.items():
fig, ax = plt.subplots(figsize=(4, 3))
for _ in range(6):
this_X = 0.1 * np.random.normal(size=(2, 1)) + X_train
clf.fit(this_X, y_train)
ax.plot(X_test, clf.predict(X_test), color="gray")
ax.scatter(this_X, y_train, s=3, c="gray", marker="o", zorder=10)
clf.fit(X_train, y_train)
ax.plot(X_test, clf.predict(X_test), linewidth=2, color="blue")
ax.scatter(X_train, y_train, s=30, c="red", marker="+", zorder=10)
ax.set_title(name)
ax.set_xlim(0, 2)
ax.set_ylim((0, 1.6))
ax.set_xlabel("X")
ax.set_ylabel("y")
fig.tight_layout()
plt.show()
Резюме
В этом практическом занятии мы узнали, как использовать библиотеку Python scikit - learn для исследования различий между Ordinary Least Squares (OLS) и Ridge Regression. Мы увидели, как эти два метода линейной регрессии справляются с шумом в данных и как они различаются в своих прогнозах. Мы также визуализировали результаты нашего анализа.