¿Qué es el Kernel Ridge Regression?

Autor: | Última modificación: 22 de diciembre de 2022 | Tiempo de Lectura: 2 minutos
Temas en este post: ,

Si has estado inmerso en el mundo del Big Data y el machine learning, seguro que has escuchado el término Kernel Ridge Regression. En este post te contaremos qué es y en qué consiste por medio de un ejercicio simple.

¿Qué es el Kernel Ridge Regression?

El KRR combina la regresión y la clasificación ridge con un truco del kernel. La forma del modelo aprendido por el KernelRidge es similar a la Support Vector Regression (SVR).

Kernel Ridge Regression: ejercicio

Veamos un ejemplo sencillo de Kernel Ridge Regression. En este caso, no es necesario que utilicemos un modelo de datos de alta dimensionalidad, basta con elegir adecuadamente los parámetros libres.

Vamos a trabajar con un ejemplo sintético:

#Ejercicio de Kernel Ridge Regression
N_train = 10
N_test = 100

#función verdadera g (x)
x = np.linspace (0, 1, N_test)
g_x = np.cos (1.5 * np.pi * x)

#proceso y
np.random.seed (0) #para asegurar reproducibilidad
epsilon = np.random.randn (N_test) * 0.2
y=g_x + epsilon

# Datos: D = {x_i, y_i}, obtenemos una muestra
idx = np.random.randint (0, N_test, N_train)
x_i = x [idx]
y_i = y [idx]

#dibuje la función g (x) y el conjunto de datos x_i, y_i
plt.legend ()
plt.show ()
Kernel Ridge Regression

El modelo se llama KernelRidge con un kernel rfb. No hacemos cross validation ni nada por el estilo, sino que hacemos el fit directamente, a ver qué pasa:

#Ejercicio de Kernel Ridge Regression
from sklearn.kernel ridge import KernelRidge

#datos
x_train = x_i.reshape (-1, 1)
y_train = y_i
X_test = x.reshape (-1, 1)

#definimos modelo
kRidge = KernelRidge (kernel = 'rbf', gamma = 10, alpha = 0.1)
kRidge.fit (x_train, y_train)

#predicción
y_hat = kRidge.predict (x_test)

#error test
error_test = np.mean (np.power (y - y_hat, 2))

#representamos
plt.plot (x, g_x, 'r', label= '$y$')
plt.plot (x_i, y_i, 'b.', label = '$y_i$')
plt.plot (x, y_hat, 'g', label = '$\hat {y} $')
plt.title ('MSE: %.2f'% error_test)
plt.legend ()
plt.xlim ((0, 1))
plt.ylim((-2, 2))
plt.show ()
¿Qué es el Kernel Ridge Regression? 1

Igual que siempre, si variamos el gamma y el alpha, las cosas cambian:

#definimos modelo
kRidge = KernelRidge (kernel = 'rbf', gamma = 1, alpha = 1)
kRidge.fit (x_train, y_train)
¿Qué es el Kernel Ridge Regression? 2

¿Qué sigue?

El Big Data es una de las áreas en las que más trabajos se ofertan. Si quieres ser uno de los afortunados que pueda acceder a este tipo de opciones laborales, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que adquirirás todos los conocimientos teóricos y prácticos que te permitirán obtener el trabajo de tus sueños. ¡No esperes más para seguir tu camino hacia el éxito y solicita información ahora!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.