本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。