SelectorMixin#

class sklearn.feature_selection.SelectorMixin[source]#

根据支持掩码执行特征选择的 Transformer mixin

此 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 将 transformer 拟合到 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,则这是一个形状为 [# input features] 的布尔数组,其中当且仅当其对应特征被选中保留时,该元素为 True。如果 indices 为 True,则这是一个形状为 [# output features] 的整数数组,其值是输入特征向量的索引。

inverse_transform(X)[source]#

反向转换操作。

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

输入样本。

返回:
X_original形如 [n_samples, n_original_features] 的数组

在通过 transform 移除特征的位置插入零列的 X

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

设置输出容器。

有关如何使用此 API 的示例,请参阅set_output API 简介

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

配置 transformfit_transform 的输出。

  • "default": Transformer 的默认输出格式

  • "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] 的数组

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