sklearn.feature_selection
.RFECV¶
- class sklearn.feature_selection.RFECV¶
Clasificación de características con eliminación recursiva de características y selección validada cruzada del mejor número de características.
Ver entrada de glosario para cross-validation estimator.
Más información en el Manual de usuario.
- Parámetros
- estimator : instancia del
Estimator
Instancia del estimador Un estimador de aprendizaje supervisado con un método de
fit
que proporciona información sobre la importancia de las características a través de un atributocoef_
o de un atributofeature_importances_
.- stepentero o punto flotante, default=1
Si es mayor o igual que 1, entonces
step
corresponde al número (entero) de características a eliminar en cada iteración. Si está dentro de (0.0, 1.0), entoncesstep
corresponde al porcentaje (redondeado hacia abajo) de características a eliminar en cada iteración. Ten en cuenta que la última iteración puede eliminar menos características questep
para llegar amin_features_to_select
.- min_features_to_selectint, default=1
El número mínimo de características a seleccionar. Este número de características siempre se puntuará, incluso si la diferencia entre el recuento original de características y
min_features_to_select
no es divisible porstep
.Nuevo en la versión 0.20.
- cvint, 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 usar la validación cruzada de 5-fold por defecto,
entero, para especificar el número de partes.
Un iterable que produce divisiones (train, test) como arreglos de índices.
Para entradas enteras/None, si
y
es binario o multiclase, se utilizaStratifiedKFold
. Si el estimador es un clasificador o siy
no es binario ni multiclase, se utilizaKFold
.Consulta Manual de usuario para las diversas estrategias de validación cruzada que pueden ser utilizadas aquí.
Distinto en la versión 0.22:
cv
es el valor predeterminado si None cambió de 3-fold a 5-fold.- scoringstring, callable o None, default=None
Una cadena (ver la documentación de la evaluación del modelo) o un objeto / función callable puntuador (scorer) con la firma
scorer(estimator, X, y)
.- verboseint, default=0
Controla la verbosidad de la salida.
- n_jobsint o None, default=None
Número de núcleos para ejecutar en paralelo mientras se ajusta a través de partes.
None
significa 1 al menos en un contextojoblib.parallel_backend
.-1
significa utilizar todos los procesadores. Ver Glosario para más detalles.Nuevo en la versión 0.18.
- importance_getterstr o callable, default=”auto”
Si es “auto”, utiliza la importancia de la característica a través de los atributos
coef_
ofeature_importances_
del estimador.También acepta una cadena que especifica un nombre de atributo/ruta para extraer la importancia de la característica. Por ejemplo, dar
regressor_.coef_
en el caso deTransformedTargetRegressor
onamed_steps.clf.feature_importances_
en el caso dePipeline
con su último paso llamadoclf
.Si
callable
, sobrescribe el getter de importancia de características predeterminadas. El invocable se pasa con el estimador ajustado y debe devolver la importancia de cada característica.Nuevo en la versión 0.24.
- estimator : instancia del
- Atributos
- estimator_ : Instancia del
Estimador
Instancia del estimador El estimador ajustado utilizado para seleccionar las características.
- grid_scores_ndarray de forma (n_subsets_of_features)
Las puntuaciones de validación cruzada, de modo que
grid_scores_[i]
corresponde a la puntuación CV del subconjunto i-ésimo de características.- n_features_int
El número de características seleccionadas con validación cruzada.
- ranking_narray de forma (n_features,)
La clasificación de las características, de modo que
ranking_[i]
corresponde a la posición de clasificación de la i-ésima característica. A las características seleccionadas (es decir, las mejores estimadas) se les asigna el rango 1.- support_ndarray de forma (n_features)
La máscara de las características seleccionadas.
- estimator_ : Instancia del
Ver también
RFE
Eliminación recursiva de características.
Notas
El tamaño de
grid_scores_
es igual aceil((n_features - min__features_to_select) / step) + 1
, donde step es el número de características eliminadas en cada iteración.Permite NaN/Inf en la entrada si el estimador subyacente también lo hace.
Referencias
- 1
Guyon, I., Weston, J., Barnhill, S., & Vapnik, V., «Gene selection for cancer classification using support vector machines», Mach. Learn., 46(1-3), 389–422, 2002.
Ejemplos
El siguiente ejemplo muestra cómo recuperar las 5 características informativas no conocidas a priori en el conjunto de datos Friedman #1.
>>> from sklearn.datasets import make_friedman1 >>> from sklearn.feature_selection import RFECV >>> from sklearn.svm import SVR >>> X, y = make_friedman1(n_samples=50, n_features=10, random_state=0) >>> estimator = SVR(kernel="linear") >>> selector = RFECV(estimator, step=1, cv=5) >>> selector = selector.fit(X, y) >>> selector.support_ array([ True, True, True, True, True, False, False, False, False, False]) >>> selector.ranking_ array([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])
Métodos
Calcula la función de decisión de
X
.Ajusta el modelo RFE y afinar automáticamente el número de características seleccionadas
Ajusta a los datos y luego transformarlos.
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
Reduce X a las características seleccionadas y luego predice utilizando la
Predice las probabilidades de clase para X.
Predice las probabilidades de clase para X.
Reduce X a las características seleccionadas y luego devuelve la puntuación del
Establece los parámetros de este estimador.
Reduce X a las características seleccionadas.
- decision_function()¶
Calcula la función de decisión de
X
.- Parámetros
- X{array-like or sparse matrix} de forma (n_samples, n_features)
Las muestras de entrada. Internamente, se convertirá a
dtype=np.float32
y si se proporciona una matriz dispersa a unacsr_matrix
dispersa.
- Devuelve
- scorearreglo, forma = [n_samples, n_classes] o [n_samples]
La función de decisión de las muestras de entrada. El orden de las clases corresponde al del atributo classes_. La regresión y la clasificación binaria producen un arreglo de forma [n_samples].
- fit()¶
- Ajusta el modelo RFE y afinar automáticamente el número de características seleccionadas
características.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Vector de entrenamiento, donde
n_samples
es el número de muestras yn_features
es el número total de características.- yarray-like de forma (n_samples,)
Valores objetivo (enteros para la clasificación, números reales para la regresión).
- groupsarray-like de forma (n_samples,) o None, default=None
Etiquetas de grupo para las muestras utilizadas al dividir el conjunto de datos en conjunto de entrenamiento/prueba. Sólo se utiliza junto con una instancia de cv «Group» (por ejemplo,
GroupKFold
).Nuevo en la versión 0.20.
- fit_transform()¶
Ajusta a los datos y luego transformarlos.
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
.
- predict()¶
- Reduce X a las características seleccionadas y luego predice utilizando la
estimador subyacente.
- Parámetros
- Xarreglo de forma [n_samples, n_features]
Las muestras de entrada.
- Devuelve
- yarreglo de forma [n_samples]
Los valores objetivo predichos.
- predict_log_proba()¶
Predice las probabilidades de clase para X.
- Parámetros
- Xarreglo de forma [n_samples, n_features]
Las muestras de entrada.
- Devuelve
- parreglo de forma (n_samples, n_classes)
Las probabilidades logarítmicas de clase de las muestras de entrada. El orden de las clases corresponde al del atributo classes_.
- predict_proba()¶
Predice las probabilidades de clase para X.
- Parámetros
- X{array-like or sparse matrix} de forma (n_samples, n_features)
Las muestras de entrada. Internamente, se convertirá a
dtype=np.float32
y si se proporciona una matriz dispersa a unacsr_matrix
dispersa.
- Devuelve
- parreglo de forma (n_samples, n_classes)
Las probabilidades de clase de las muestras de entrada. El orden de las clases corresponde al del atributo classes_.
- score()¶
- Reduce X a las características seleccionadas y luego devuelve la puntuación del
estimador subyacente.
- Parámetros
- Xarreglo de forma [n_samples, n_features]
Las muestras de entrada.
- yarreglo de forma [n_samples]
Los valores objetivo.
- 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.