在scikit learn(sklearn)中,功能在RFECV中的排名如何?

2024-05-14 18:50:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用递归特征消除和交叉验证(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)中可以看出,它们的排名不是基于分数。我知道排名与如何以及何时在交叉验证过程中排除该特性有关。但是分数和排名有什么关系呢?我希望排名最高的功能会有最高的分数。在

^{pr2}$

Tags: step精度特征特性交叉分数cvfit
1条回答
网友
1楼 · 发布于 2024-05-14 18:50:14

_grid_scores不是第i个特征的分数,它是估计器用第i个特征子集训练时产生的分数。在

要理解这意味着什么,记住递归特征消除(RFE)的工作原理是训练模型,评估它,然后删除{}最不重要的特性,然后重复。在

因此,_grid_score[-1]将是对所有特征进行训练的估计器的分数。_grid_score[-2]将是去掉step特征的估计器的分数。_grid_score[-3]将是去掉2*step特征的估计器的分数。在

因此,网格分数并不反映单个特征的得分。事实上,如果步长大于1,网格分数将比特征值少。在

相关问题 更多 >

    热门问题