sklearn.tree 中决策树的3种可视化方法

1.  StringIO + export_graphviz + 命令行dot

from sklearn.externals.six import StringIO
with open("iris.dot", 'w') as f:
    f = export_graphviz(dtc, out_file=f)

$ dot -Tps tree.dot -o tree.ps      (PostScript format)
$ dot -Tpng tree.dot -o tree.png    (PNG format)

 

2.  StringIO+export_graphviz+pydotplus

dot_data = StringIO() 
export_graphviz(dtc,out_file = dot_data)

import pydotplus
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.progs = {'dot': u"F:/Anaconda3/Graphviz2.38/bin/dot.exe"}

graph.write_pdf("DecisionTree.pdf")
print('Visible tree plot saved as pdf.')

 

3.  export_text()

>>> from sklearn.datasets import load_iris
>>> from sklearn.tree import DecisionTreeClassifier
>>> from sklearn.tree.export import export_text
>>> iris = load_iris()
>>> X = iris['data']
>>> y = iris['target']
>>> decision_tree = DecisionTreeClassifier(random_state=0, max_depth=2)
>>> decision_tree = decision_tree.fit(X, y)
>>> r = export_text(decision_tree, feature_names=iris['feature_names'])
>>> print(r)
|--- petal width (cm) <= 0.80
|   |--- class: 0
|--- petal width (cm) >  0.80
|   |--- petal width (cm) <= 1.75
|   |   |--- class: 1
|   |--- petal width (cm) >  1.75
|   |   |--- class: 2
...

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值