假设我有两组不同的功能 A 和 B。我正在尝试确定哪一组功能最好。由于我的数据集很小,我使用留一法交叉验证作为最终指标。我正在尝试弄清楚我的实验设置,并在以下几种方法之间做出决定:
1) 将特征集 A 赋予我的分类器(并可选择运行特征选择),并将特征集 B 赋予同一分类器(也可选择运行特征选择),然后比较这 2 个分类器之间的 LOOCV 误差?
2)将特征集A和B提供给分类器,然后明确地对其进行特征选择,然后根据所选特征得出更高层次的结论。 (例如,如果从 A 中选择了更多,则表明特征集 A 似乎具有更多的预后值(value))
3)我不知道的其他方式
最佳答案
您所描述的标准过程与方法 1 非常相似:
- 分别在特征集
A
和B
上训练相同分类器的两个实例。 - 使用某种形式的交叉验证(例如 10 折交叉验证)对每一项进行评估,或者像您一直在使用的那样省略一项。
也就是说,如果您没有严格限制功能集A xor B
,那么您可以使用与您类似的方法派生新集C
,从而获得更好的结果2中描述。
很难相信使用留一法交叉验证的结果,最好使用 10 倍。这可能是其中一种情况,如果您可以获得更多数据,那么更多数据将有很大帮助,否则您可能无法执行分析。
关于machine-learning - 机器学习如何比较不同的特征集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20108399/