选择器Mixin#

class sklearn.feature_selection.SelectorMixin[source]#

执行特征选择的可变换Mixin,给定一个支持掩码。

此混合器提供了一个特征选择器实现,具有transforminverse_transform功能,前提是已实现_get_support_mask

示例

>>> 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_params将转换器拟合到Xy,并返回X的转换版本。

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

输入样本。

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

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

**fit_params字典

附加拟合参数。

返回值:
X_new形状为 (n_samples, n_features_new) 的ndarray 数组

转换后的数组。

get_feature_names_out(input_features=None)[source]#

根据选定的特征掩盖特征名称。

参数:
input_features字符串类数组或 None,默认为 None

输入特征。

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

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

返回值:
feature_names_out字符串对象的ndarray

转换后的特征名称。

get_support(indices=False)[source]#

获取所选特征的掩码或整数索引。

参数:
indices布尔值,默认为 False

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

返回值:
support数组

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

inverse_transform(X)[source]#

反转转换操作。

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

输入样本。

返回值:
X_r形状为 [n_samples, n_original_features] 的数组

transform将移除特征的位置插入零列的X

set_output(*, transform=None)[source]#

设置输出容器。

参见Introducing the set_output API,了解如何使用此 API 的示例。

参数:
transform{"default", "pandas", "polars"},默认为 None

配置transformfit_transform的输出。

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

  • "pandas":DataFrame 输出

  • "polars":Polars 输出

  • None:转换配置保持不变

1.4 版本中新增: 添加了"polars"选项。

返回值:
self估计器实例

估计器实例。

transform(X)[source]#

将 X 减少到选定的特征。

参数:
X形状为 [n_samples, n_features] 的数组

输入样本。

返回值:
X_r形状为 [n_samples, n_selected_features] 的数组

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