假设有如下一批水果的数据信息统计表:

水果类型 总个数 长条 甜 黄色 香蕉 500 400 350 450 橘子 300 0 150 300 其他 200 100 150 50 总计 1000 500 650 800

分别采用ID3,C4.5和CART算法,建立树桩模型(即深度为1的决策树模型),并画出决策树。

由于表中没有给出具体的属性,我们暂且用'形状'、'口感'、'颜色'作为属性,对应到表中为'长条'、'甜'、'黄色'。

ID3算法:

第一步:计算每个属性的信息增益,选择信息增益最大的属性作为根节点。具体计算如下:

  • 形状:信息增益=H(0.5,0.3,0.2)-[0.5H(0.8,0.2)+0.3H(0,1)+0.2*H(0.5,0.5)]=0.091
  • 口感:信息增益=H(0.65,0.35)-[0.5H(0.8,0.2)+0.5H(0.5,0.5)]=0.155
  • 颜色:信息增益=H(0.8,0.2)-[0.5H(0.9,0.1)+0.5H(0.4,0.6)]=0.048

因此选择口感作为根节点。

第二步:根据口感属性的取值(甜/不甜)划分出子节点,每个子节点中占比最大的类别作为该子节点的类别,即:

  • 甜:香蕉
  • 不甜:橘子

因此得到决策树如下:

ID3算法决策树

C4.5算法:

C4.5算法与ID3算法类似,不同之处在于C4.5算法使用信息增益比来选择属性。具体计算过程与ID3算法类似,只是在计算信息增益时将其除以属性的固有值,即:

  • 形状:信息增益比=0.091/log2(400/500)=0.159
  • 口感:信息增益比=0.155/log2(650/1000)=0.256
  • 颜色:信息增益比=0.048/log2(800/1000)=0.082

因此选择口感作为根节点,得到决策树如下:

C4.5算法决策树

CART算法:

CART算法与前两种算法不同,它采用基尼指数来选择属性。具体计算过程如下:

  • 形状:基尼指数=1-(0.50.5+0.30.7+0.2*0.8)=0.455
  • 口感:基尼指数=1-(0.650.35+0.350.65)=0.459
  • 颜色:基尼指数=1-(0.80.2+0.20.8)=0.32

因此选择颜色作为根节点,得到决策树如下:

CART算法决策树

需要注意的是,由于在这个例子中属性只有3个,且每个属性只有2个取值,因此三种算法得到的决策树是一样的。在实际应用中,三种算法可能得到不同的决策树,需要根据具体的情况选择最合适的算法。

水果分类决策树模型:ID3、C4.5、CART算法对比

原文地址: https://www.cveoy.top/t/topic/nXdw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录