瀏覽過網上的其他帖子,發現大多都是進行環境的配置,並沒有對結果進行分析。故寫此文(其他文章寫過的內容,我就不贅述了)。
環境:Python 3.6
源代碼:https://gitee.com/zhyantao/DeepLearning/tree/master/DecisionTree
使用工具Graphviz可視化決策樹后,可以得到如下所示的一個PDF文件:
與之對應的CSV表格如下所示:
解析
- 對於①,可以發現在csv文件中,有4個age=middle_aged並且標記buy=1,故samples=4, value[不買=0,買=4]
- 對於②,除了上面的4個,還剩下10個,在這10個中,credit_rating=excellent的一共有5個,有3個買,剩下的2個不買。故②處的samples=3,value=[不買=0, 買=3]
注意:
- 信息熵(entropy)作為不確定性的度量,其值越大,代表不確定性越強。因此當entropy=0時,結果時一個確定的值。
- 對於決策樹,通過 sklearn 自帶的方法,確定了age作為根節點