【问题标题】:Why does the accuracy of classification drop with the increase of features used when using RFECV in scikit-learn?为什么在 scikit-learn 中使用 RFECV 时,分类精度会随着使用的特征的增加而下降?
【发布时间】:2015-06-02 21:38:34
【问题描述】:

谁能解释一下为什么分类的准确性会随着 Scikit-learn 中使用交叉验证的递归特征消除的特征的增加而下降?从此处 Scikit-learn 文档中报告的示例:Recursive feature elimination with cross-validation,似乎使用 7 个特征时产生了最好的分类结果。然而,当使用 17 个特征时,准确率下降了 25%。这怎么可能?我希望准确度会随着功能的增加而不断提高。

【问题讨论】:

    标签: python scikit-learn classification svm rfe


    【解决方案1】:

    您所指的文档版本为旧版本。示例的当前版本是here 如果删除特征总是会降低性能,那么进行特征选择就没有意义了。 移除与目标无关的特征会减少过拟合。

    【讨论】:

    • 感谢您的回复!即使在您的示例中,使用 3 和 25 特征时,准确度也会从 0.82 下降到 0.73。这是什么原因?我仍然希望通过删除特征会看到性能不断下降,并且在这种情况下进行特征选择仍然有意义(例如,如果您需要 3000 和 30 个特征分别产生 0.8 和 0.75 的准确度,我会选择第二个) )。
    • 正如我所说,删除不相关的特征可以减少过度拟合,从而提供更好的泛化。
    猜你喜欢
    • 2013-01-09
    • 2019-09-17
    • 2019-04-14
    • 2014-03-18
    • 2014-02-17
    • 2018-03-22
    • 2021-05-21
    • 2017-01-23
    • 2017-07-18
    相关资源
    最近更新 更多