我手上有一个分类问题,我想用机器学习算法解决这个问题(可能是贝叶斯或马尔可夫,问题与要使用的分类器无关)。鉴于一些培训实例,我正在寻找一种方法来衡量已实施的分类器的性能,同时考虑数据过度拟合问题。
即:给定N [1..100]训练样本,如果我在每个样本上运行训练算法,并使用这个相同的样本来测量适应度,它可能会陷入数据过度拟合问题 - 分类器将知道训练实例的确切答案,而没有太大的预测能力,使得健身结果无用。
一个明显的解决方案是将手工标记的样品分成训练和测试样品;我想了解选择具有统计学意义的培训样本的方法。
白皮书,书籍指南和PDF非常感谢!
答案 0 :(得分:14)
您可以使用10-fold Cross-validation。我认为这是分类算法性能评估的标准方法。
基本思路是将学习样本分成10个子集。然后使用一个子集用于测试数据,其他子集用于列车数据。对每个子集重复此操作,并计算最终的平均性能。
答案 1 :(得分:2)
正如布朗斯通先生所说,十倍交叉验证可能是最好的方法。我最近不得不使用Weka来评估许多不同分类器的性能。其中有一个API和一大堆工具,可以让您轻松测试许多不同分类器的性能。