这是分类中一个有趣且非常频繁的问题-不仅在决策树中,而且在几乎所有分类算法中。
正如您从经验中发现的那样,由来自每个类别的不同数量的代表组成的训练集可能会导致分类器偏向多数类别。当应用于类似不平衡的测试集时,此分类器将得出乐观的准确性估算值。在极端情况下,分类器可能会将每个测试用例分配给多数类,从而达到与属于多数类的测试用例的比例相等的准确性。这是二进制分类中的一种众所周知的现象(并且自然扩展到多类设置)。
这是一个重要的问题,因为数据集不平衡可能会导致性能估算过高。反过来,这可能会导致有关算法执行效果胜于偶然性的重要性的错误结论。
关于该主题的机器学习文献基本上开发了三种解决方案策略。
您可以通过对大型课程进行低采样或对小型课程进行过度采样来恢复训练集上的平衡,从而避免出现偏见。
或者,您可以再次修改错误分类的成本,如先前的答复所述,以防止偏差。
ϕ := 12(π++ π-),π+π-
我建议至少结合使用上述两种方法。例如,您可以对少数派类别进行过度采样,以防止分类器获得偏爱多数派的偏见。然后,在评估分类器的性能时,可以用平衡精度代替精度。两种方法是互补的。当一起使用时,它们应该可以帮助您避免最初的问题并避免随之而来的错误结论。
如果您想对此进行跟进,我很乐意为文献提供其他参考。