變異數閾值#
- class sklearn.feature_selection.VarianceThreshold(threshold=0.0)[來源]#
特徵選擇器,用於移除所有低變異數的特徵。
此特徵選擇演算法僅查看特徵 (X),而不是所需的輸出 (y),因此可用於非監督式學習。
在 使用者指南 中閱讀更多內容。
- 參數:
- thresholdfloat,預設值 = 0
訓練集變異數低於此閾值的特徵將會被移除。預設是保留所有具有非零變異數的特徵,亦即移除在所有樣本中具有相同值的特徵。
- 屬性:
另請參閱
SelectFromModel
基於重要性權重選擇特徵的元轉換器。
SelectPercentile
根據最高分數的百分位數選擇特徵。
SequentialFeatureSelector
執行循序特徵選擇的轉換器。
注意事項
允許輸入 NaN。如果 X 中沒有任何特徵符合變異數閾值,則會引發 ValueError。
範例
以下資料集具有整數特徵,其中兩個特徵在每個樣本中都相同。使用預設的閾值設定會移除這些特徵
>>> from sklearn.feature_selection import VarianceThreshold >>> X = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]] >>> selector = VarianceThreshold() >>> selector.fit_transform(X) array([[2, 0], [1, 4], [1, 1]])
- fit(X, y=None)[來源]#
從 X 學習經驗變異數。
- 參數:
- X{類陣列,稀疏矩陣},形狀 (n_samples, n_features)
用於計算變異數的資料,其中
n_samples
是樣本數,而n_features
是特徵數。- y任何型別,預設=None
忽略。此參數僅為與 sklearn.pipeline.Pipeline 相容而存在。
- 回傳:
- 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)[來源]#
取得此估算器的參數。
- 參數:
- deep布林值,預設=True
如果為 True,則將回傳此估算器和所包含的子物件(皆為估算器)的參數。
- 回傳:
- params字典
參數名稱對應至其值的字典。
- get_support(indices=False)[來源]#
取得已選取特徵的遮罩或整數索引。
- 參數:
- indices布林值,預設=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)[原始碼]#
設定輸出容器。
請參閱 Introducing the set_output API 以取得如何使用此 API 的範例。
- 參數:
- transform{"default", "pandas", "polars"}, default=None
設定
transform
和fit_transform
的輸出。"default"
:轉換器的預設輸出格式"pandas"
:DataFrame 輸出"polars"
:Polars 輸出None
:轉換配置不變
於 1.4 版新增:新增了
"polars"
選項。
- 回傳:
- self估算器實例
估算器實例。