Я использовал рекурсивное устранение признаков и перекрестную проверку (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_
— это не множество функций. - person Vivek Kumar   schedule 28.02.2017grid_scores_
такой же, какranking_
. Изменитеstep
на более чем 1, чтобы увидеть эффект. - person Vivek Kumar   schedule 01.03.2017