SelectorMixin#

class sklearn.feature_selection.SelectorMixin#

Transformer mixin 提供了基于支持掩码的特征选择功能

该mixin提供了一个特征选择器的实现,具有 transforminverse_transform 功能,前提是实现了 _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  # 选择前两个特征
...        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)#

拟合数据,然后进行转换。

将转换器拟合到 Xy ,并带有可选参数 fit_params , 并返回 X 的转换版本。

Parameters:
X形状为 (n_samples, n_features) 的类数组

输入样本。

y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组, 默认=None

目标值(无监督转换为 None)。

**fit_paramsdict

其他拟合参数。

Returns:
X_new形状为 (n_samples, n_features_new) 的 ndarray 数组

转换后的数组。

get_feature_names_out(input_features=None)#

屏蔽根据选定特征的特征名称。

Parameters:
input_features字符串的类数组或None, 默认=None

输入特征。

  • 如果 input_featuresNone ,则使用 feature_names_in_ 作为输入特征名称。如果 feature_names_in_ 未定义,则生成以下输入特征名称: ["x0", "x1", ..., "x(n_features_in_ - 1)"]

  • 如果 input_features 是类数组,则 input_features 必须与 feature_names_in_ 匹配,如果 feature_names_in_ 已定义。

Returns:
feature_names_out字符串对象的ndarray

转换后的特征名称。

get_support(indices=False)#

获取一个掩码或整数索引,用于选择特征。

Parameters:
indicesbool, 默认=False

如果为True,返回值将是一个整数数组,而不是一个布尔掩码。

Returns:
supportarray

一个从特征向量中选择保留特征的索引。如果 indices 为False,这是一个布尔数组,形状为 [# 输入特征],其中元素为True当且仅当其对应的特征被选择保留。如果 indices 为 True,这是一个整数数组,形状为[# 输出特征],其值为输入特征向量的索引。

inverse_transform(X)#

反转变换操作。

Parameters:
X形状为 [n_samples, n_selected_features] 的数组

输入样本。

Returns:
X_r形状为 [n_samples, n_original_features] 的数组

X 在特征被 transform 方法移除的地方插入零列。

set_output(*, transform=None)#

设置输出容器。

请参阅 介绍 set_output API 以了解如何使用API的示例。

Parameters:
transform{“default”, “pandas”, “polars”}, 默认=None

配置 transformfit_transform 的输出。

  • "default" : 转换器的默认输出格式

  • "pandas" : DataFrame 输出

  • "polars" : Polars 输出

  • None : 转换配置不变

Added in version 1.4: "polars" 选项已添加。

Returns:
self估计器实例

估计器实例。

transform(X)#

将X 缩减为选定的特征。

Parameters:
Xarray of shape [n_samples, n_features]

输入样本。

Returns:
X_rarray of shape [n_samples, n_selected_features]

仅包含所选特征的输入样本。