sklearn.feature_selection
.SelectFromModel¶
- class sklearn.feature_selection.SelectFromModel¶
Metatransformador para seleccionar características basadas en ponderaciones de importancia.
Nuevo en la versión 0.17.
Más información en el Manual de usuario.
- Parámetros
- estimatorobjeto
El estimador base a partir del cual se construye el transformador. Puede ser tanto un estimador ajustado (si
prefit
es True) como un estimador no ajustado. El estimador debe tener un atributofeature_importances_
ocoef_
después del ajuste.- thresholdstring o float, default=None
El valor del umbral que se utilizará para la selección de características. Las características cuya importancia es mayor o igual se mantienen mientras que las otras se descartan. Si es «median» (o «mean»), el valor del
threshold
es la mediana (o la media) de la importancia de las características. También puede utilizarse un factor de escala (por ejemplo, «1,25*mean»). Si es None y si el estimador tiene una penalización de parámetro establecida en l1, ya sea explícita o implícitamente (por ejemplo, Lasso), el umbral utilizado es 1e-5. En caso contrario, se utiliza «mean» por defecto.- prefitbooleano, default=False
Si se espera que se pase un modelo de preajuste al constructor directamente o no. Si es True,
transform
debe ser llamado directamente y SelectFromModel no puede ser utilizado concross_val_score
,GridSearchCV
y utilidades similares que clonan el estimador. Si no, entrena el modelo usandofit
y luegotransform
para hacer la selección de características.- norm_orderentero no nulo, inf, -inf, default=1
Orden de la norma utilizada para filtrar los vectores de coeficientes por debajo del
threshold
en el caso de que el atributocoef_
del estimador sea de dimensión 2.- max_featuresint, default=None
El número máximo de características a seleccionar. Para seleccionar sólo en base a
max_features
, establezcathreshold=-np.inf
.Nuevo en la versión 0.20.
- importance_getterstr o invocable, default=”auto”
Si es “auto”, utiliza la importancia de la característica ya sea a través de un atributo
coef_
o del atributofeature_importances_
del estimador.También acepta una cadena que especifica un nombre de atributo/ruta para extraer la importancia de la característica (implementado con
attrgetter
). Por ejemplo, darregressor_.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 por defecto. El invocable se pasa con el estimador ajustado y debe devolver la importancia de cada característica.Nuevo en la versión 0.24.
- Atributos
- estimator_un estimador
El estimador base a partir del cual se construye el transformador. Se almacena sólo cuando se pasa un estimador no ajustado a
SelectFromModel
, es decir, cuando prefit es False.- threshold_float
El valor del umbral utilizado para la selección de características.
Ver también
RFE
Eliminación recursiva de características basada en pesos de importancia.
RFECV
Eliminación recursiva de características con una selección integrada de validación cruzada del mejor número de características.
SequentialFeatureSelector
Selección de características basada en la validación cruzada secuencial. No se basa enponderaciones de importancia.
Notas
Permite NaN/Inf en la entrada si el estimador subyacente también lo hace.
Ejemplos
>>> from sklearn.feature_selection import SelectFromModel >>> from sklearn.linear_model import LogisticRegression >>> X = [[ 0.87, -1.34, 0.31 ], ... [-2.79, -0.02, -0.85 ], ... [-1.34, -0.48, -2.55 ], ... [ 1.92, 1.48, 0.65 ]] >>> y = [0, 1, 0, 1] >>> selector = SelectFromModel(estimator=LogisticRegression()).fit(X, y) >>> selector.estimator_.coef_ array([[-0.3252302 , 0.83462377, 0.49750423]]) >>> selector.threshold_ 0.55245... >>> selector.get_support() array([False, True, False]) >>> selector.transform(X) array([[-1.34], [-0.02], [-0.48], [ 1.48]])
Métodos
Ajusta el metatransformador SelectFromModel.
Ajustar a los datos y luego transformarlos.
Obtener los parámetros de este estimador.
Obtiene una máscara, o índice entero, de las características seleccionadas
Revertir la operación de transformación
Ajuste el metatransformador SelectFromModel sólo una vez.
Establecer los parámetros de este estimador.
Reduce X a las características seleccionadas.
- fit()¶
Ajusta el metatransformador SelectFromModel.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Las muestras de entrada de entrenamiento.
- yarray-like de forma (n_samples,), default=None
Los valores objetivo (enteros que corresponden a clases en clasificación, números reales en regresión).
- **fit_paramsOtros parámetros específicos del estimador
- Devuelve
- selfobjeto
- fit_transform()¶
Ajustar 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()¶
Obtener 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()¶
Revertir 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 portransform
.
- partial_fit()¶
Ajuste el metatransformador SelectFromModel sólo una vez.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Las muestras de entrada de entrenamiento.
- yarray-like de forma (n_samples,), default=None
Los valores objetivo (enteros que corresponden a clases en clasificación, números reales en regresión).
- **fit_paramsOtros parámetros específicos del estimador
- Devuelve
- selfobjeto
- set_params()¶
Establecer los parámetros de este estimador.
El método funciona tanto en estimadores simples como en 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 sólo con las características seleccionadas.