机器学习调包侠:可视化决策树

本篇对应教程

油管原版B站搬运

测试数据

本节课要生成一个可视化的决策树,不能再用上一节那个简单的例子了,本节课我们使用机器学习领域中一个很经典的数据——鸢尾属植物数据集(Iris flower data set),该数据集的相关介绍戳这里

scikit-learn的数据集

Iris flower data set作为一个经典数据集,scikit-learn中已经集成了,不需要我们自己去创建,使用scikit-learn的数据集模块直接引用即可。关于scikit-learn的数据集模块这里不多说,读者可自行查阅相关文档。

决策树的可视化

这里需要说明的是,可视化这部分功能已经更新,视频中的方法已经不再适用,对细节没兴趣的读者可以直接拷贝本篇的代码,想了解细节的朋友可以自行查阅官方文档。另外还有一点要注意,新版本的可视化需要安装graphviz相关的二进制文件以及相应的python模块,graphviz的二进制文件可以去官网下载,相应的python模块可以用下面的命令进行安装

pip install graphviz

代码

import numpy as np
# 引入决策树算法
from sklearn import tree
# 引入数据集
from sklearn.datasets import load_iris
# 引入可视化模块
import graphviz

# 导入测试数据
iris = load_iris()

# 先从测试数据集中删除第0、50、100条这3条数据
# 并将删除后的数据集作为训练数据集
# 训练结束后用删除掉的数据当做测试数据验证学习的准确性
test_idx = [0, 50, 100]
train_target = np.delete(iris.target, test_idx)
train_data = np.delete(iris.data, test_idx, axis = 0)

# 将删除的数据当做测试数据
test_target = iris.target[test_idx]
test_data = iris.data[test_idx]

# 像上一节一样训练数据
clf = tree.DecisionTreeClassifier()
clf = clf.fit(train_data, train_target)

# 对比原数据的结果和训练后的结果
print(test_target)
print(clf.predict(test_data))

# 训练结束后,生成pdf格式的可视化决策树
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 = graphviz.Source(dot_data)
graph.render("iris")

查看决策树

决策树
决策树的策略简单说就是判断输入数据的某个特征是否满足某些条件,满足的走一个分支,不满足的走另一个分支,直到将路径走完,这里不做太详细的说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木千

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值