Regresión de cresta en Sklearn

Regresión de cresta en Sklearn
La regresión de Ridge es una técnica en el aprendizaje automático para regularizar los datos utilizados para realizar la regresión lineal. Es una optimización de la regresión lineal simple. En este artículo, vamos a discutir sobre la regresión de Ride Ridge, sus ventajas, los problemas que resolvió y su implementación en Sklearn.

¿Qué es la regresión de la cresta??

Para aumentar la precisión de la predicción, la técnica estadística conocida como regresión de cresta reduce la magnitud de las estimaciones de parámetros. Funciona especialmente bien si su conjunto de datos contiene columnas correlacionadas que intenta usar como entradas (variables independientes) en modelos de regresión, pero ninguno de sus modelos produjo resultados muy precisos. En otras palabras, la regresión de Ridge es una técnica de ajuste de modelo que se utiliza para cualquier análisis de datos multicolineales. Los datos se someten a la regularización de L2 utilizando este método.

La función de costo para la regresión de la cresta es:

Min (|| y - x (theta) ||^2 + λ || theta ||^2)

¿Qué es la multicolinealidad??

El concepto de multicolinealidad se basa en la investigación estadística. Justo cuando sus variables independientes tienen un grado significativo de correlación. La colinealidad no afecta directamente la variable de respuesta; Más bien, se refiere a las interacciones entre las variables o características predictoras. Las estimaciones de los coeficientes de regresión pueden ser inexactas como resultado de la multicolinealidad. Potencialmente puede aumentar los errores estándar del coeficiente de regresión y disminuir la efectividad de cualquier prueba t. La multicolinealidad puede proporcionar resultados engañosos y valores p, aumentando la redundancia del modelo y reduciendo la efectividad y confiabilidad de la previsibilidad.

Ventajas de la regresión de la cresta

  • Guarda contra el modelo que se vuelve sobrefit.
  • No requiere estimadores objetivos.
  • Solo existe una pequeña cantidad de sesgo, lo que permite que las estimaciones sean una aproximación bastante precisa de los números de población genuinos.
  • Cuando hay multicolinealidad, el estimador de cresta es bastante útil para mejorar la estimación de mínimos cuadrados.

Implementación de la regresión de cresta en Sklearn

Importar requiere las siguientes bibliotecas:

de Sklearn.lineal_model import cridge
importar numpy como np

Crea el conjunto de datos usando el siguiente comando:

n_samples, n_features = 20, 4
datos = np.aleatorio.RandomState (0)
y = datos.Randn (n_samples)
X = datos.Randn (n_samples, n_features)
Imprimir ('Las características son', x)
Imprimir ('Las etiquetas son', y)

Producción:

Las características son [[-2.55298982 0.6536186 0.8644362 -0.74216502]
[2.26975462 -1.45436567 0.04575852 -0.18718385]
[1.53277921 1.46935877 0.15494743 0.37816252]
[-0.88778575 -1.98079647 -0.34791215 0.15634897]
[1.23029068 1.20237985 -0.38732682 -0.30230275]
[-1.04855297 -1.42001794 -1.70627019 1.9507754]
[-0.50965218 -0.4380743 -1.25279536 0.77749036]
[-1.61389785 -0.21274028 -0.89546656 0.3869025]
[-0.51080514 -1.18063218 -0.02818223 0.42833187]
[0.06651722 0.3024719 -0.63432209 -0.36274117]
[-0.67246045 -0.35955316 -0.81314628 -1.7262826]
[0.17742614 -0.40178094 -1.63019835 0.46278226]
[-0.90729836 0.0519454 0.72909056 0.12898291]
[1.13940068 -1.23482582 0.40234164 -0.68481009]
[-0.87079715 -0.57884966 -0.31155253 0.05616534]
[-1.16514984 0.90082649 0.46566244 -1.53624369]
[1.48825219 1.89588918 1.17877957 -0.17992484]
[-1.07075262 1.05445173 -0.40317695 1.22244507]
[0.20827498 0.97663904 0.3563664 0.70657317]
[0.01050002 1.78587049 0.12691209 0.40198936]]
Las etiquetas son [1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788
0.95008842 -0.15135721 -0.10321885 0.4105985 0.14404357 1.45427351
0.76103773 0.12167502 0.44386323 0.33367433 1.49407907 -0.20515826
0.3130677 -0.85409574]

Creando y ajustando el modelo:

modelo = Ridge (alfa = 1.0)
modelo.Fit (x, y)

Conclusión

Discutimos el modelo de regresión de cresta en el aprendizaje automático que se utiliza para realizar la regularización de L2 en los datos para evitar el sobreajuste. Es una versión avanzada de una regresión lineal simple. También discutimos su implementación utilizando sklearn.