画出sklearn中的决策树的图
程序员文章站
2024-02-26 15:53:22
...
经常会使用sklearn中的决策树进行机器学习,比如分类,不过很想对其结果进行可视化,话不多说直接上分类树的代码:
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz
##准备数据
X=[np.random.rand(5) for i in range(200)]
y=[int(np.random.rand()*5) for i in range(200)]
feature_names=['A','B','C','D','E']
class_names=['qingtong','huangjin','baijin','zuanshi','xingyao']
#训练
tree=DecisionTreeClassifier(max_depth=3,random_state=234)
tree.fit(X,y)
##导出dot文件
export_graphviz(
tree,
out_file="C:\\honor_tree.dot",
feature_names=feature_names,
class_names=class_names,
rounded=True,
filled=True
)
运行成功后会出现一个dot文件:honor_tree.dot
想要显示出来这个文件里面的图,需要安装graphviz
这个有windows版的,支持很多个系统
我下的是win版的,很小就几兆
安装成功后,就能在命令行下转生成图像了:
C:\>dot -Tpng honor_tree.dot -o honor_tree.png
结果会生成一个名为honor_tree.png的图片,效果如下:
当然也可以做成回归树:
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeRegressor
from sklearn.tree import export_graphviz
##准备数据
X=[np.random.rand(5) for i in range(200)]
y=[np.random.rand()*50 for i in range(200)]
feature_names=['A','B','C','D','E']
#训练
tree=DecisionTreeRegressor(max_depth=3,random_state=234)
tree.fit(X,y)
##导出dot文件
export_graphviz(
tree,
out_file="C:\\honor_tree_re.dot",
feature_names=feature_names,
rounded=True,
filled=True
)
类似的方式生成图片:
C:\>dot -Tpng honor_tree_re.dot -o honor_tree_re.png
结果如下:
推荐阅读
-
画出sklearn中的决策树的图
-
HTML中的图象标签属性
-
UML中的类图及类与类之间的关系
-
PHP中实现大图自动缩成小图(及GD库的安装)_PHP
-
python基础教程:决策树剪枝算法的python实现方法详解本文实例讲述了决策树剪枝算法的python实现方法。分享给大家供大家参考,具体如下: 决策树是一种依托决策而建立起来的一种树。在机器学习中
-
一文理解决策树算法中的信息增益
-
机器学习决策树算法中特征选项的算法实现——信息熵
-
浅析IOS中播放gif动态图的方法
-
利用sklearn中 ID3算法实现简单的课程销量预测+决策树可视化
-
PHP中利用GD实现的柱状图,phpgd实现柱状图_PHP教程