程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(2)

xgboost子树可视化

发布于2019-08-07 13:31     阅读(2528)     评论(0)     点赞(3)     收藏(3)


xgboost子树可视化

背景

训练好的xgboost模型,以树图的方式将子树可视化。

准备

1、python安装pydotplus包,直接pip install pydotplus或者whl文件安装;
2、python安装graphviz包,直接pip install graphviz或者whl文件安装;
3、下载安装graphviz,下载地http://www.graphviz.org/download/;安装完成后应将graphviz的安装路径添加到环境变量Path中:
在这里插入图片描述

示例

import xgboost as xgb
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.datasets import load_breast_cancer
dataset = load_breast_cancer()
X = pd.DataFrame(dataset.data)

#生成特征名map文件;注意:变量名中不能带有空格;i代表indicator数据类型,q代表quantity数据类型
X.columns = pd.Series(dataset.feature_names).str.replace(' ','_')
def create_feature_map(features):
    outfile = open('clf.fmap','w')
    for i,f in enumerate(features):
        outfile.write('{0}\t{1}\tq\n'.format(i,f))
    outfile.close()
create_feature_map(X.columns)

#训练模型
model = xgb.XGBClassifier(n_estimators=5)
model.fit(X, dataset.target)

#模型树可视化
xgb.plot_tree(model, num_trees=0, fmap='clf.fmap')
fig = plt.gcf()
fig.set_size_inches(120,120)
fig.savefig('tree.png')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:遥远的她

链接:https://www.pythonheidong.com/blog/article/11232/053452a6c3dbb7582ea9/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)