首页 > 解决方案 > 决策树的 CART 算法中的基尼指数如何最小化?

问题描述

例如,对于神经网络,我通过使用反向传播算法来最小化成本函数。决策树中的基尼指数是否有等价物?

CART 算法总是声明“选择集合 A 的分区,以最小化 Gini-Index”,但我如何在数学上实际得到该分区?

对此的任何输入都会有所帮助:)

标签: optimizationneural-networkcartdecision-treebackpropagation

解决方案


对于决策树,有不同的方法可以拆分年龄、体重、收入等连续变量。

A) 将连续变量离散化,以将其用作 DT 算法各个方面的分类变量。可以这样做:

  • 在开始时仅一次,然后保持此离散化静态
  • 在需要拆分的每个阶段,使用百分位数或区间范围或聚类对变量进行分桶

B) 拆分变量所有可能的不同值,看看基尼指数下降幅度最大的地方。这在计算上可能很昂贵。因此,有一些优化的变体,您可以对变量进行排序,而不是选择所有不同的值,而是选择两个连续值之间的中点作为拆分。例如,如果变量“体重”在数据点中有 70、80、90 和 100 公斤,尝试 75、85、95 作为拆分并选择最好的一个(基尼或其他杂质的降幅最高)

但是,在 python 中的 scikit-learnR 中的 rpart和 pyspark 中的mlib 包中实现的确切分割算法是什么,以及它们在分割连续变量方面的区别是什么我不确定以及我仍在研究。


推荐阅读