Примечание
Перейти в конец чтобы скачать полный пример кода или запустить этот пример в браузере через JupyterLite или Binder.
Построение коэффициентов Ridge как функции регуляризации#
Показывает влияние коллинеарности на коэффициенты оценщика.
Ridge В этом примере используется оценщик регрессии.
Каждый цвет представляет собой отдельный признак вектора коэффициентов, и он отображается как функция параметра регуляризации.
Этот пример также демонстрирует полезность применения Ridge-регрессии к сильно обусловленным матрицам. Для таких матриц небольшое изменение целевой переменной может вызвать огромные вариации в вычисленных весах. В таких случаях полезно установить определённую регуляризацию (alpha), чтобы уменьшить эту вариацию (шум).
Когда alpha очень велико, эффект регуляризации доминирует над функцией квадратичных потерь, и коэффициенты стремятся к нулю. В конце пути, когда alpha стремится к нулю и решение стремится к обычному методу наименьших квадратов, коэффициенты проявляют большие колебания. На практике необходимо настраивать alpha таким образом, чтобы поддерживать баланс между обоими.
# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause
import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model
# X is the 10x10 Hilbert matrix
X = 1.0 / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
y = np.ones(10)
Вычисляет пути#
n_alphas = 200
alphas = np.logspace(-10, -2, n_alphas)
coefs = []
for a in alphas:
ridge = linear_model.Ridge(alpha=a, fit_intercept=False)
ridge.fit(X, y)
coefs.append(ridge.coef_)
Отображение результатов#
ax = plt.gca()
ax.plot(alphas, coefs)
ax.set_xscale("log")
ax.set_xlim(ax.get_xlim()[::-1]) # reverse axis
plt.xlabel("alpha")
plt.ylabel("weights")
plt.title("Ridge Coefficients vs Regularization Strength (alpha)")
plt.axis("tight")
plt.legend(
[f"Feature {i + 1}" for i in range(X.shape[1])], loc="best", fontsize="small"
)
plt.show()

Общее время выполнения скрипта: (0 минут 0.310 секунд)
Связанные примеры
HuberRegressor против Ridge на наборе данных с сильными выбросами
Влияние регуляризации модели на ошибку обучения и тестирования
Распространённые ошибки в интерпретации коэффициентов линейных моделей