SelectKBest#
- class sklearn.feature_selection.SelectKBest(score_func=<function f_classif>, *, k=10)[原始碼]#
根據 k 個最高分數選擇特徵。
請參閱使用者指南以獲取更多資訊。
- 參數:
- score_func可呼叫物件,預設值 = f_classif
接收兩個陣列 X 和 y,並返回一對陣列 (分數、p 值) 或僅包含分數的單個陣列的函式。預設值為 f_classif (請參閱下方的「另請參閱」)。預設函式僅適用於分類任務。
在 0.18 版本中新增。
- k整數或「all」,預設值 = 10
要選擇的頂部特徵數量。「all」選項會繞過選擇,用於參數搜尋。
- 屬性:
另請參閱
f_classif
f_classif:分類任務中標籤/特徵之間的 ANOVA F 值。
mutual_info_classif
mutual_info_classif:離散目標的互資訊。
chi2
chi2:分類任務中非負特徵的卡方統計量。
f_regression
f_regression:回歸任務中標籤/特徵之間的 F 值。
mutual_info_regression
mutual_info_regression:連續目標的互資訊。
SelectPercentile
SelectPercentile:根據最高分數的百分位數選擇特徵。
SelectFpr
SelectFpr:根據假陽性率測試選擇特徵。
SelectFdr
SelectFdr:根據估計的假發現率選擇特徵。
SelectFwe
SelectFwe:根據全族錯誤率選擇特徵。
GenericUnivariateSelect
GenericUnivariateSelect:具有可配置模式的單變數特徵選擇器。
注意事項
分數相同的特徵之間的聯繫將以未指定的方式打破。
此篩選器支援僅請求
X
以計算分數的非監督特徵選擇。範例
>>> from sklearn.datasets import load_digits >>> from sklearn.feature_selection import SelectKBest, chi2 >>> X, y = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> X_new = SelectKBest(chi2, k=20).fit_transform(X, y) >>> X_new.shape (1797, 20)
- fit(X, y=None)[原始碼]#
在 (X, y) 上執行分數函式並取得適當的特徵。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列物件
訓練輸入樣本。
- y形狀為 (n_samples,) 的類陣列物件或 None
目標值 (分類中的類別標籤,回歸中的實數)。如果選擇器是非監督的,則
y
可以設定為None
。
- 返回:
- self物件
返回實例本身。
- fit_transform(X, y=None, **fit_params)[原始碼]#
擬合資料,然後轉換資料。
使用可選參數
fit_params
將轉換器擬合到X
和y
,並返回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)[原始碼]#
根據選定的特徵遮罩特徵名稱。
- 參數:
- input_features字串的類陣列物件或 None,預設值 = None
輸入特徵。
如果
input_features
為None
,則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_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看使用者指南以了解路由機制如何運作。
- 返回:
- routingMetadataRequest
一個封裝路由資訊的
MetadataRequest
。
- get_params(deep=True)[原始碼]#
取得此估算器的參數。
- 參數:
- deepbool,預設值=True
如果為 True,將會傳回此估算器以及包含的子物件(也是估算器)的參數。
- 返回:
- paramsdict
參數名稱對應到它們的值。
- get_support(indices=False)[原始碼]#
取得已選取特徵的遮罩或整數索引。
- 參數:
- indicesbool,預設值=False
如果為 True,回傳值將會是整數陣列,而非布林遮罩。
- 返回:
- supportarray
一個索引,從特徵向量中選取保留的特徵。如果
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)[原始碼]#
設定輸出容器。
請參閱介紹 set_output API,以取得如何使用 API 的範例。
- 參數:
- transform{“default”, “pandas”, “polars”},預設值=None
設定
transform
和fit_transform
的輸出。"default"
:轉換器的預設輸出格式"pandas"
:DataFrame 輸出"polars"
:Polars 輸出None
:轉換設定保持不變
1.4 版本新增:新增了
"polars"
選項。
- 返回:
- self估算器實例
估算器實例。