SelectorMixin#

class sklearn.feature_selection.SelectorMixin[來源]#

轉換器混合類別,根據支持遮罩執行特徵選擇

此混合類別提供特徵選擇器的實作,其中包含 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)[來源]#

擬合資料,然後轉換它。

使用可選參數 fit_params 將轉換器擬合到 Xy,並傳回轉換後的 X 版本。

參數:
X形狀為 (n_samples, n_features) 的類陣列

輸入樣本。

y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列,預設值=None

目標值 (對於非監督轉換為 None)。

**fit_paramsdict

額外的擬合參數。

傳回值:
X_new形狀為 (n_samples, n_features_new) 的 ndarray 陣列

已轉換的陣列。

get_feature_names_out(input_features=None)[來源]#

根據選取的特徵遮罩特徵名稱。

參數:
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)[來源]#

取得所選特徵的遮罩或整數索引。

參數:
indicesbool,預設值=False

如果為 True,則傳回值將為整數陣列,而不是布林遮罩。

傳回值:
support陣列

從特徵向量中選取保留特徵的索引。如果 indices 為 False,則這是一個形狀為 [# 輸入特徵] 的布林陣列,其中元素為 True 表示其對應的特徵已選取以進行保留。如果 indices 為 True,則這是一個形狀為 [# 輸出特徵] 的整數陣列,其值是輸入特徵向量的索引。

inverse_transform(X)[來源]#

反轉轉換操作。

參數:
X形狀為 [n_samples, n_selected_features] 的陣列

輸入樣本。

傳回值:
X_r形狀為 [n_samples, n_original_features] 的陣列

X,其中插入了零列,這些零列原本會被 transform 移除。

set_output(*, transform=None)[來源]#

設定輸出容器。

如需如何使用 API 的範例,請參閱 設定輸出 API 簡介

參數:
transform{"default", "pandas", "polars"},預設值=None

設定 transformfit_transform 的輸出。

  • "default":轉換器的預設輸出格式

  • "pandas":DataFrame 輸出

  • "polars":Polars 輸出

  • None:轉換設定未變更

版本 1.4 中新增:新增了 "polars" 選項。

傳回值:
self估算器執行個體

估算器執行個體。

transform(X)[來源]#

將 X 縮減為選取的特徵。

參數:
X形狀為 [n_samples, n_features] 的陣列

輸入樣本。

傳回值:
X_r形狀為 [n_samples, n_selected_features] 的陣列

僅包含選取特徵的輸入樣本。