在使用决策树时,有一件事需要特殊注意,那就是过拟合。
问题的根源在于,标准的决策树算法在每个节点上贪婪地选择最佳分裂,导致决策树被允许生长,直到所有叶子节点都是纯的。
当模型正确分类了所有训练实例,也就导致了 100% 的过拟合和较差的泛化能力。
例如,考虑这个虚拟数据集:
在数据集上拟合一个决策树,并可视化它。
通过分析训练和测试性能指标,很明显,模型已经在训练数据集上过拟合了。
那如何解决呢?
在使用决策树时,有一件事需要特殊注意,那就是过拟合。
问题的根源在于,标准的决策树算法在每个节点上贪婪地选择最佳分裂,导致决策树被允许生长,直到所有叶子节点都是纯的。
当模型正确分类了所有训练实例,也就导致了 100% 的过拟合和较差的泛化能力。
例如,考虑这个虚拟数据集:
在数据集上拟合一个决策树,并可视化它。
通过分析训练和测试性能指标,很明显,模型已经在训练数据集上过拟合了。
那如何解决呢?