當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn SequentialFeatureSelector用法及代碼示例


本文簡要介紹python語言中 sklearn.feature_selection.SequentialFeatureSelector 的用法。

用法:

class sklearn.feature_selection.SequentialFeatureSelector(estimator, *, n_features_to_select=None, direction='forward', scoring=None, cv=5, n_jobs=None)

執行順序特征選擇的轉換器。

這個順序特征選擇器以貪心的方式添加(前向選擇)或刪除(後向選擇)特征以形成特征子集。在每個階段,該估計器根據估計器的交叉驗證分數選擇要添加或刪除的最佳特征。在無監督學習的情況下,此順序特征選擇器僅查看特征 (X),而不是所需的輸出 (y)。

在用戶指南中閱讀更多信息。

參數

estimator估計器實例

一個不合適的估計器。

n_features_to_selectint 或浮點數,默認=無

要選擇的特征數。如果 None ,則選擇一半的特征。如果是整數,則參數是要選擇的特征的絕對數量。如果在 0 和 1 之間浮點數,則它是要選擇的特征的一部分。

direction{‘forward’, ‘backward’},默認='轉發'

是執行前向選擇還是後向選擇。

scoringstr,可調用,列表/元組或字典,默認=無

單個 str (見評分參數:定義模型評估規則)或可調用的(見從度量函數定義你的評分策略) 來評估對測試集的預測。

請注意,使用自定義記分器時,每個記分器應返回一個值。返回值列表/數組的度量函數可以包裝到多個記分器中,每個記分器返回一個值。

如果沒有,則使用估計器的評分方法。

cvint,交叉驗證生成器或可迭代的,默認=無

確定交叉驗證拆分策略。 cv 的可能輸入是:

  • 無,使用默認的 5 折交叉驗證,
  • 整數,指定 (Stratified)KFold 中的折疊數,
  • CV分配器,
  • 一個可迭代的 yield (train, test) 拆分為索引數組。

對於整數/無輸入,如果估計器是分類器並且y 是二進製或多類,則使用StratifiedKFold。在所有其他情況下,使用KFold。這些拆分器使用 shuffle=False 實例化,因此拆分在調用之間將是相同的。

有關可在此處使用的各種交叉驗證策略,請參閱用戶指南。

n_jobs整數,默認=無

並行運行的作業數。在評估要添加或刪除的新函數時,交叉驗證過程是平行的。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關詳細信息,請參閱詞匯表。

屬性

n_features_in_int

擬合期間看到的特征數。僅當基礎估計器在合適時公開此類屬性時才定義。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

n_features_to_select_int

選擇的特征數。

support_ndarray 形狀 (n_features,), dtype=bool

所選特征的掩碼。

例子

>>> from sklearn.feature_selection import SequentialFeatureSelector
>>> from sklearn.neighbors import KNeighborsClassifier
>>> from sklearn.datasets import load_iris
>>> X, y = load_iris(return_X_y=True)
>>> knn = KNeighborsClassifier(n_neighbors=3)
>>> sfs = SequentialFeatureSelector(knn, n_features_to_select=3)
>>> sfs.fit(X, y)
SequentialFeatureSelector(estimator=KNeighborsClassifier(n_neighbors=3),
                          n_features_to_select=3)
>>> sfs.get_support()
array([ True, False,  True,  True])
>>> sfs.transform(X).shape
(150, 3)

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.feature_selection.SequentialFeatureSelector。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。