Spec-Zone.ru › scikit-learn

Примечание

Перейти к концу для скачивания полного примера кода. или для запуска этого примера в вашем браузере через JupyterLite или Binder

График коэффициентов регрессии Риджа в зависимости от регуляризации

Демонстрирует влияние коллинеарности на коэффициенты оценщика.

Ridge Регрессия используется в этом примере. Каждый цвет представляет собой другой признак вектора коэффициентов, и это отображается в зависимости от параметра регуляризации.

Этот пример также демонстрирует полезность применения регрессии Риджа к сильно плохо обусловленным матрицам. Для таких матриц небольшое изменение целевой переменной может вызвать большие изменения в вычисленных весах. В таких случаях полезно установить определенную регуляризацию (альфа), чтобы уменьшить эту вариацию (шум).

Когда альфа очень велика, эффект регуляризации доминирует над функцией квадратичной ошибки, и коэффициенты стремятся к нулю. В конце пути, когда альфа стремится к нулю, а решение стремится к обычным наименьшим квадратам, коэффициенты демонстрируют большие колебания. На практике необходимо настроить альфа таким образом, чтобы поддерживался баланс между обоими.

# 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 as a function of the regularization")
plt.axis("tight")
plt.show()
Ridge coefficients as a function of the regularization

Общее время выполнения скрипта: (0 минут 0.355 секунд)

Launch binder
Launch JupyterLite

Download Jupyter notebook: plot_ridge_path.ipynb

Download Python source code: plot_ridge_path.py

Download zipped: plot_ridge_path.zip

Связанные примеры

Коэффициенты Риджа как функция L2-регуляризации

Влияние регуляризации модели на ошибку обучения и тестирования

Распространённые ошибки в интерпретации коэффициентов линейных моделей

HuberRegressor против Ridge на наборе данных с сильными выбросами

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/auto_examples/linear_model/plot_ridge_path.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API