我使用递归特征消除和交叉验证(rfecv)为了找到我有的几个特征(m = 154)的最佳准确性分数。scikit学习(sklearn)中的特征如何排在RFECV中?
rfecv = RFECV(estimator=logreg, step=1, cv=StratifiedKFold(2),
scoring='accuracy')
rfecv.fit(X, y)
的排名(rfecv.ranking_
)和相关的得分(rfecv.grid_scores_
)是混淆了我。正如你可以从排名前十的特征(排名前十)中看到的,他们的排名不是基于分数。我知道排名与在交叉验证过程中排除功能的方式和时间有关。但是,这个分数与排名有什么关系?我希望排名最高的功能得分最高。
Features/Ranking/Scores
b 1 0.692642743
a 1 0.606166207
f 1 0.568833672
i 1 0.54935204
l 2 0.607564808
j 3 0.613495238
e 4 0.626374391
l 5 0.581064621
d 6 0.611407556
c 7 0.570921354
h 8 0.570921354
k 9 0.576863707
g 10 0.576863707
你错误地解释了'grid_scores_'和'ranking_'。他们没有任何关联。 'grid_scores_'不是特征分数。 –
他们的得分是多少?你能详细说明吗?那么排名是什么呢?感谢您抽出宝贵的时间。 –
从文档:“交叉验证得分,grid_scores_ [i]对应于第i个要素子集的CV得分。”它们不代表特征的分数。它们表示在选择某些特征时评估者的得分。 –