应该只对训练数据(或所有数据)进行特征选择吗?我经历了一些讨论和论文,例如Guyon (2003)和Singhi and Liu (2006),但仍然不确定正确答案。
我的实验设置如下:
- 数据集:50 名健康对照和 50 名疾病患者(cca 200 可能与疾病预测相关的特征)。
- 任务是根据可用特征诊断疾病。
我所做的是
- 获取整个数据集并执行特征选择(FS)。我只保留选定的功能以供进一步处理
- 拆分以测试和训练,使用训练数据和选定的特征训练分类器。然后,将分类器应用于测试数据(再次仅使用选定的特征)。使用留一验证。
- 获得分类准确率
- 平均:重复 1)-3) N 次。 (100)。
我同意对整个数据集进行 FS 会引入一些偏差,但我认为它在平均过程中被“平均”(步骤 4)。那是对的吗?(准确度方差)
1 Guyon, I. (2003) “变量和特征选择简介”,机器学习研究杂志,卷。3, pp. 1157-1182
2 Singhi, SK 和 Liu, H. (2006) “分类学习的特征子集选择偏差”,ICML '06 第 23 届机器学习国际会议论文集,第 849-856 页