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

建网站的要求cps广告联盟

建网站的要求,cps广告联盟,包装盒设计,蛋糕教做网站喜欢的话别忘了点赞、收藏加关注哦(关注即可查看全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 本文紧承 3.1. 决策树理论(基础) 和 3.2. 决策树理论(进阶),没看过的建议先看理论分…

喜欢的话别忘了点赞、收藏加关注哦(关注即可查看全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

本文紧承 3.1. 决策树理论(基础) 和 3.2. 决策树理论(进阶),没看过的建议先看理论分析。
在这里插入图片描述

3.5.1. Iris数据集

这一章所讲的技术在实战时大部分都使用Iris数据集。Iris鸢尾花数据集是一个非常经典的数据集,在统计学和机器学习领域都经常被用作示例。

下面所示的这个花叫做鸢尾花:
请添加图片描述

  • Petal指的是花萼
  • Sepal指的是花瓣

这个数据集总共会有三种共150条记录,每类各50个数据。每条各50个数据,每条记录都有4项特征:

  • 花萼长度(Sepal Length)
  • 花萼宽度(Sepal Width)
  • 花瓣长度(Petal Length)
  • 花瓣宽度(Petal Width)

我们会通过花萼和花瓣的这4个特征来对花进行分类:

  • iris-setosa(在数据集中的标签是0)
  • iris-versicolour(在数据集中的标签是1)
  • iris-virginica(在数据集中的标签是2)

以下是Iris数据集里的部分数据:

花萼长度花萼宽度花瓣长度花瓣宽度属种
5.13.51.40.2setosa
4.93.01.40.2setosa
4.73.21.30.2setosa
4.63.11.50.2setosa
5.03.61.40.2setosa
5.43.91.70.4setosa
4.63.41.40.3setosa
5.03.41.50.2setosa

3.5.2. 实战前的准备工作

接下来,请你确保你的Python环境中有pandasmatplotlibscikit-learnnumpy这几个包,如果没有,请在终端输入指令以下载和安装:

pip install pandas matplotlib scikit-learn numpy

Iris数据集在scikit-learn中内置有,不需要额外安装。

3.5.3. 读取数据及赋值操作

我们可以使用sklearn.datasetsload_iris来加载,顺便把xy赋值:

# 加载数据集  
from sklearn.datasets import load_iris  
iris = load_iris()  
x, y = iris.data, iris.target

3.5.4. 建立决策树

拆分训练数据

接下来我们需要对训练数据进行拆分,一部分用作训练,一部分用作测试:

# 划分测试集和训练集  
from sklearn.model_selection import train_test_split  
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
  • train_test_split函数可以让我们轻易地拆分数据
  • test_size=0.2告诉程序80%数据用于训练,20%用于测试

倒入模型

首先我们要建立决策树模型,并使用训练集进行训练:

# 训练决策树  
from sklearn import tree  
clf = tree.DecisionTreeClassifier(criterion='entropy', min_samples_leaf=5)  
clf.fit(x_train, y_train)
  • criterion的不同值让我们可以选择如何选择顶点节点,这里我填的是'entropy',对应ID3算法(详见 3.2. 决策树理论(进阶))
  • min_samples_leaf让我们得以决定叶子节点所需的最小样本数,如果某分裂所生成的子节点中的样本数少于指定的min_samples_leaf值,那么这次分裂将不会发生。
    选择一个合适的值非常重要,因为如果值太小会导致过拟合(不具有普适性),值太大会导致划分不全。

可视化决策树

接下来我们来可视化决策树:

# 可视化决策树  
import matplotlib.pyplot as plt  
f_names = ['sepal length', 'sepal width', 'petal length', 'petal width']  
c_names = ['setosa', 'versicolor', 'virginica']  
tree.plot_tree(clf, filled=True, feature_names=f_names, class_names=c_names)  
plt.show()

filled=True

  • 指定决策树节点是否填充颜色
  • 如果设置为 True,每个节点的填充颜色将反映数据的分类比例或类别
  • 颜色深浅可以帮助直观地表示决策树中的输出类别或信息增益

feature_names=f_names

  • 定义决策树中显示的特征名称。
  • 代码中设置的值为f_names = ['sepal length', 'sepal width', 'petal length', 'petal width'],对应于鸢尾花数据集特征的名称
  • 这些名称将显示在决策树节点中,帮助理解特征在分类决策中的作用

class_names=c_names

  • 定义决策树中显示的类别名称
  • 代码中设置的值为 c_names = ['setosa', 'versicolor', 'virginica'],对应于鸢尾花数据集的三种类别名称
  • 这些名称将显示在叶子节点中,指示决策树预测的结果类别

plot_tree是基于matplotlib动态绘图的,显示图像得使用plt.show()

图片输出:
请添加图片描述

计算准确率

我们接下来会把测试集的数据传给训练好的决策树,把决策树的分类和标签做比较:

# 计算模型在测试集上的准确率  
accuracy = clf.score(x_test, y_test)  
print(f"测试集准确率: {accuracy:.2f}")

输出:

测试集准确率: 0.93
http://www.dtcms.com/wzjs/353791.html

相关文章:

  • 郑州网站建设哪家有seo赚钱
  • 四川省城乡建设厅监管网站品牌推广工作内容
  • 郑州企业免费建站短视频拍摄剪辑培训班
  • 那个网站做的系统最好品牌网络营销成功案例
  • 现在帮别人做网站赚钱不今天最新消息
  • seo搜索引擎优化与推广三门峡网站seo
  • 东莞市南城区网站优化技术
  • GMC中网站建设对订单有影响吗在线培训网站
  • 武汉网站建设联系搜点网络a站
  • 企业网站群建设的原因产品推广方案怎么写
  • 做网站要不要服务器网盘搜索引擎
  • 自己做网站给自己淘宝引流外贸seo软件
  • 游戏攻略网站开发关键词搜索优化
  • 个人如何开网站seo排名优化方法
  • 网站建设公司经营范围360网站收录提交入口
  • 做电影网站会不会涉及版权问题网上广告怎么推广
  • 给别人做网站用什么长沙seo网站排名优化公司
  • 城子河网站建设美国今天刚刚发生的新闻
  • 做美国代购需要知道的网站seo关键词排名优化怎么收费
  • 东莞制作公司网站培训机构咨询
  • 新企业在哪里做网站好网络营销论坛
  • 科技服务公司网站模版腰椎间盘突出压迫神经腿疼怎么治
  • 网站建设中最重要的环节是什么企业如何进行宣传和推广
  • 长沙网站设计谷歌浏览器引擎入口
  • 高品质网站设计制作日本免费服务器ip地址
  • 中国室内设计网站官网网站建设详细方案
  • 网站建设分析报告不收费的小说网站排名
  • 教做幼儿菜谱菜的网站百度网站app下载
  • 做全网营销型网站建设网络推广公司企业
  • 通辽市工程建设网站seo有什么作用