Una guía práctica sobre la regresión de crestas para la selección de funciones

Estás leyendo la publicación: Una guía práctica sobre la regresión de crestas para la selección de funciones

En el aprendizaje automático, la ingeniería de características es un paso importante que determina el nivel de importancia de cualquier característica de los datos. En uno de nuestros artículos, hemos visto que la regresión de crestas se usa para eliminar el sobreajuste, que también se puede reducir ajustando el modelo solo con características importantes. La regresión de cresta también puede ayudarnos en la selección de características para descubrir las características importantes requeridas para fines de modelado. En este artículo, vamos a discutir la regresión de crestas para la selección de funciones. Los puntos principales que se discutirán en el artículo se enumeran a continuación.

Tabla de contenido

  1. ¿Qué es la regresión de cresta?
  2. ¿Por qué la regresión de crestas para la selección de características?
  3. Implementando la regresión de Ridge para la selección de características

Comencemos con la comprensión de la regresión de la cresta.

¿Qué es la regresión de cresta?

Podemos considerar la regresión de crestas como una forma o método para estimar el coeficiente de los modelos de regresión múltiple. Encontramos principalmente el requisito de regresión de cresta donde las variables en los datos están altamente correlacionadas. También podemos pensar en la regresión de cresta como una posible solución a la imprecisión de LSE (estimador de mínimos cuadrados) donde las variables independientes de cualquier modelo de regresión lineal están altamente correlacionadas.

Convierte LSE en un estimador de regresión de cresta. Usando esto, podemos obtener una estimación más precisa porque proporciona una varianza más pequeña y el estimador cuadrático medio. Esta regresión también se denomina regularización L2 que utiliza la reducción de los valores de los datos. Veamos por qué podemos usar la regresión de crestas para la selección de características.

🔥 Recomendado:  Complementos de encubrimiento de enlaces de afiliados para WordPress para ver en...

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.

¿Por qué la regresión de crestas para la selección de características?

Una de las cosas más importantes de la regresión de crestas es que, sin desperdiciar información sobre predicciones, trata de determinar variables que tienen exactamente cero efectos. La regresión de cresta es popular porque utiliza la regularización para hacer predicciones y la regularización tiene como objetivo resolver el problema del sobreajuste. Principalmente encontramos que el sobreajuste es donde el tamaño de los datos es muy grande y la regresión de cresta funciona al penalizar el coeficiente de características y también minimiza los errores en la predicción.

Hablando de los otros métodos de importancia de características, anulan directamente el efecto de las características menos competentes. Si creemos que algunos de los coeficientes tienen un efecto nulo al usar la regresión de cresta, podemos construir un mejor modelo al proporcionar priorizaciones bayesianas para los coeficientes de regresión. Por ejemplo, si sabemos que alguno de los coeficientes tiene un efecto cero pero no sabemos cuál lo tiene, entonces podemos usar un a priori con una cresta para conocer el efecto de cada coeficiente. Veamos cómo podemos implementar ridge para la selección de características.

Implementando la regresión de Ridge para la selección de características

Importación de bibliotecas

importar numpy como np importar matplotlib.pyplot como plt de sklearn.datasets importar make_classification de sklearn.linear_model importar LogisticRegression, Ridge

Hacer conjunto de datos

X, y = make_classification(n_samples=3000, n_features=10, n_informative=5, random_state=1) X.shape, y.shape

Producción:

En lo anterior, hemos hecho una clasificación de datos que tiene 10 características y 3000 valores.

🔥 Recomendado:  ¿Deberíamos llamar a Rust un lenguaje de programación fallido?

Graficando algunos datos

plt.dispersión(X[:, 0]X[:, 1]marcador=”o”, c=y, s=25, edgecolor=”k”)

Producción:

Aquí podemos ver la distribución de los datos de la primera y segunda variable. Vamos a dividir los datos.

from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,random_state=0) X_train.shape, X_test.shape, y_train.shape, y_test.shape

Producción:

Escalando los datos

from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train, y_train)

Podemos usar la regresión de cresta para la selección de características mientras ajustamos el modelo. En este artículo, vamos a utilizar la regresión logística para el ajuste del modelo e impulsar la penalización del parámetro como L2, lo que básicamente significa la penalización que usamos en la regresión de cresta.

ridge_logit =Regresión Logística(C=1, penalización=’l2′) ridge_logit.fit(X_tren, y_tren)

Producción:

Verifiquemos el coeficiente de características que nos dirá cómo las características son importantes para el modelo.

ridge_logit.coef_

Producción:

En lo anterior, podemos ver que la característica de los datos es una de las características más importantes y otras características no son tan importantes.

Veamos cuántas características tienen un coeficiente de más de cero

np.sum(ridge_logit.coef_ >= 0)

Producción:

Dibujemos el gráfico según la importancia de las características.

importancia = ridge_logit.coef_[0]
plt.bar([x for x in range(len(importance))]importancia) plt.show()

Producción:

Aquí podemos ver cómo las características se correlacionan con las predicciones del modelo.

Aquí, en lo anterior, hemos visto cómo funciona la regresión de cresta para la selección de características ahora, después de ver los gráficos y los resultados, podemos seleccionar las características de los datos para que la predicción sea más precisa. Como se discutió anteriormente, también podemos ver que ha considerado todas las características en el modelado del modelo de regresión logística, lo que significa que tiene los beneficios de no descartar ninguna de las características del conjunto de datos y en los resultados otorga un nivel de importancia de cada característica.

🔥 Recomendado:  ChatGPT acaba de recibir una aplicación oficial para iPhone: cómo probarla ahora

Ultimas palabras

En este artículo, hemos discutido la regresión de cresta, que es básicamente una técnica de regularización de características mediante la cual también podemos obtener los niveles de importancia de las características. No anular el efecto de ninguna característica de los datos hace que la regresión de cresta sea diferente de los otros métodos.

Referencias