我使用递归特征消除和交叉验证(rfecv)来寻找我拥有的多个特征(m =154)的最佳准确性得分。
rfecv = RFECV(estimator=logreg, step=1, cv=StratifiedKFold(2),
scoring='accuracy')
rfecv.fit(X, y)
排名(rfecv.ranking_)和相关分数(rfecv.grid_scores_)对我来说很令人困惑。正如您在前13个功能中看到的(排名前10个),它们的排名不是基于分数。我理解排名与交叉验证过程中特征被排除的方式和时间有关。但是分数与排名有何关系呢?我希望排名最高的功能具有最高的分数。
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_
不是特征得分。 - Vivek Kumargrid_scores_
的大小与ranking_
相同。将step
更改为大于1,以查看效果。 - Vivek Kumar