机器学习:决策树(四) —— sklearn决策树的使用及其可视化
一、简介
基于sklearn的决策树使用很简单,使用DecisionTreeClassifier类即可
进一步,我们希望将该树可视化出来,这时需要用到sklearn中tree.export_graphviz函数和graphviz模块.
Graphviz是一个开源的图形可视化软件。图可视化是将结构信息表示为抽象图和网络图的一种方法。它在网络、生物信息学、软件工程、数据库和网页设计、机器学习以及其他技术领域的可视化接口方面有重要的应用。
python 中有相对应的graphviz模块。但是我们不仅需要在python中成功安装graphviz,还要在系统中安装graphviz,并在系统路径里添加配置(控制面板——》系统——》高级系统设置——》系统属性——》高级——》环境变量——》系统变量——》Path中添加:
C:\Program Files (x86)\Graphviz2.38\bin;
如果是Ubuntu系统,可使用命令 sudo apt-get install graphviz 安装;
如果是Windows系统,则去官网下载安装包,目前稳定版是graphviz-2.38.msi或graphviz-2.38.zip;
如果是Mac系统,可以通过Homebrew安装。
二、代码实现
#%%
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.tree import DecisionTreeClassifier, export_graphviz
import graphviz
#%%
data = load_iris()
features = data['feature_names']
x = data['data']
y = data['target']
data_train, data_val, label_train, label_val = train_test_split(x,y,test_size=0.2)
mytree= DecisionTreeClassifier()
mytree.fit(data_train, label_train)
label_pred = mytree.predict(data_val)
print(classification_report(label_val, label_pred))
dot_data = export_graphviz(mytree, out_file=None)
graph = graphviz.Source(dot_data)
graph.render("iris") //将图像存到iris.pdf中
输出结果为:
三、参考资料
【1】https://blog.csdn.net/weixin_39059031/article/details/81431152
上一篇: 品牌推广可以为企业带来哪些价值?
下一篇: 使用 exe4j打包Java程序