【发布时间】:2017-07-02 07:48:00
【问题描述】:
C4.5算法如何处理连续区间的缺失值和属性值?另外,如何修剪决策树?有人可以在示例的帮助下解释一下吗?
【问题讨论】:
标签: algorithm decision-tree c4.5
C4.5算法如何处理连续区间的缺失值和属性值?另外,如何修剪决策树?有人可以在示例的帮助下解释一下吗?
【问题讨论】:
标签: algorithm decision-tree c4.5
假设我们根据是否应该根据天气条件打高尔夫球的典型示例构建了一个决策树。我们可能有这样的训练数据集:
OUTLOOK | TEMPERATURE | HUMIDITY | WINDY | PLAY
=====================================================
sunny | 85 | 85 | false | Don't Play
sunny | 80 | 90 | true | Don't Play
overcast| 83 | 78 | false | Play
rain | 70 | 96 | false | Play
rain | 68 | 80 | false | Play
rain | 65 | 70 | true | Don't Play
overcast| 64 | 65 | true | Play
sunny | 72 | 95 | false | Don't Play
sunny | 69 | 70 | false | Play
rain | 75 | 80 | false | Play
sunny | 75 | 70 | true | Play
overcast| 72 | 90 | true | Play
overcast| 81 | 75 | false | Play
rain | 71 | 80 | true | Don't Play
并用它来构建一个可能看起来像这样的决策树:
Outlook
/ | \
overcast / |sunny \rain
/ | \
Play Humidity Windy
/ | | \
/ | | \
<=75 / >75| true| \false
/ | | \
Play Don'tPlay Don'tPlay Play
Sunny,但没有属性Humidity 的值。另外,假设我们的训练数据有 2 个实例,其前景为Sunny,Humidity 低于 75,标签为Play。此外,假设训练数据有 3 个实例,其中前景为Sunny,Humidity 高于 75,并且标签为Don't Play。因此对于缺少Humidity 属性的测试实例,C4.5 算法将返回[0.4, 0.6] 对应于[Play, Don't Play] 的概率分布。Humidity 属性中看到。 C4.5 算法通过在 65、70、75、78...90 处拆分来测试湿度属性提供的信息增益,发现在 75 处执行拆分提供的信息增益最多。如果想了解更多信息,我会推荐这个我用来编写自己的决策树和随机森林算法的优秀资源:https://cis.temple.edu/~giorgio/cis587/readings/id3-c45.html
【讨论】: