機(jī)器學(xué)習(xí)基礎(chǔ):決策樹(shù)的可視化
↑↑↑點(diǎn)擊上方藍(lán)字,回復(fù)資料,10個(gè)G的驚喜
目前無(wú)論是機(jī)器學(xué)習(xí)競(jìng)賽還是工業(yè)界,最流行、應(yīng)用最廣泛的xgboost其實(shí)是優(yōu)化后的GBDT(LightGBM里面的boosting比較經(jīng)典穩(wěn)定的也是GBDT哦?。鳪BDT的基分類(lèi)器最常用的就是CART決策樹(shù)!掌握決策樹(shù),對(duì)理解之后的GBDT、LightGBM都有大有裨益。
決策樹(shù)原理及案例我們之前已經(jīng)講過(guò)很多,感興趣的同學(xué)在上面搜索框搜索‘決策樹(shù)’即可,本文我們僅介紹可視化工具包的安裝配置方法和決策樹(shù)可視化方法/解析,讓大家對(duì)決策樹(shù)有更形象的理解。
GraphViz配置指南
GraphViz是AT&T Lab開(kāi)發(fā)的開(kāi)源工具包,用于繪制dot語(yǔ)言腳本描述的圖形,我們只需要關(guān)心點(diǎn)和邊的關(guān)系,不需考慮布局、位置等,用來(lái)結(jié)合Python繪制圖模型真是再好不過(guò)。
Graphviz 應(yīng)用程序中有多種工具可以生成各種類(lèi)型的圖表(dot、neato、circo、twopi 等)。本文將重點(diǎn)介紹用于生成層級(jí)圖的dot工具。
環(huán)境配置步驟:
1、首先下載安裝包graphviz-2.38.msi,下載地址為graphviz官網(wǎng)
2、雙擊msi文件,然后一直選擇next(默認(rèn)安裝路徑為C:\Program Files (x86)\Graphviz2.38\),安裝完成之后,會(huì)在windows開(kāi)始菜單創(chuàng)建快捷信息。
3、配置環(huán)境變量:計(jì)算機(jī)→屬性→高級(jí)系統(tǒng)設(shè)置→高級(jí)→環(huán)境變量→系統(tǒng)變量→path,在path中加入路徑:
4、驗(yàn)證:在windows命令行界面,輸入dot -version,然后按回車(chē),如果顯示如下圖所示的graphviz相關(guān)版本信息,則安裝配置成功。
5、在C:/Users/H.X.X/anaconda3/Lib/site-packages找到pydot.py這個(gè)文件,在spyder里面用Ctrl+F搜索self.prog,把self.prog=‘dot’改成’dot.exe’,保存。一共會(huì)搜出六個(gè)結(jié)果,只需要改這一處就好。
6、安裝graphviz和pydotplus的python模塊, 它的安裝和安裝普通的模塊一樣, 就是使用pip:
7、在Python終端測(cè)試,配置完畢
CART@GraphViz可視化
from sklearn.datasets import load_irisfrom sklearn import treeimport pydotplusimport sysimport osiris = load_iris()clf = tree.DecisionTreeClassifier()clf = clf.fit(iris.data, iris.target)from IPython.display import Imagedot_data = tree.export_graphviz(clf, out_file=None,feature_names=iris.feature_names,class_names=iris.target_names,filled=True, rounded=True,special_characters=True)graph = pydotplus.graph_from_dot_data(dot_data)Image(graph.create_png())
除葉節(jié)點(diǎn)(終端節(jié)點(diǎn))之外的所有節(jié)點(diǎn)都有 5 部分
基于一個(gè)特征的值的有關(guān)數(shù)據(jù)的問(wèn)題。每個(gè)問(wèn)題的答案要么是 True,要么就是 False。數(shù)據(jù)點(diǎn)會(huì)根據(jù)該問(wèn)題的答案在該決策樹(shù)中移動(dòng)。
gini:節(jié)點(diǎn)的基尼不純度。當(dāng)沿著樹(shù)向下移動(dòng)時(shí),平均加權(quán)的基尼不純度必須降低。
samples:節(jié)點(diǎn)中觀察的數(shù)量。
value:每一類(lèi)別中樣本的數(shù)量。比如,頂部節(jié)點(diǎn)中有 2 個(gè)樣本屬于類(lèi)別 0,有 4 個(gè)樣本屬于類(lèi)別 1。
class:節(jié)點(diǎn)中大多數(shù)點(diǎn)的類(lèi)別(持平時(shí)默認(rèn)為 0)。在葉節(jié)點(diǎn)中,這是該節(jié)點(diǎn)中所有樣本的預(yù)測(cè)結(jié)果。
—END— 歡迎添加我的微信,更多精彩,盡在我的朋友圈。 ↓掃描二維碼添加好友↓ 推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
當(dāng) 當(dāng) 網(wǎng),花160買(mǎi)400的書(shū)!
囤書(shū)福利 | 數(shù)學(xué)篇(10本好書(shū))








