scikit-learn之决策树可视化

简介:   平时我们在用机器学习建模时,往往只是用建模去分析数据,得到结论。但有时,我们也需要一些可视化的东西,比如决策树可视化等。   在Python的机器学习库scikit-learn中,tree类中的export_graphviz()函数就能导出树的可视化结果。

  平时我们在用机器学习建模时,往往只是用建模去分析数据,得到结论。但有时,我们也需要一些可视化的东西,比如决策树可视化等。
  在Python的机器学习库scikit-learn中,tree类中的export_graphviz()函数就能导出树的可视化结果。下面我们将通过一个简单的例子来展示如何将模型建立的决策树可视化。我们使用的数据是位于E盘中log_reg文件夹下的playTennisTr.csv,数据如下:


playTennisTr.csv

Python代码如下:

# import modules
import pandas as pd
from sklearn import tree
import graphviz

# read data from other places, e.g. csv
# drop_list: variables that are not used
def read_data(file_path, drop_list=[]):
    dataSet = pd.read_csv(file_path,sep=',')
    for col in drop_list:
        dataSet = dataSet.drop(col,axis=1)
    return dataSet

# read data in csv format
file_path = "E://log_reg/playTennisTr.csv"
dataSet = read_data(file_path)
target_var = 'PlayTennis'

# decision tree with CART in scikit_learn
# fit the model by DT in scikit_learn
clf = tree.DecisionTreeClassifier()
clf = clf.fit(dataSet.iloc[:, 0:-1], dataSet[target_var])

dot_data = tree.export_graphviz(clf, out_file=None,
                                feature_names=dataSet.columns[:-1], # 特征名称
                                class_names=['No', 'Yes'], # 目标变量的类别名
                                filled=True, rounded=True,
                                special_characters=True)
graph = graphviz.Source(dot_data)
graph.render('example.gv', directory='E:\\log_reg', view=True)
print('Save example.gv file!\n')

其中,read_data()函数用来读取指定文件路径的csv文件,目标变量为PlayTennis, 该模型生成的决策树模型为clf. 在tree.export_graphviz()中,会生成dot文件,在利用graphviz模块的Source()函数可以将其转化为gv文件,如下图:


生成gv文件

  对于生成后的gv文件,可以用graphviz软件打开(注意:要将graphviz软件的bin文件添加到系统的环境变量中)。如下:

graphviz软件打开文件

在graphviz软件中,可以将刚才的gv文件保存为png, jpg, pdf等格式,如下:

文件保存

我们再去文件夹中查看生成的图片,如下:

生成的决策树图片

  这样我们就能获取建模得到的决策树模型的png, jpg, pdf格式,轻松做到了决策树可视化。
  本次分享到此结束,欢迎大家交流~~

目录
相关文章
|
5月前
|
数据可视化 搜索推荐 大数据
基于python大数据的北京旅游可视化及分析系统
本文深入探讨智慧旅游系统的背景、意义及研究现状,分析其在旅游业中的作用与发展潜力,介绍平台架构、技术创新、数据挖掘与服务优化等核心内容,并展示系统实现界面。
|
7月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
923 0
|
7月前
|
存储 数据可视化 BI
Python可视化应用——学生成绩分布柱状图展示
本程序使用Python读取Excel中的学生成绩数据,统计各分数段人数,并通过Matplotlib库绘制柱状图展示成绩分布。同时计算最高分、最低分及平均分,实现成绩可视化分析。
603 0
|
5月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
5月前
|
机器学习/深度学习 搜索推荐 数据可视化
基于python大数据的音乐可视化与推荐系统
本研究基于Python实现音乐数据采集、清洗、分析与可视化,并结合协同过滤算法构建个性化推荐系统。通过Echarts展示音乐热度及用户偏好,提升用户体验,助力音乐产业智能化发展。
|
5月前
|
搜索推荐 算法 大数据
基于python大数据的旅游景点可视化与推荐系统
本系统基于大数据与网络技术,构建个性化旅游推荐平台。通过收集用户偏好及行为数据,结合机器学习算法,提供精准的旅游目的地、住宿及交通推荐,旨在优化旅游信息传递,提升用户决策效率与旅行体验。
|
6月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
9月前
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
1176 12
Scikit-learn:Python机器学习的瑞士军刀

推荐镜像

更多