sklearn.feature_selection
.SequentialFeatureSelector¶
- class sklearn.feature_selection.SequentialFeatureSelector¶
Transformador que realiza la Selección Secuencial de Características.
Este Selector de Características Secuencial añade (selección hacia delante) o elimina (selección hacia atrás) características para formar un subconjunto de características de forma codiciosa. En cada etapa, este estimador elige la mejor característica para añadir o eliminar basándose en la puntuación de validación cruzada de un estimador.
Más información en el Manual de usuario.
Nuevo en la versión 0.24.
- Parámetros
- estimatorinstancia del estimador
Un estimador sin ajustar.
- n_features_to_selectint o float, default=None
El número de características a seleccionar. Si es
None
, se selecciona la mitad de las características. Si es un número entero, el parámetro es el número absoluto de características a seleccionar. Si es float entre 0 y 1, es la fracción de características a seleccionar.- direction: {“forward”, “backward”}, default=”forward”
Si se realiza una selección hacia delante o hacia atrás.
- scoringstr, callable, list/tuple o dict, default=None
Una sola cadena (ver El parámetro scoring: definir las reglas de evaluación del modelo) o una llamada (ver Definir tu estrategia de puntuación a partir de funciones métricas) para evaluar las predicciones en el conjunto de prueba.
Ten en cuenta que cuando se utilizan puntuadores personalizados, cada puntuador debe devolver un único valor. Las funciones métricas que devuelven una lista/matriz de valores pueden incluirse en múltiples calificadores que devuelven un valor cada uno.
Si es None, se utiliza el método de puntuación del estimador.
- cventero, generador de validación cruzada o un iterable, default=None
Determina la estrategia de división de la validación cruzada. Las entradas posibles para cv son:
None, para utilizar la validación cruzada de 5-fold por defecto,
entero, para especificar el número de pliegues en un
(Stratified)KFold
,Un iterable que produce divisiones (entrenamiento, prueba) como arreglos de índices.
Para entradas integer/None, si el estimador es un clasificador e
y
es binario o multiclase, se utilizaStratifiedKFold
. En todos los demás casos, se utilizaKFold
.Consulta Manual de usuario para las diversas estrategias de validación cruzada que pueden ser utilizadas aquí.
- n_jobsint, default=None
Número de trabajos a ejecutar en paralelo. Cuando se evalúa una nueva característica para añadir o eliminar, el procedimiento de validación cruzada es paralelo sobre los pliegues.
None
significa 1 a menos que en un contextojoblib.parallel_backend
.-1
significa que se utilizan todos los procesadores. Ver Glosario para más detalles.
- Atributos
- n_features_to_select_int
El número de características seleccionadas.
- support_ndarray de forma (n_features,), dtype=bool
La máscara de las características seleccionadas.
Ver también
RFE
Eliminación recursiva de características basada en pesos de importancia.
RFECV
Eliminación recursiva de características basada en pesos de importancia, con selección automática del número de características.
SelectFromModel
Selección de características basada en umbrales de pesos de importancia.
Ejemplos
>>> from sklearn.feature_selection import SequentialFeatureSelector >>> from sklearn.neighbors import KNeighborsClassifier >>> from sklearn.datasets import load_iris >>> X, y = load_iris(return_X_y=True) >>> knn = KNeighborsClassifier(n_neighbors=3) >>> sfs = SequentialFeatureSelector(knn, n_features_to_select=3) >>> sfs.fit(X, y) SequentialFeatureSelector(estimator=KNeighborsClassifier(n_neighbors=3), n_features_to_select=3) >>> sfs.get_support() array([ True, False, True, True]) >>> sfs.transform(X).shape (150, 3)
Métodos
Aprende las características a seleccionar.
Ajusta a los datos y luego los transforma.
Obtiene los parámetros de este estimador.
Obtiene una máscara, o índice entero, de las características seleccionadas
Revierte la operación de transformación
Establece los parámetros de este estimador.
Reduce X a las características seleccionadas.
- fit()¶
Aprende las características a seleccionar.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Vectores de entrenamiento.
- yarray-like de forma (n_samples,)
Valores objetivo.
- Devuelve
- selfobjeto
- fit_transform()¶
Ajusta a los datos y luego los transforma.
Ajusta el transformador a
X
ey
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Muestras de entrada.
- yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None
Valores objetivo (None para transformaciones no supervisadas).
- **fit_paramsdict
Parámetros de ajuste adicionales.
- Devuelve
- X_newarreglo ndarray de forma (n_samples, n_features_new)
Arreglo transformado.
- get_params()¶
Obtiene los parámetros de este estimador.
- Parámetros
- deepbooleano, default=True
Si es True, devolverá los parámetros para este estimador y los sub objetos contenidos que son estimadores.
- Devuelve
- paramsdict
Los nombres de los parámetros se asignan a sus valores.
- get_support()¶
Obtiene una máscara, o índice entero, de las características seleccionadas
- Parámetros
- indicesbooleano, default=False
Si es True, el valor de retorno será un arreglo de enteros, en lugar de una máscara booleana.
- Devuelve
- supportarreglo
Un índice que selecciona las características retenidas de un vector de características. Si
indices
es False, se trata de un arreglo booleano de forma [# características de entrada], en la que un elemento es True si su característica correspondiente es seleccionada para ser retenida. Siindices
es True, se trata de un arreglo de enteros de forma [# características de salida] cuyos valores son índices en el vector de características de entrada.
- inverse_transform()¶
Revierte la operación de transformación
- Parámetros
- Xarreglo de forma [n_samples, n_selected_features]
Las muestras de entrada.
- Devuelve
- X_rarreglo de forma [n_samples, n_original_features]
X` con columnas de ceros insertadas donde las características habrían sido eliminadas por
transform
.
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto con estimadores simples como con objetos anidados (como
Pipeline
). Estos últimos tienen parámetros de la forma ``<component>__<parameter>` para que sea posible actualizar cada componente de un objeto anidado.- Parámetros
- **paramsdict
Parámetros del estimador.
- Devuelve
- selfinstancia del estimador
Instancia del estimador.
- transform()¶
Reduce X a las características seleccionadas.
- Parámetros
- Xarreglo de forma [n_samples, n_features]
Las muestras de entrada.
- Devuelve
- X_rarreglo de forma [n_samples, n_selected_features]
Las muestras de entrada con sólo las características seleccionadas.