如何在sklearn中使用RFECV确认最佳功能数?

时间:2019-04-02 05:44:04

标签: scikit-learn cross-validation feature-selection rfe

我有一个包含1000个特征的数据集,我想通过使用sklearn中的RFECV模块并使用以下关键参数来执行特征选择:

  1. 线性内核SVM
  2. step = 1
  3. 简历折合10倍。

我第一次安装RFECV时,它的最佳功能约为30。

然后,我使用了这30个功能的数据库,并再次执行RFECV,这次我得到的结果是20个功能是最好的。

所以我很难理解:

  1. 如果最好的数字可能是20,那么为什么我第一次安装了RFECV,却得到了最好的数字30而不是20?

我用Google搜索了它,但似乎没有人多次执行RFECV。非常感谢您的帮助。

我用于RFECV的代码

svm=SVC(kernel="linear",C=1)
rfecv = RFECV(estimator=svm, step=1, cv=10, scoring="accuracy", verbose=True)
rfecv.fit(features,label)
print("The best num of features: %d" % rfecv.n_features_)

0 个答案:

没有答案