python可视化决策树

本文探讨了如何使用Python的sklearn库进行房价数据的决策树回归,并比较了graphviz和pydot两种可视化回归树的不同方法。作者展示了从数据预处理到模型训练,再到图形生成的完整流程,同时解决了graphviz在Windows环境下缺失的问题。
摘要由CSDN通过智能技术生成

直接上代码把:

import pandas as pd
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error,r2_score,mean_absolute_error

读取数据:

df=pd.read_csv('housing_data.csv')  #数据是我自己以前爬的房价数据,这里用来演示

切分特征集和标签:

features=df[[column for column in list(df.columns) if column!='ln_unitprice']]
price=df['ln_unitprice']

构造训练集和测试集:

train_f,test_f,train_p,test_p=train_test_split(features,price,test_size=0.33)

构建回归树模型:

dtr=DecisionTreeRegressor()
dtr.fit(train_f,train_p)

接下来就是涉及到怎么将回归树进行可视化的步骤。一般采用的是graphviz软件。
首先,导入响应的包,如果每安装的话,可以先安装,一般在cmd中键入pip install 包名,就可以安装。

from sklearn.tree import export_graphviz
import graphviz
  1. 输出回归树的pdf
tree_pic = export_graphviz(dtr, out_file="mytree.pdf")

但是输出结果,我截图如下:
在这里插入图片描述
这妥妥的没有树的感觉呀!所以我搜寻了第二种回归树的可视化的方法:
2. 使用pydot进行可视化

from sklearn.externals.six import StringIO
import pydot
dot_data = StringIO()
tree.export_graphviz(dtr, out_file=dot_data,
                        feature_names=features.columns,
                        class_names=price.columns,
                        filled=True, rounded=True,
                        special_characters=True)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
graph[0].write_pdf("housing.pdf")

结果是下面这样的
在这里插入图片描述
这样才是一个树的感觉嘛。

但是,第二种方法需要安装graphviz。不然在代码graph[0].write_pdf("housing.pdf")后会报错:FileNotFoundError: [WinError 2] “dot” not found in path。具体的操作方法可以借鉴:windows python3库pydot运行出现:FileNotFoundError: [WinError 2] “dot” not found in path.—完美解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值