Selección de características de Sklearn

Selección de características de Sklearn
La mejor técnica para resolver un problema de aprendizaje automático es comenzar con un conjunto de datos, realizar un EDA exhaustivo y comprender muchas a la mayoría de las características clave de los predictores antes de entrenar activamente modelos en estas variables. Sin embargo, no siempre es posible hacer esto. A veces necesita un enfoque automatizado para elegir un subconjunto apropiado de datos, ya que el conjunto de datos incluye demasiadas variables. Técnicas similares que se encuentran en la Biblioteca Sklearn se discuten en este artículo.

¿Qué es la selección de características??

El proceso de selección de características implica reducir el número de variables predictoras empleadas en los modelos que crea. Por ejemplo, su primera inclinación debe ser seleccionar el modelo con menos variables cuando se presentan dos modelos con la misma o casi idéntica puntuación. Pero el último modelo tiene más variables. Es menos probable que este modelo sea gotero, más fácil de ejecutar y más simple de entender y entrenar. Se produce fácilmente como parte del proceso de construcción del modelo para ajustar el número de parámetros en un modelo, que es un componente natural de la ciencia de datos en la práctica. Seleccionar características es principalmente un procedimiento manual, incluso cuando hay pocas características, o tiene tiempo para sentarse y pensar en ellas. La selección de características automatizada o semiautomatizada puede acelerar los procesos en situaciones en las que hay demasiadas variables, o no tiene mucho tiempo.

Implementación de la selección de características en Sklearn

Primero importamos los datos usando pandas. El conjunto de datos se puede encontrar aquí.

importar pandas como PD
DF = PD.read_csv ('iris.CSV ')
DF = DF.Drop ('id', axis = 1)
df.cabeza()

Producción

Sepallengthcm Sepalwidthcm Petallengthcm Petalwidthcm Especies
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa

Selección de características de umbral de varianza

Un umbral de varianza es un método directo para eliminar características dependiendo de la varianza que anticipamos para cada característica. Sin considerar ningún dato de la variable dependiente, la selección de características de umbral de varianza solo considera las características de entrada. Como resultado, solo es efectivo para el modelado no supervisado cuando se eliminan las características. A continuación se muestra la implementación del enfoque:

de Sklearn.Feing_Selection Import Variacethreshold
DF = DF.select_dtypes ('número')
selector = variacethreshold (2)
selector.Fit (DF)
df.columnas [selector.obtener apoyo()]

Producción

Índice (['petallengthcm'], dtype = "objeto")

SelectKBest

Una técnica de selección de características llamada selección de características univariadas se basa en la prueba estadística univariada. La base de "SelectKBest" es la combinación de una prueba estadística univariada con la selección de características de número K basada en la correlación estadística entre las variables dependientes e independientes. A continuación se muestra la implementación de 'SelectKBest'.

X = DF.Drop ('especies', eje = 1)
y = df ['especies']
de Sklearn.Feing_Selection import selectkbest, mutual_info_regression
del preprocesamiento de importación de Sklearn
codificador = preprocesamiento.LabelEncoder ()
y = codificador.Fit_transform (y)
selector = selectkBest (mutual_info_regression, k = 2)
selector.Fit (x, y)
X.columnas [selector.obtener apoyo()]

Producción

Índice (['petallengthcm', 'petalwidthcm'], dtype = 'objeto')

Conclusión

Discutimos los métodos de selección de características en Sklearn. La selección de características es importante cuando se trabaja con muchas características y necesitamos eliminar las características redundantes para una mejor comprensión de los datos y un mejor rendimiento. Sklearn nos proporciona un módulo 'Feing_Selection' utilizado para implementar esta técnica.