当前位置: 首页 > news >正文

有监督学习——决策树

任务

1、基于iris_data.csv数据,建立决策树模型,评估模型表现;

2、可视化决策树结构;

3、修改min_samples_leaf参数,对比模型结果

代码工具:jupyter notebook

参考资料

20.23 决策树(1)_哔哩哔哩_bilibili

21.24 决策树(2)_哔哩哔哩_bilibili 

  博文:https://www.cnblogs.com/zwh0910/p/18708363

数据准备

数据集名称:iris_data.csv

点我转到百度网盘获取数据集 提取码: 8497 

#加载数据
import pandas as pd
data = pd.read_csv('iris_data.csv')
data.head()

X= data.drop(['target','label'], axis = 1)
y = data.loc[:,'label']
print(X.shape, y.shape) #(150, 4) (150,)

建立模型

#建立决策树模型
from sklearn import tree
dc_tree = tree.DecisionTreeClassifier(criterion = 'entropy', min_samples_leaf = 5)
#criterion='entropy’也就是采用ID3。min_samples_leaf:叶子节点最少样本数,少于最少样本数就没必要往下分了。
#决策树分裂出来的叶子最少要有5个样本,如果再往下分发现少于5个样本节点就没有必要往下分了
dc_tree.fit(X, y) #

#预测
y_predict = dc_tree.predict(X)
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y, y_predict)
print(accuracy)#0.9733333333333334

决策树可视化

import matplotlib.pyplot as plt
fig1 = plt.figure(figsize=(10,10))
tree.plot_tree(dc_tree, filled=True, feature_names = ['SepalLength', 'SepalWidth', 'PetalLength','PetalLength','PetalWidth'], class_names=['setosa','versicolor','virginica'])
#填充底色, 分类名称
# filled=True表示根据不同的分类加上不同的背景颜色。feature_names是修改属性名称。class_names显示输出类别。plt.show()

相关文章:

  • 从3.7V/5V到7.4V,FP6291在应急供电智能门锁中的应用
  • 为什么mosquitto 禁用了 topic “#“后,无法使用主题中包含%c client_id了?
  • 【动手学深度学习】2.1. 数据操作
  • 技术篇-2.4.Python应用场景及开发工具安装
  • 如果验证集缺失或测试集缺失应该怎么办?
  • Cursor远程连接+工具使用
  • redis-7.4.2 通过 systemd管理,rpmbuild spec文件参考
  • 关于初学者对大模型的一些概念的理解
  • 纳斯达克与标普500的技术博弈:解析美股交易系统的低延迟与高安全解决方案
  • java后端-海外登录(谷歌/FaceBook/苹果)
  • 高等数学-空间中的曲线与曲面
  • React 第四十六节 Router中useInRouterContext的使用详细介绍及注意事项
  • 价格行为(PriceAction)复盘 - Google - 250521
  • 嵌入式自学第二十六天(5.22)
  • C#中WSDL文件引用问题
  • 爱博精电正式入驻京东平台,为客户提供更高效、便捷的采购体验
  • RocketMQ 中的 ConsumeQueue:消息消费的关键索引
  • Java单例模式终极指南:从原理到防御性编程
  • Python描述统计分析
  • PTA刷题笔记
  • 网站建设总结和体会/推广手段和渠道有哪些
  • 做个网站需要多久网站设计费用多少/谷歌paypal下载
  • 网站起域名原则/公司网站怎么优化
  • 全自动网站制作系统/百度关键词快排
  • asp.net建网站/大数据网站
  • 外贸官网建设/谷歌seo快速排名软件首页