机器学习基础:决策树的可视化

简介: 机器学习基础:决策树的可视化

目前无论是机器学习竞赛还是工业界,最流行、应用最广泛的xgboost其实是优化后的GBDT(LightGBM里面的boosting比较经典稳定的也是GBDT哦!),而GBDT的基分类器最常用的就是CART决策树!掌握决策树,对理解之后的GBDT、LightGBM都有大有裨益。


决策树原理及案例我们之前已经讲过很多,感兴趣的同学在上面搜索框搜索‘决策树’即可,本文我们仅介绍可视化工具包的安装配置方法和决策树可视化方法/解析,让大家对决策树有更形象的理解。


GraphViz配置指南


GraphViz是AT&T Lab开发的开源工具包,用于绘制dot语言脚本描述的图形,我们只需要关心点和边的关系,不需考虑布局、位置等,用来结合Python绘制图模型真是再好不过。


640.png


Graphviz 应用程序中有多种工具可以生成各种类型的图表(dot、neato、circo、twopi 等)。本文将重点介绍用于生成层级图的dot工具。


环境配置步骤:


1、首先下载安装包graphviz-2.38.msi,下载地址为graphviz官网


image.png


2、双击msi文件,然后一直选择next(默认安装路径为C:\Program Files (x86)\Graphviz2.38\),安装完成之后,会在windows开始菜单创建快捷信息。


image.png


3、配置环境变量:计算机→属性→高级系统设置→高级→环境变量→系统变量→path,在path中加入路径:

image.png

4、验证:在windows命令行界面,输入dot -version,然后按回车,如果显示如下图所示的graphviz相关版本信息,则安装配置成功。

image.png

5、在C:/Users/H.X.X/anaconda3/Lib/site-packages找到pydot.py这个文件,在spyder里面用Ctrl+F搜索self.prog,把self.prog=‘dot’改成’dot.exe’,保存。一共会搜出六个结果,只需要改这一处就好。

image.png

6、安装graphviz和pydotplus的python模块, 它的安装和安装普通的模块一样, 就是使用pip:

image.png

7、在Python终端测试,配置完毕

image.png

CART@GraphViz可视化

from sklearn.datasets import load_iris
from sklearn import tree
import pydotplus
import sys
import os       
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
from IPython.display import Image  
dot_data = tree.export_graphviz(clf, out_file=None, 
                         feature_names=iris.feature_names,  
                         class_names=iris.target_names,  
                         filled=True, rounded=True,  
                         special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data)  
Image(graph.create_png())

image.png


除叶节点(终端节点)之外的所有节点都有 5 部分


  • 基于一个特征的值的有关数据的问题。每个问题的答案要么是 True,要么就是 False。数据点会根据该问题的答案在该决策树中移动。
  • gini:节点的基尼不纯度。当沿着树向下移动时,平均加权的基尼不纯度必须降低。
  • samples:节点中观察的数量。
  • value:每一类别中样本的数量。比如,顶部节点中有 2 个样本属于类别 0,有 4 个样本属于类别 1。
  • class:节点中大多数点的类别(持平时默认为 0)。在叶节点中,这是该节点中所有样本的预测结果。
相关文章
|
4天前
|
机器学习/深度学习 数据采集 算法
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
|
1天前
|
机器学习/深度学习 算法 数据处理
探索机器学习中的决策树算法
【5月更文挑战第18天】探索机器学习中的决策树算法,一种基于树形结构的监督学习,常用于分类和回归。算法通过递归划分数据,选择最优特征以提高子集纯净度。优点包括直观、高效、健壮和可解释,但易过拟合、对连续数据处理不佳且不稳定。广泛应用于信贷风险评估、医疗诊断和商品推荐等领域。优化方法包括集成学习、特征工程、剪枝策略和参数调优。
|
4天前
|
机器学习/深度学习 算法
理解并应用机器学习算法:决策树
【5月更文挑战第12天】决策树是直观的分类与回归机器学习算法,通过树状结构模拟决策过程。每个内部节点代表特征属性,分支代表属性取值,叶子节点代表类别。构建过程包括特征选择(如信息增益、基尼指数等)、决策树生成和剪枝(预剪枝和后剪枝)以防止过拟合。广泛应用在信贷风险评估、医疗诊断等领域。理解并掌握决策树有助于解决实际问题。
|
4天前
|
机器学习/深度学习 算法 数据可视化
【Python机器学习专栏】决策树算法的实现与解释
【4月更文挑战第30天】本文探讨了决策树算法,一种流行的监督学习方法,用于分类和回归。文章阐述了决策树的基本原理,其中内部节点代表特征判断,分支表示判断结果,叶节点代表类别。信息增益等标准用于衡量特征重要性。通过Python的scikit-learn库展示了构建鸢尾花数据集分类器的示例,包括训练、预测、评估和可视化决策树。最后,讨论了模型解释和特征重要性评估在优化中的作用。
|
4天前
|
机器学习/深度学习 人工智能 算法
【机器学习】探究Q-Learning通过学习最优策略来解决AI序列决策问题
【机器学习】探究Q-Learning通过学习最优策略来解决AI序列决策问题
|
4天前
|
机器学习/深度学习 算法 Python
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享(下)
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
|
4天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享(上)
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
|
4天前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
|
4天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
4天前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
34 1

热门文章

最新文章