【问题标题】:Implementing recursive feature elimination in Matlab在 Matlab 中实现递归特征消除
【发布时间】:2018-05-21 14:52:30
【问题描述】:

我正在 Matlab 中实现递归特征消除 (RFE) 算法,并且有以下算法问题:

使用 RFE,我想绘制用于分类的特征数量与分类准确度的关系。现在说我有 5 个特征,我根据线性分类器赋予它们的权重(例如线性 SVM)对它们进行排名。哪种方法是正确的:

  1. 根据训练集 k 对特征进行排名,并根据这个特定排名计算在 {1,...,5} 特征中使用 n 的准确度(因此基于相同排名的准确度计算 5火车组)

  1. 根据训练集对特征进行排名,计算 n 个特征的准确度,根据下一个训练集再次对特征进行排名,现在计算前 n+1 个特征的准确度

在我看来 1 是正确的,因为相同的训练集用于计算 1、...、5 个特征的准确度,使其具有一定的可比性 - 对吗?

【问题讨论】:

    标签: matlab machine-learning classification


    【解决方案1】:

    特征可能对不同的数据集有不同的影响。因此,我建议您实施第一种使用相同训练集的方法,因为您想比较一些特征。

    但是,我不确定您要绘制的图形是否有意义,以及它是否与递归特征消除有关。如果要绘制特征数量与分类准确度的关系,则需要实现各种特征集并评估模型。例如,如果您有 3 个特征 f1f2f3,那么您需要生成 7 个特征集;

    f1, f2, f3
    f1, f2
    f1, f3
    f2, f3
    f1
    f2
    f3
    

    【讨论】:

    • 非常感谢。让我更好地理解:您建议的绘图也与任何排名无关,但它基本上根据所有可能的子集计算准确性。所以一个 RFE 的情节就像这个情节 - 为什么它不应该基于特征的排名? :scikit-learn.org/stable/_images/…
    猜你喜欢
    • 2018-05-21
    • 2018-05-23
    • 2020-10-27
    • 2020-04-05
    • 2019-07-15
    • 2020-03-24
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多