SelectorMixin (original) (raw)
class sklearn.feature_selection.SelectorMixin[source]#
Transformer mixin that performs feature selection given a support mask
This mixin provides a feature selector implementation with transform
andinverse_transform
functionality given an implementation of_get_support_mask
.
Examples
import numpy as np from sklearn.datasets import load_iris from sklearn.base import BaseEstimator from sklearn.feature_selection import SelectorMixin class FeatureSelector(SelectorMixin, BaseEstimator): ... def fit(self, X, y=None): ... self.n_features_in_ = X.shape[1] ... return self ... def get_support_mask(self): ... mask = np.zeros(self.n_features_in, dtype=bool) ... mask[:2] = True # select the first two features ... return mask X, y = load_iris(return_X_y=True) FeatureSelector().fit_transform(X, y).shape (150, 2)
fit_transform(X, y=None, **fit_params)[source]#
Fit to data, then transform it.
Fits transformer to X
and y
with optional parameters fit_params
and returns a transformed version of X
.
Parameters:
Xarray-like of shape (n_samples, n_features)
Input samples.
yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None
Target values (None for unsupervised transformations).
**fit_paramsdict
Additional fit parameters.
Returns:
X_newndarray array of shape (n_samples, n_features_new)
Transformed array.
get_feature_names_out(input_features=None)[source]#
Mask feature names according to selected features.
Parameters:
input_featuresarray-like of str or None, default=None
Input features.
- If
input_features
isNone
, thenfeature_names_in_
is used as feature names in. Iffeature_names_in_
is not defined, then the following input feature names are generated:["x0", "x1", ..., "x(n_features_in_ - 1)"]
. - If
input_features
is an array-like, theninput_features
must matchfeature_names_in_
iffeature_names_in_
is defined.
Returns:
feature_names_outndarray of str objects
Transformed feature names.
get_support(indices=False)[source]#
Get a mask, or integer index, of the features selected.
Parameters:
indicesbool, default=False
If True, the return value will be an array of integers, rather than a boolean mask.
Returns:
supportarray
An index that selects the retained features from a feature vector. If indices
is False, this is a boolean array of shape [# input features], in which an element is True iff its corresponding feature is selected for retention. If indices
is True, this is an integer array of shape [# output features] whose values are indices into the input feature vector.
Reverse the transformation operation.
Parameters:
Xarray of shape [n_samples, n_selected_features]
The input samples.
Returns:
X_originalarray of shape [n_samples, n_original_features]
X
with columns of zeros inserted where features would have been removed by transform.
set_output(*, transform=None)[source]#
Set output container.
See Introducing the set_output APIfor an example on how to use the API.
Parameters:
transform{“default”, “pandas”, “polars”}, default=None
Configure output of transform
and fit_transform
.
"default"
: Default output format of a transformer"pandas"
: DataFrame output"polars"
: Polars outputNone
: Transform configuration is unchanged
Added in version 1.4: "polars"
option was added.
Returns:
selfestimator instance
Estimator instance.
Reduce X to the selected features.
Parameters:
Xarray of shape [n_samples, n_features]
The input samples.
Returns:
X_rarray of shape [n_samples, n_selected_features]
The input samples with only the selected features.