决策树、随机森林结果可视化

决策树、随机森林结果可视化

本文测试环境为 python3

一、 决策树可视化环境搭建

scikit-learn中决策树的可视化一般需要安装graphviz。主要包括graphviz的安装和python的graphviz插件的安装。

  • 第一步是安装graphviz。
    下载地址在:http://www.graphviz.org/。如果你是linux,可以用apt-get或者yum的方法安装。如果是windows,就在官网下载msi文件安装。无论是linux还是windows,装完后都要设置环境变量,将graphviz的bin目录加到PATH,比如我是windows,将 G:/program_files/graphviz/bin/ 加入了PATH
  • 第二步是安装python插件graphviz:
    pip install graphviz
  • 第三步是安装python插件pydotplus。这个没有什么好说的:
    pip install pydotplus

这样环境就搭好了,有时候python会很笨,仍然找不到graphviz,这时,可以在代码里面加入这一行:

import os
os.environ["PATH"] += os.pathsep + 'G:/program_files/graphviz/bin'

注意后面的路径是你自己的graphviz的bin目录。

二、 决策树可视化的三种方法

可视化需要在模型训练好后,即执行clf.fit(x, y)函数之后:

第一种

with open("iris.dot", 'w') as f:
    f = tree.export_graphviz(clf, out_file=f)

然后打开命令行,执行:

#注意,这个命令在命令行执行
dot -Tpdf iris.dot -o iris.pdf

第二种

使用pydotplus库:

import pydotplus 
dot_data = tree.export_graphviz(clf, out_file=None) 
graph = pydotplus.graph_from_dot_data(dot_data) 
graph.write_pdf("iris.pdf") 

第三种

使用IPython的display。需要安装jupyter notebook。

from IPython.display import Image
## 添加graphviz的环境变量
import os
os.environ["PATH"] += os.
  • 38
    点赞
  • 258
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
随机森林回归可视化通常采用特征重要性和决策树可视化两种方式。 1. 特征重要性可视化 随机森林模型可以通过特征重要性来评估每个特征对目标值的影响程度。我们可以通过可视化特征重要性来了解哪些特征对模型的预测结果最为重要。 首先,训练一个随机森林回归模型: ```python from sklearn.ensemble import RandomForestRegressor # 构建训练集和测试集 X_train, X_test, y_train, y_test = ... # 训练随机森林回归模型 rf = RandomForestRegressor(n_estimators=100, random_state=42) rf.fit(X_train, y_train) ``` 然后,我们可以获取每个特征的重要性得分: ```python importances = rf.feature_importances_ ``` 最后,我们可以将重要性得分可视化: ```python import matplotlib.pyplot as plt # 特征重要性可视化 feat_importances = pd.Series(importances, index=X_train.columns) feat_importances.nlargest(10).plot(kind='barh') plt.show() ``` 2. 决策树可视化 随机森林是由多个决策树组成的,我们可以通过可视化单个决策树来了解模型的决策过程。 首先,我们需要从随机森林中选择一棵决策树: ```python from sklearn.tree import export_graphviz import pydotplus from IPython.display import Image # 获取第一棵决策树 estimator = rf.estimators_[0] ``` 然后,我们可以使用Graphviz将决策树可视化: ```python # 导出决策树为DOT格式 export_graphviz(estimator, out_file='tree.dot', feature_names = X_train.columns, rounded = True, proportion = False, precision = 2, filled = True) # 将DOT格式转换为PNG格式 graph = pydotplus.graph_from_dot_file('tree.dot') Image(graph.create_png()) ``` 上述代码将会在Jupyter Notebook中显示一张PNG格式的决策树。如果你不在Jupyter Notebook中使用,你可以使用其他的方法来显示PNG图片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值