機器學習-視覺化決策樹

環境: Anaconda 3 + Jupyter Notbook

分類(Classification)與迴歸(Regression)都屬於監督式學習(Supervised learning),決策樹(Decision Tree Classifiers)是可以處理多元分類問題的演算法,在上一次使用鳶尾花資料集iris,做為決策樹機器學習流程之示範,本次將延續並視覺化畫出決策樹,並解讀此決策樹。

1、 回顧前一次的決策樹程式碼。

2、 如要視覺化畫出決策樹的「樹」,可以安裝graphviz。graphviz總共需要一個軟體和一個函式庫,需要import函式庫這個轉接器,接續將決策樹變成graphviz這套軟體可以使用的型式。
參數說明:feature_names帶入四個特徵值,class_names帶入三種花型,filled填顏色。
3、 執行之後,可以得到以下的決策樹型。Samples=120,表示共120朵花,其中38朵是第一種花型Setosa(山鳶尾),43朵是第二種Versicolour(雜色鳶尾),39朵是第三種花Virginica(維吉尼亞鳶尾)。
4、 從決策樹第一個區塊開始,使用花瓣寬度(petal width)<=0.7分成左、右兩邊。

決策劃分點:petal width(cm) <=0.7
落入這區的gini不純度(猜錯機率):gini=0.666
這區裡有幾筆資料:samples=120
各自的類別:value=[38,43,39]
最多的類別:class=versicolor(雜色鳶尾)
5、 分到左邊的「橘色」區塊時,總共有38朵花,依value=[38,0,0]可以判讀這38朵都是Setosa(山鳶尾),gini=0.0,表示猜錯機率為0,猜對機率為100%(即完全不可能猜錯),此類別確定便不再繼續分。
6、 分到右邊「淺綠」區塊時,因還無法分出第二種和第三種花型(欠擬合),便需要再依據petal length(cm)<=1.65來進行劃分。
7、 分到第三層時,兩邊皆已能明確分出第二種和第三種花型,信心程度極高,此時便是最穩定的狀態。
本次簡單針對視覺化的決策樹進行說明,您也能依照不同的資料集來試試唷!

- 回446期電子報主頁 -

財團法人中華民國電腦技能基金會版權所有,未經確認授權,嚴禁轉貼節錄
 TEL:02-2577-8806 ‧ FAX:02-2577-8135 服務信箱: [email protected]