第L5周:机器学习:决策树(分类模型)

news2024/12/25 23:58:59
  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

目标
1. 决策树算法是一种在机器学习和数据挖掘领域广泛应用的强大工具,它模拟人类决策过程,通过对数据集进行逐步的分析和判定,最终生成一颗树状结构,每个节点代表一个决策或一个特征。决策树的核心思想是通过一系列问题将数据集划分成不同的类别或值,从而实现对未知数据的预测和分类。这一算法的开发灵感源自人类在解决问题时的思考方式,我们往往通过一系列简单而直观的问题逐步缩小解决方案的范围。决策树的构建过程也是类似的,它通过对数据的特征进行提问,选择最能区分不同类别的特征,逐渐生成树状结构,最终形成一个可用于预测的模型。
image.png

2. 通过通过鸢尾花数据,训练一个决策树模型,之后应用该模型,可以根据鸢尾花的四个特征去预测它的类别。

具体实现
(一)环境
语言环境:Python 3.10
编 译 器: PyCharm
**(二)具体步骤:

  1. 导入数据:
# 导入数据  
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"  
names = ['花萼-length', '花萼-width', '花瓣-length', '花瓣-width', 'class']  
  
dataset = pd.read_csv(url, names=names)  
print(dataset)

image.png
2. 数据划分:

# 数据划分  
X = dataset.iloc[:, [0, 1, 2, 3]].values  # 数据集第1-4列为X  
Y = dataset.iloc[:, 4].values             # 数据集第5列为Y
  1. 模型训练:
from sklearn import tree  
  
clf = tree.DecisionTreeClassifier()  # 决策树模型  
clf = clf.fit(X, Y)     # 用数据训练决策树模型  
r = tree.export_text(clf)  
print("训练后的模型:", r)

image.png
4. 用训练后的模型来预测一下结果:

# 用训练后的模型来预测一下结果  
test_data = X[[0, 1, 50, 51, 100, 101, 102, 103], :]    # 抽出数据集中指定第0、1、50...103行的所有数据  
print("测试数据如下:\n", test_data)  
pred_target_prob = clf.predict_proba(test_data)     # 预测类别的概率  
print("预测类别的概率如下:\n", pred_target_prob)  
pred_target = clf.predict(test_data)            # 预测类别  
print("预测的类别如下:\n", pred_target)

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2106175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Chrome 浏览器插件获取网页 window 对象(方案二)

前言 最近有个需求,是在浏览器插件中获取 window 对象下的某个数据,当时觉得很简单,和 document 一样,直接通过嵌入 content_scripts 直接获取,然后使用 sendMessage 发送数据到插件就行了,结果发现不是这…

Python(TensorFlow)和MATLAB及Java光学像差导图

🎯要点 几何光线和波前像差计算入瞳和出瞳及近轴光学计算波前像差特征矩阵方法计算光谱反射率、透射率和吸光度透镜像差和绘制三阶光线像差图和横向剪切干涉图分析瞳孔平面焦平面和大气湍流建模神经网络光学像差计算透镜光线传播几何偏差计算像差和像散色差纠正对齐…

【unity实战】利用Root Motion+Blend Tree+Input System+Cinemachine制作一个简单的角色控制器

文章目录 前言动画设置Blend Tree配置角色添加刚体和碰撞体代码控制人物移动那么我们接下来调整一下相机的视角效果参考完结 前言 Input System知识参考: 【推荐100个unity插件之18】Unity 新版输入系统Input System的使用,看这篇就够了 Cinemachine虚…

嵌入式全栈开发学习笔记---C++(函数/类模板)

目录 函数模板 模板机制 函数模板语法 函数模板和普通函数的区别 函数模板和普通函数调用规则 函数模板机制 排序模板函数 类模板 类模板语法 模板继承 类模板中的static关键字 模板声明 .hpp文件 类模板小结 上节学习了运算符重载,本节开始学习函数模…

使用 GZCTF 结合 GitHub 仓库搭建独立容器与动态 Flag 的 CTF 靶场+基于 Docker 的 Web 出题与部署+容器权限控制

写在前面 关于 CTF 靶场的搭建(使用 CTFd 或者 H1ve)以及 AWD 攻防平台的搭建,勇师傅在前面博客已经详细写过,可以参考我的《网站搭建》专栏,前段时间玩那个 BaseCTF,发现它的界面看着挺不错的&#xff0c…

LVGL 控件之复选框(lv_checkbox)和下拉列表(lv_dropdown)

目录 一、复选框1、组成2、设置复选框文本3、复选框部件的状态4、复选框事件5、API 函数 二、下拉列表1、组成2、选项2.1 添加选项2.2 获取当前选中的选项 3、设置3.1 设置列表展开方向3.2 设置下拉列表图标3.3 设置列表常显文本 4、事件5、API 函数 一、复选框 1、组成 复选…

Android studio 导出 release 版本的 .aar 文件

不同的android studio 版本可能会有不同的方案,我针对的是: 首先打开settings: Setting —> Experimental 界面 将选项:【configure all gradle tasks】勾上: 接着点击 File —> Sync Project with Gradle Files 然后&…

【js逆向专题】8.webpack打包

本教程仅供学习交流使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,请各学员自觉遵守相关法律法规。小节目标: 熟悉 webpack打包原理熟悉 webpack打包方式了解 webpack多模块打包 一. webpack打包 概念: webpack 是…

【颤抖不再怕,帕金森患者的活力锻炼秘籍!】

Hey小伙伴们~👋 今天我们来聊聊一个温暖而重要的话题——如何帮助我们的亲人或自己,在帕金森病的挑战下,依然保持生活的活力与光彩!🌈 帕金森病,这个名字听起来或许让人心生畏惧,但它绝不是生活…

地产行业如何利用Java实现精准营销

在当今竞争激烈的地产市场中,如何有效触达潜在客户并促进销售转化,成为众多房企关注的焦点。106短信平台作为一种精准的营销工具,在地产行业中发挥着越来越重要的作用。 支持免费对接试用:乐讯通PaaS平台 找好用的短信平台,选择乐…

AUTO TECH 2025 华南展 第十二届广州国际汽车零部件加工技术及汽车模具展览会——探索未来出行的创新动力

AUTO TECH 2025 华南展 第十二届广州国际汽车零部件加工技术及汽车模具展览会——探索未来出行的创新动力 随着全球汽车工业的不断进步和新能源汽车技术的迅猛发展,2025年11月20-22日在广州保利世贸博览馆将迎来一场行业瞩目的盛会——2025 第十二届广州国际汽车零部…

外接串口板,通过串口打开adb模式

一、依赖库 import subprocess import serial from serial.tools import list_ports import logging import time 二、代码 import subprocessimport serial from serial.tools import list_ports import logging import timedef openAdb(com):# com []# for i in list_por…

无人机之地面站篇

无人机的地面站,又称无人机控制站,是整个无人机系统的重要组成部分,扮演着作战指挥中心的角色。以下是对无人机地面站的详细阐述: 一、定义与功能 无人机地面站是指具有对无人机飞行平台和任务载荷进行监控和操纵能力的一组设备&…

[数据集][目标检测]翻越栏杆行为检测数据集VOC+YOLO格式512张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):512 标注数量(xml文件个数):512 标注数量(txt文件个数):512 标注类别…

通过卷积神经网络(CNN)识别和预测手写数字

一:卷积神经网络(CNN)和手写数字识别MNIST数据集的介绍 卷积神经网络(Convolutional Neural Networks,简称CNN)是一种深度学习模型,它在图像和视频识别、分类和分割任务中表现出色。CNN通过模仿…

快排的深入学习

目录 交换类排序 一、冒泡排序 1. 算法介绍 2.算法流程 3. 算法性能分析 (1)时间复杂度分析 (2) 空间复杂度分析 冒泡排序的特性总结: 二、快速排序 1.算法介绍 2. 执行流程 1). hoare版本 2). 挖坑法 3)…

5.9灰度直方图

目录 实验原理 实验代码 运行结果 实验原理 calcHist 函数通常是指在计算机视觉和图像处理中用于计算图像直方图的一个函数。 cv:calcHist () 用于计算一个或多个数组的直方图。它可以处理图像数据并返回一个表示像素强度分布的向量(对于灰度图像)或…

Java:集合的相关汇总介绍

主要包含Set(集)、 List(列表包含 Queue)和 Map(映射)。 1、Collection: Collection 是集合 List、 Set、 Queue 的最基本的接口。 2、Iterator:迭代器,可以通过迭代器遍历集合中的数据。 3、Map:是映射表的…

VTK随笔十三:QT与VTK的交互

一、基于 Ot的 VTK 应用程序 以 VTK 读入一幅 JPG 图像,然后在 Qt 界面上使用 VTK 显示该图像为例,演示QT与VTK的交互。 1、创建QT项目QT_VTK_Demo 2、配置VTK库 在CMakeLists.txt中添加如下代码: 配置完成后重新打开工程加载VTK库。 3、编…

制裁下的转型:俄罗斯加密货币战略布局与人民币挂钩BRICS稳定币的崛起

在国际制裁重压下,俄罗斯正在积极推进加密货币政策改革,通过设立加密货币交易所和推动与人民币挂钩的BRICS稳定币,试图在全球金融体系中谋求新的生存与发展路径。这一系列举措标志着俄罗斯在数字经济领域的重大转向,既是对当前经济…