機(jī)器學(xué)習(xí)入門(mén)第二課:決策樹(shù)的可視化

原視頻地址
分類(lèi)器有很多種,比如神經(jīng)網(wǎng)絡(luò)、或支持向量機(jī),決策樹(shù)則是其中之一。決策樹(shù)一大特點(diǎn)便是簡(jiǎn)單易讀,便于理解。實(shí)際上,決策樹(shù)是為數(shù)不多的可解釋的分類(lèi)器。你可以徹底理解為什么這個(gè)分類(lèi)器做出了這樣的選擇。

鳶尾花數(shù)據(jù)

這節(jié)課使用一組真實(shí)的數(shù)據(jù)集-鳶尾花數(shù)據(jù)?!傍S尾花”是一個(gè)典型的機(jī)器學(xué)習(xí)問(wèn)題。在這個(gè)問(wèn)題中,我們使用不同的測(cè)量標(biāo)準(zhǔn),例如花瓣的寬度、長(zhǎng)度來(lái)辨別是哪種鳶尾花。在數(shù)據(jù)集里有三種不同的鳶尾花,山鳶尾、變色鳶尾、青龍鳶尾。

數(shù)據(jù)集中每種花有50個(gè)樣本,所以共有150個(gè)樣本。每個(gè)樣本有四個(gè)特征值來(lái)描述,分別是萼片和花瓣的長(zhǎng)度和寬度。每行數(shù)據(jù)的前面四列是特征值,最后一列是本行鳶尾花數(shù)據(jù)的種類(lèi),也就是標(biāo)簽。

鳶尾花數(shù)據(jù)集

本節(jié)課的目標(biāo)就是通過(guò)決策器訓(xùn)練這些數(shù)據(jù),然后可視化分類(lèi)器的決策過(guò)程。

導(dǎo)入數(shù)據(jù)

scikit-learn 提供了一系列的樣本數(shù)據(jù)集,我們可以很方便的導(dǎo)入到項(xiàng)目中。

from sklearn.datasets import load_iris
iris = load_iris()

拆分?jǐn)?shù)據(jù)

我們需要 從樣本數(shù)據(jù)中抽取部分?jǐn)?shù)據(jù)作為驗(yàn)證的測(cè)試數(shù)據(jù),剩余數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。

test_index = [0, 50, 100]

# traing data
train_target = np.delete(iris.target, test_index)
train_data = np.delete(iris.data, test_index, axis=0)

這里我們用到了 Numpy。Numpy - 是Python語(yǔ)言的一個(gè)擴(kuò)充程序庫(kù),支持高級(jí)大量的維度數(shù)組矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。
我們先導(dǎo)入 Numpy,這個(gè)庫(kù)包含在 anaconda3-4.4.0 中。

import numpy as np

訓(xùn)練數(shù)據(jù)

這部分和第一課的代碼是一致的。

# testing data
test_target = iris.target[test_index]
test_data = iris.data[test_index]

clf = tree.DecisionTreeClassifier()
clf.fit(train_data, train_target)

print(test_target)

print(clf.predict(test_data))

可視化決策樹(shù)

本課最關(guān)鍵的部分就是如何將決策樹(shù)做出判斷的過(guò)程可視化,需要用到 graphvizpydotplus。
可視化代碼如下:

# viz code

dot_data = StringIO()
tree.export_graphviz(clf,
                        out_file=dot_data,
                        feature_names=iris.feature_names,
                        class_names=iris.target_names,
                        filled=True, rounded=True,
                        impurity=False)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf('iris.pdf')

我們最終將生成 iris.pdf 的決策圖,如下:

決策樹(shù)

B 站視頻網(wǎng)址

我順便把 youtube 的視頻嵌上字幕后上傳到了 B 站,網(wǎng)址在 這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容