我使用遞歸特徵消除和交叉驗證(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得分。」它們不代表特徵的分數。它們表示在選擇某些特徵時評估者的得分。 –