机器学习如何比较不同的功能集

时间:2013-11-20 22:27:05

标签: machine-learning feature-extraction feature-selection

因此,假设我有两组不同的功能A和B.我正在尝试确定哪组功能最佳。我使用留一交叉验证作为最终指标,因为我的数据集很小。我正在试图找出我的实验设置,并且我在几种方式之间做出决定:

1)将特征集A赋予我的分类器(并可选择运行特征选择),并将特征集B赋予同一分类器(也可选择运行特征选择),然后比较这两个分类器之间的LOOCV误差?

2)将特征集A和B赋予分类器,然后明确地运行特征选择,然后根据所选特征绘制更高级别的结论。 (例如,如果选择A中的更多状态,则特征集A似乎具有更多的预后值)

3)其他一些我不知道的方式

2 个答案:

答案 0 :(得分:1)

在你的方法1中,我想知道你为什么使用不同的分类器来实现不同的功能? 我更倾向于选择您的方法2.通过保留培训过程中的所有功能,您可以更好地选择适当的功能,因为不必要功能的权重将会衰减。当你有很多功能时它会很好用,每个功能都有所贡献。在这种方法中,也可以添加正则化因子。

答案 1 :(得分:1)

您所描述的标准程序与方法1非常相似:

  1. 分别在功能集AB上训练相同分类器的两个实例。
  2. 使用某种形式的交叉验证来评估每个,例如10倍交叉验证,或者像你一直使用的那样留下一个。
  3. 如果您没有严格限制使用功能集A xor B,则可以使用与您在2中描述的方法类似的方法获得更好的结果,从而获得新的C

    使用留一交叉验证很难信任结果,使用10倍可能更好。这可能是这样的情况之一,如果你能得到它,更多的数据会有很大的帮助,如果没有,你可能无法进行分析。