绘制决策树
繪制出決策樹
經(jīng)過訓(xùn)練的決策樹,我們可以使用 export_graphviz 導(dǎo)出器以 Graphviz 格式導(dǎo)出決策樹. 如果你是用 conda 來管理包,那么安裝 graphviz 二進(jìn)制文件和 python 包可以用以下指令安裝
conda install python-graphviz
或者,可以從 graphviz 項(xiàng)目主頁(yè)下載 graphviz 的二進(jìn)制文件,并從 pypi 安裝 Python 包裝器,并安裝 ‘pip install graphviz` .以下是在整個(gè) iris 數(shù)據(jù)集上訓(xùn)練的上述樹的 graphviz 導(dǎo)出示例; 其結(jié)果被保存在 iris.pdf 中:
from sklearn.datasets import load_iris from sklearn import tree iris = load_iris() clf_iris = tree.DecisionTreeClassifier() clf_iris = clf.fit(iris.data, iris.target)* 下面的代碼可以到處我們的決策樹 *
:func:export_graphviz 出導(dǎo)出還支持各種美化,包括通過他們的類著色節(jié)點(diǎn)(或回歸值),如果需要,使用顯式變量和類名。
* 注意:默認(rèn)情況下,會(huì)導(dǎo)出圖形文件*
* 更詳細(xì)的內(nèi)容請(qǐng)參考 sklearn官方文檔:sklearn.tree.export_graphviz*
Jupyter notebook也可以自動(dòng)找出相同的模塊
import graphviz # doctest: +SKIP dot_data = tree.export_graphviz(clf, out_file=None) # doctest: +SKIP graph = graphviz.Source(dot_data) # doctest: +SKIP graph.render("iris") # doctest: +SKIPdot_data = tree.export_graphviz(clf, out_file=None, # doctest: +SKIPfeature_names=iris.feature_names, # doctest: +SKIPclass_names=iris.target_names, # doctest: +SKIPfilled=True, rounded=True, # doctest: +SKIPspecial_characters=True) # doctest: +SKIP graph = graphviz.Source(dot_data) # doctest: +SKIP graph # doctest: +SKIP* 之后依舊可以使用該函數(shù)進(jìn)行預(yù)測(cè)數(shù)據(jù)等操作*
clf_iris.predict(iris.data[:1, :]) array([0])畫出決策樹的分類區(qū)域
- sklearn對(duì)應(yīng)文檔
參考資料
- sklearn官方文檔:決策樹
- sklearn官方文檔:繪制決策樹
- sklearn官方文檔:sklearn.tree.export_graphviz
總結(jié)
- 上一篇: sklearn中的分类决策树
- 下一篇: sklearn中的回归决策树