Ejemplo de Regresión Ridge con Scikit-Learn

Beginner

This tutorial is from open-source community. Access the source code

Introducción

Esta práctica demuestra cómo utilizar la Regresión Ridge para estimar los coeficientes colineales de un estimador. La Regresión Ridge es un tipo de regresión lineal que aplica regularización L2 al modelo.

En este ejemplo, generaremos una matriz de Hilbert de 10x10 y utilizaremos la Regresión Ridge para estimar los coeficientes de la matriz.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importar las bibliotecas necesarias

En este paso, importaremos las bibliotecas necesarias para este ejemplo.

import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model

Generar datos

En este paso, generaremos una matriz de Hilbert de 10x10 y estableceremos la variable objetivo y como un vector de unos.

X = 1.0 / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
y = np.ones(10)

Calcular las trayectorias de Regresión Ridge

En este paso, calcularemos las trayectorias de Regresión Ridge para diferentes valores de fuerza de regularización.

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_)

Visualizar los resultados

En este paso, visualizaremos los resultados de las trayectorias de Regresión Ridge.

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()

Resumen

En este laboratorio, demostramos cómo utilizar la Regresión Ridge para estimar los coeficientes colineales de un estimador. Generamos una matriz de Hilbert de 10x10 y utilizamos la Regresión Ridge para estimar los coeficientes de la matriz. Luego visualizamos los resultados de las trayectorias de la Regresión Ridge. La Regresión Ridge es útil para reducir la variación (ruido) en matrices altamente mal condicionadas. Al establecer una cierta fuerza de regularización, podemos equilibrar el efecto de la regularización y la función de pérdida al cuadrado.