本文簡要介紹python語言中 sklearn.feature_selection.SelectFromModel
的用法。
用法:
class sklearn.feature_selection.SelectFromModel(estimator, *, threshold=None, prefit=False, norm_order=1, max_features=None, importance_getter='auto')
Meta-transformer 用於根據重要性權重選擇特征。
在用戶指南中閱讀更多信息。
- estimator:對象
構建轉換器的基本估計器。這既可以是擬合的(如果
prefit
設置為 True),也可以是未擬合的估計器。擬合後估計器應具有feature_importances_
或coef_
屬性。否則,應使用importance_getter
參數。- threshold:str 或浮點數,默認=無
用於特征選擇的閾值。保留重要性大於或相等的特征,而丟棄其他特征。如果“median” (resp. “mean”),那麽
threshold
值是特征重要性的中值(resp. mean)。也可以使用比例因子(例如,“1.25*mean”)。如果 None 並且如果估計器將參數懲罰設置為 l1,無論是顯式還是隱式(例如 Lasso),使用的閾值是 1e-5。否則,默認使用“mean”。- prefit:布爾,默認=假
預擬合模型是否應直接傳遞給構造函數。如果為 True,則必須直接調用
transform
並且 SelectFromModel 不能與cross_val_score
、GridSearchCV
以及克隆估算器的類似實用程序一起使用。否則使用fit
訓練模型,然後使用transform
進行特征選擇。- norm_order:非零 int、inf、-inf、默認=1
在估計器的
coef_
屬性為 2 維的情況下,用於過濾低於threshold
的係數向量的範數階。- max_features:整數,默認=無
要選擇的最大特征數。要僅基於
max_features
進行選擇,請設置threshold=-np.inf
。- importance_getter:str 或可調用,默認='auto'
如果‘auto’,通過估計器的
coef_
屬性或feature_importances_
屬性使用特征重要性。還接受一個字符串,該字符串指定用於提取特征重要性的屬性名稱/路徑(使用
attrgetter
實現)。例如,在TransformedTargetRegressor
的情況下給出regressor_.coef_
或在Pipeline
的情況下給出named_steps.clf.feature_importances_
,最後一步命名為clf
。如果
callable
,覆蓋默認的特征重要性獲取器。可調用對象與擬合的估計器一起傳遞,它應該返回每個特征的重要性。
- estimator_:估計者
構建轉換器的基本估計器。僅當將未擬合的估計器傳遞給
SelectFromModel
時,即 prefit 為 False 時,才存儲此信息。n_features_in_
intfit
期間看到的特征數。- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。threshold_
浮點數用於特征選擇的閾值。
參數:
屬性:
注意:
如果基礎估計器也這樣做,則允許輸入中的 NaN/Inf。
例子:
>>> from sklearn.feature_selection import SelectFromModel >>> from sklearn.linear_model import LogisticRegression >>> X = [[ 0.87, -1.34, 0.31 ], ... [-2.79, -0.02, -0.85 ], ... [-1.34, -0.48, -2.55 ], ... [ 1.92, 1.48, 0.65 ]] >>> y = [0, 1, 0, 1] >>> selector = SelectFromModel(estimator=LogisticRegression()).fit(X, y) >>> selector.estimator_.coef_ array([[-0.3252302 , 0.83462377, 0.49750423]]) >>> selector.threshold_ 0.55245... >>> selector.get_support() array([False, True, False]) >>> selector.transform(X) array([[-1.34], [-0.02], [-0.48], [ 1.48]])
相關用法
- Python sklearn SelectFpr用法及代碼示例
- Python sklearn SelectFdr用法及代碼示例
- Python sklearn SelectFwe用法及代碼示例
- Python sklearn SelectKBest用法及代碼示例
- Python sklearn SelectPercentile用法及代碼示例
- Python sklearn SelfTrainingClassifier用法及代碼示例
- Python sklearn SequentialFeatureSelector用法及代碼示例
- Python sklearn ShrunkCovariance用法及代碼示例
- Python sklearn SparsePCA用法及代碼示例
- Python sklearn SpectralEmbedding用法及代碼示例
- Python sklearn ShuffleSplit用法及代碼示例
- Python sklearn StratifiedGroupKFold用法及代碼示例
- Python sklearn SpectralClustering用法及代碼示例
- Python sklearn Sum用法及代碼示例
- Python sklearn SpectralBiclustering用法及代碼示例
- Python sklearn SVR用法及代碼示例
- Python sklearn SimpleImputer用法及代碼示例
- Python sklearn SGDOneClassSVM用法及代碼示例
- Python sklearn StratifiedShuffleSplit用法及代碼示例
- Python sklearn SVC用法及代碼示例
- Python sklearn SGDRegressor用法及代碼示例
- Python sklearn SplineTransformer用法及代碼示例
- Python sklearn SkewedChi2Sampler用法及代碼示例
- Python sklearn SparseCoder用法及代碼示例
- Python sklearn SGDClassifier用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.feature_selection.SelectFromModel。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。