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