浏览过网上的其他帖子,发现大多都是进行环境的配置,并没有对结果进行分析。故写此文(其他文章写过的内容,我就不赘述了)。
环境:Python 3.6
源代码:https://gitee.com/zhyantao/DeepLearning/tree/master/DecisionTree
使用工具Graphviz可视化决策树后,可以得到如下所示的一个PDF文件:
与之对应的CSV表格如下所示:
解析
- 信息熵(entropy)作为不确定性的度量,其值越大,代表不确定性越强。因此当entropy=0时,结果时一个确定的值。
- 对于决策树,通过 sklearn 自带的方法,确定了age作为根节点,
- 当
age == middle_aged
时,标签值 class_buys_computer 肯定为 yes ,即 False 指向的方块(这种肯定是因为entropy = 0
)。 - 当
age != middle_aged
时,需要看其他因素,当student == yes
时,不能确定标签值是否唯一(因为entropy != 0
),还是需要看其他因素, - 当
student == yes && age == senior
时,可以肯定标签值为 yes - 当
student == yes
但是age != senior
时,又不能确定标签值是否唯一,因此又需要看其他因素(credit_rating ?= excellent
) - ... 以此类推。
- 当