python教程决策树_Python学习教程:决策树算法(三)sklearn决策树实战

本文介绍如何使用sklearn库实现决策树模型的训练与可视化。通过one-hot编码将字符型数据转化为数值型,便于后续运算。利用DecisionTreeClassifier进行训练,并通过Graphviz工具实现决策树的可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[0. 1. 0. 1. 0. 0. 0. 0. 1.]

[0. 1. 0. 0. 1. 0. 0. 1. 0.]

[1. 0. 0. 0. 1. 0. 0. 1. 0.]

[0. 1. 1. 0. 0. 0. 1. 0. 0.]]

show vector name

['after 8=no', 'after 8=yes', 'season=autumn', 'season=spring', 'season=summer', 'season=winter', 'wind=breeze', 'wind=gale', 'wind=no wind']

通过DictVectorizer,我们就能够把字符型的数据,转化成0 1的矩阵,方便后面进行运算。额外说一句,这种转换方式其实就是one-hot编码。

2.4 决策树训练

可以发现在向量化的时候,属性都被打乱了,但我们也可以通过get_feature_names()这个方法查看对应的属性值。有了数据后,就可以来训练一颗决策树了,用sklearn很方便,只需要很少的代码#划分成训练集,交叉集,验证集,不过这里我们数据量不够大,没必要

#train_x, test_x, train_y, test_y = train_test_split(X_train, Y_train, test_size = 0.3)

#训练决策树

clf = tree.DecisionTreeClassifier(criterion='gini')

clf.fit(X_train,Y_train)

#保存成 dot 文件,后面可以用 dot out.dot -T pdf -o out.pdf 转换成图片

with open("out.dot", 'w') as f :

f = tree.export_graphviz(clf, out_file = f,

feature_names = vec.get_feature_names())

2.5 决策树可视化

当完成一棵树的训练的时候,我们也可以让它可视化展示出来,不过sklearn没有提供这种功能,它仅仅能够让训练的模型保存到dot文件中。但我们可以借助其他工具让模型可视化,先看保存到dot的代码:from sklearn import tree

with open("out.dot", 'w') as f :

f = tree.export_graphviz(clf, out_file = f,

feature_names = vec.get_feature_names())

决策树可视化我们用Graphviz这个东西。当然需要先用pip安装对应的库类。然后再去官网下载它的一个发行版本,用以将dot文件转化成pdf图片。

官网下载方式如下:

然后进入到上面保存好的dot所在目录,打开cmd运行dot out.dot -T pdf -o out.pdf 命令,pdf 图片就会出现了。

小结:

今天我们介绍了sklearn,决策树模型的各个参数,并且使用sklearn模型对上一节中的例子训练出一个决策树模型,然后用Graphviz让决策树模型可视化。到此,决策树算法算是讲完啦。

不知道大家对于这个决策树的实操掌握的有多少,不清楚的地方,欢迎大家留言,更多的葡萄红学习教程也会继续为大家更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值