機器學習實戰(10)—— 決策樹代碼實現

我們學完決策樹算法原理,來通過 Python 代碼實戰一下。

首先,導入數據集合各種用到的包。並且顯示鳶尾花數據集信息。

from sklearn.datasets import load_iris #導入鳶尾花數據集
from sklearn import tree #導入決策樹模塊
iris = load_iris() #加載數據集
print(iris.DESCR) #顯示數據集信息

用到的是鳶尾花數據集。

然後看一下鳶尾花的四個特徵數據:

iris.data#數據

查看鳶尾花的分類:

iris.target#類別

0、1、2 分別表示 3 種鳶尾花。

引入決策樹算法並訓練模型:

clf = tree.DecisionTreeClassifier()
#clf = tree.DecisionTreeClassifier(max_depth=2)#設置最深的樹的層數
clf.fit(iris.data, iris.target)#訓練決策樹

從下圖可以看出決策樹的默認參數。

接下來進行預測(建議劃分數據集操作):

clf.predict(iris.data)#預測結果

預測結果如上所示。

接下來繪製決策樹。

tree.export_graphviz(clf, out_file='tree.dot')#畫出決策樹

在 jupyter notebook 中顯示決策樹:

%matplotlib inline
from IPython.display import Image
Image('tree.png')

# X[3] petal width  
#values【 , , 】三種的數量

如果想要繪製出上圖的決策樹,需要做一些額外操作。

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

下載後正常安裝,c 盤 programx86 文件夾中,bin 目錄加入環境變量中

cmd 進入圖片目錄

cd C:\Users\Administrator\代碼
dot -T png tree.dot -o tree.png

其實就是將. dot 文件轉爲了. png 格式的圖片。

這就是 Python 實現決策樹的內容,你學會了麼?

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/NaV0CF9hOe5sMtNEXs-UfA