本文簡要介紹python語言中 sklearn.feature_selection.RFECV
的用法。
用法:
class sklearn.feature_selection.RFECV(estimator, *, step=1, min_features_to_select=1, cv=None, scoring=None, verbose=0, n_jobs=None, importance_getter='auto')
使用交叉驗證進行遞歸特征消除以選擇特征數量。
請參閱交叉驗證估計器的詞匯表條目。
在用戶指南中閱讀更多信息。
- estimator:
Estimator
實例 具有
fit
方法的監督學習估計器,通過coef_
屬性或feature_importances_
屬性提供有關特征重要性的信息。- step:int 或浮點數,默認=1
如果大於或等於 1,則
step
對應於每次迭代時要移除的特征的(整數)個數。如果在 (0.0, 1.0) 範圍內,則step
對應於每次迭代中要刪除的特征的百分比(向下舍入)。請注意,最後一次迭代可能會刪除少於step
的特征以達到min_features_to_select
。- min_features_to_select:整數,默認=1
要選擇的最小特征數。即使原始特征計數和
min_features_to_select
之間的差異不能被step
整除,也會始終對這個數量的特征進行評分。- cv:int,交叉驗證生成器或可迭代的,默認=無
確定交叉驗證拆分策略。 cv 的可能輸入是:
- 無,使用默認的 5 折交叉驗證,
- 整數,指定折疊次數。
- CV分配器,
- 一個可迭代的 yield (train, test) 拆分為索引數組。
對於整數/無輸入,如果
y
是二進製或多類,則使用StratifiedKFold
。如果估計器是分類器或者如果y
既不是二元也不是多類,則使用KFold
。有關可在此處使用的各種交叉驗證策略,請參閱用戶指南。
- scoring:str,可調用或無,默認=無
一個字符串(參見模型評估文檔)或帶有簽名
scorer(estimator, X, y)
的記分器可調用對象/函數。- verbose:整數,默認=0
控製輸出的詳細程度。
- n_jobs:int 或無,默認=無
在適合折疊時並行運行的內核數。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有處理器。有關詳細信息,請參閱詞匯表。- importance_getter:str 或可調用,默認='auto'
如果‘auto’,通過估計器的
coef_
或feature_importances_
屬性使用特征重要性。還接受一個字符串,該字符串指定用於提取特征重要性的屬性名稱/路徑。例如,在
TransformedTargetRegressor
的情況下給出regressor_.coef_
或在Pipeline
的情況下給出named_steps.clf.feature_importances_
,最後一步命名為clf
。如果
callable
,覆蓋默認的特征重要性獲取器。可調用對象與擬合的估計器一起傳遞,它應該返回每個特征的重要性。
- estimator:
classes_
ndarray 形狀 (n_classes,)當
estimator
是分類器時可用的類標簽。- estimator_:
Estimator
實例 用於選擇特征的擬合估計器。
grid_scores_
ndarray 形狀 (n_subsets_of_features,)已棄用:
grid_scores_
屬性在 1.0 版中已棄用,取而代之的是cv_results_
,並將在 1.2 版中刪除。- cv_results_:ndarrays的字典
帶鍵的字典:
- 拆分(k)_test_score:ndarray 形狀 (n_features,)
第 (k) 倍的交叉驗證分數。
- mean_test_score:ndarray 形狀 (n_features,)
折疊的平均分數。
- std_test_score:ndarray 形狀 (n_features,)
折疊分數的標準差。
- n_features_:int
具有交叉驗證的選定特征的數量。
- n_features_in_:int
擬合期間看到的特征數。僅當基礎估計器在合適時公開此類屬性時才定義。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。- ranking_:narray 形狀 (n_features,)
特征排名,使得
ranking_[i]
對應i-th特征的排名位置。選定的(即估計的最佳)特征被分配等級 1。- support_:ndarray 形狀 (n_features,)
所選特征的掩碼。
參數:
屬性:
注意:
grid_scores_
的大小等於ceil((n_features - min_features_to_select) / step) + 1
,其中 step 是每次迭代中移除的特征數。如果基礎估計器也這樣做,則允許輸入中的 NaN/Inf。
參考:
- 1
Guyon, I., Weston, J., Barnhill, S., & Vapnik, V.,“使用支持向量機進行癌症分類的基因選擇”,Mach。學習。, 46(1-3), 389-422, 2002。
例子:
以下示例顯示了如何在 Friedman #1 數據集中檢索 a-priori 未知的 5 個信息特征。
>>> from sklearn.datasets import make_friedman1 >>> from sklearn.feature_selection import RFECV >>> from sklearn.svm import SVR >>> X, y = make_friedman1(n_samples=50, n_features=10, random_state=0) >>> estimator = SVR(kernel="linear") >>> selector = RFECV(estimator, step=1, cv=5) >>> selector = selector.fit(X, y) >>> selector.support_ array([ True, True, True, True, True, False, False, False, False, False]) >>> selector.ranking_ array([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])
相關用法
- Python sklearn RFE用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn RocCurveDisplay用法及代碼示例
- Python sklearn RadiusNeighborsTransformer用法及代碼示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors_graph用法及代碼示例
- Python sklearn RandomizedSearchCV用法及代碼示例
- Python sklearn RadiusNeighborsClassifier用法及代碼示例
- Python sklearn RidgeCV用法及代碼示例
- Python sklearn RegressorChain用法及代碼示例
- Python sklearn RandomForestClassifier用法及代碼示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors_graph用法及代碼示例
- Python sklearn RANSACRegressor用法及代碼示例
- Python sklearn RobustScaler用法及代碼示例
- Python sklearn RandomForestRegressor用法及代碼示例
- Python sklearn RepeatedStratifiedKFold用法及代碼示例
- Python sklearn RocCurveDisplay.from_estimator用法及代碼示例
- Python sklearn RadiusNeighborsRegressor用法及代碼示例
- Python sklearn RBF用法及代碼示例
- Python sklearn Ridge用法及代碼示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors用法及代碼示例
- Python sklearn RocCurveDisplay.from_predictions用法及代碼示例
- Python sklearn RidgeClassifierCV用法及代碼示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors用法及代碼示例
- Python sklearn RepeatedKFold用法及代碼示例
- Python sklearn RBFSampler用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.feature_selection.RFECV。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。