如何解决RFECV网格分数中的数字是否等于所选功能?
我正在寻求与RFECV中与selector.grid_scores_
相关的数字的明确说明。
我使用了以下内容:
from sklearn.feature_selection import RFECV
estimator_RFECV = ExtraTreesClassifier(random_state=0)
estimator_RFECV = RFECV(estimator_RFECV,min_features_to_select = 20,step=1,cv=5,scoring='accuracy',verbose=1,n_jobs=-1)
estimator_RFECV = estimator_RFECV.fit(X_train,y_train)
使用estimator_RFECV.ranking_
,通过CV选择了27个特征,但是,当我查看estimator_RFECV.grid_scores_
的27时,此处的值(准确性)不是最高的。我是不是在解释grid_scores_
的错误,我不应该期望27的准确性最高?
解决方法
- 在这里,estimator_RFECV.ranking_将为您提供要素排名的数组,以使rank_ [i]对应于第i个要素的排名位置。选定的(即最佳估计)特征被分配为等级1,等级2的重要性不如等级1,依此类推。
因此estimator_RFECV.ranking_将为我们提供特征排名,或者我们可以说特征的重要性。
- 但是,estimator_RFECV.grid_scores_会根据评分指标,min_features_to_select和最大可用功能数为我们提供阵列。在上述情况下,它应包含8个元素,每个元素代表具有X个重要特征的准确性,其中X属于20到27。
是的,具有较少特征数量的模型总是有可能具有较高的准确性,因为我们认为有些特征是不相关的。
此外,官方文档中的RFECV documentation链接可能会有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。