机器学习入门教学——决策树

news2024/10/12 8:14:37

1、简介

  • 决策树算法是一种归纳分类算法,它通过对训练集的学习,挖掘出有用的规则,用于对新数据进行预测。
  • 决策树算法属于监督学习方法。
  • 决策树归纳的基本算法是贪心算法,自顶向下来构建决策树。
    • 贪心算法:在每一步选择中都采取在当前状态下最好/优的选择。
  • 简单来说,决策树就是做决策的树,类似于流程图的结构,其中每个内部节点代表一个属性上的“判断”,每个分支代表测试的结果,每个叶节点代表一个测试结果,从根到叶的路径代表分类规则。
  • 决策树的结构:

2、原理

  • 决策树希望通过每次分支节点的“决策”使结果变得更纯粹。也就是通过层层筛选,让是否批准分成“批准”和“拒绝”的单一子集。
  • 举个简单的例子:
    • 使用模型快速判断银行是否给客户放贷。数据经过下列分类之后,最终只剩下单一的子集。
    •  
    • 模型需要学习哪些特征和相应的正确阈值才能最好地分割数据,即有工作、有房子、信誉,应该选择哪些,应该选择何值。所以,在决策树的生成过程中,分割方法即属性选择的度量是关键。

2.1、基尼系数

  • 基尼系数(Gini Index)是决策树学习中常用的一种划分评价指标。
  • 基尼系数计算公式:(一减去所有类别概率的平方)
  • 上述二分分类问题中,公式为:
  • 含义:基尼系数衡量了一个数据集合的不确定性。
  • 例如:
    • (基尼系数随概率的变化)
  • 在决策树中,基尼系数最小意味着分割后子集合的纯度最高。所以,选择基尼系数最小的属性,来作为决策树下一级分类的标准即可。

2.2、生成过程

  • 计算公式:
2.2.1、选择第一个分类标准
  • 首先根据贷款结果计算基尼系数。
    •  
    • 可以看出这个基尼系数非常大。
  • 再以有无工作来计算基尼系数。
    •  
    • 计算以工作为分类标准的基尼系数需要通过加权的方式求和得到该标准最终的基尼系数。
  • 以此类推,可以计算出以房子和信誉为分类标准的基尼系数。
  • 其中,以房子为分类标准的基尼系数最小,所以选择它为标准来构建决策树。
2.2.2、选择下一个分类标准
  • 根据上述分类,左边已经是一个单一子集,不需要再进行分类。我们对右边的子集进行分类。
  • 首先根据贷款结果计算基尼系数。
    •  
  • 再计算出以工作和信誉为分类标准的基尼系数(只在没有房子的客户中)。
  • 其中,以工作为分类标准的基尼系数最小,所以选择它为标准来构建决策树。
  • 此时,所有的叶节点都是单一子集,分类完成。

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

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

相关文章

LeetCode-80. 删除有序数组中的重复项 II-⭐⭐

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 提示&…

解决vue3类型“{}”上不存在属性

刚创建的一个Vue3和Ts的项目,结果使用Vscode打开后,修改了index.vue文件就报错了: 修改tsconfig.json文件 在tsconfig.json文件中添加一行代码:就是让ts识别vue文件 "include": ["src/**/*.ts", "src/**/*.d.ts&q…

机器学习入门教学——过拟合、欠拟合、模型验证、样本拆分

1、过拟合 定义 过拟合指的是模型对训练数据拟合的太好,以至于无法很好地泛化到新数据。原因 训练数据不足模型太复杂(如深层神经网络)训练时间太长后果 模型在训练数据上表现良好,但在测试数据上表现较差。解决方法 增加训练数据…

今天,外滩大会“开发者创新营地”成为技术爱好者打卡点

9月9日,上海,黄浦江边。室外温度31度,依然挡不住技术爱好者们的热情!他们涌入了外滩大会最值得期待的打卡点:开发者创新营地。 开发者创新营地是本次外滩大会搭建的技术人交流平台,以闪电演讲(…

山西电力市场日前价格预测【2023-09-10】

日前价格预测 预测明日(2023-09-10)山西电力市场全天平均日前电价为359.80元/MWh。其中,最高日前电价为412.31元/MWh,预计出现在18: 45。最低日前电价为322.32元/MWh,预计出现在13: 45。 价差方向预测 1: 实…

【实例项目:基于多设计模式下的日志系统(同步异步)】

一、项目简介 1.日志的概念(白话版) 日志类似于日记,通常是指对完成某件事情的过程中状态等的记录,而计算机中的日志是指日志数据,是有价值的信息宝库,各种操作系统、应用程序、设备和安全产品的日志数据能…

Baichuan2开源大模型正式发布,王小川:性能超过LLaMA2

大数据产业创新服务媒体 ——聚焦数据 改变商业 ChatGPT火爆出圈之后,社交巨头Meta奋力追赶,分别在3月、7月发布开源的LLaMA、LLaMA2大模型,引领一场大模型开源运动。 LLaMA2大模型,包含了70亿、130亿、700亿参数三个版本&#x…

对Transformer中的Attention(注意力机制)的一点点探索

摘要:本文试图对 Transformer 中的 Attention 机制进行一点点探索。并就 6 个问题深入展开。 ✅ NLP 研 1 选手的学习笔记 简介:小王,NPU,2023级,计算机技术 研究方向:文本生成、摘要生成 文章目录 一、为啥…

强大的JTAG边界扫描(3):常用边界扫描测试软件

文章目录 1. 功能强大的XJTAG2. 小巧简洁的TopJTAG3. TopJTAG安装4. TopJTAG基本使用 本文介绍两款常用的边界扫描测试软件:XJTAG和TopJTAG,前者收费、功能强大,后者免费(和谐后),功能简洁。 如果只是要进…

深入探讨梯度下降:优化机器学习的关键步骤(三)

文章目录 🍀引言🍀随机、批量梯度下降的差异🍀随机梯度下降的实现🍀随机梯度下降的调试 🍀引言 随机梯度下降是一种优化方法,主要作用是提高迭代速度,避免陷入庞大计算量的泥沼。在每次更新时&a…

【图神经网络 01】

图的基本构成: V:Vertex (or node) attributes E:Edge (or link) attributes and directions U:Global (or master node) attributes 图的邻接矩阵:文本数据也可以表示图的形式,邻接矩阵表示的连接关系。 以…

计算机竞赛 基于深度学的图像修复 图像补全

1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学的图像修复 图像补全 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-se…

牛客网项目-第一章-笔记

牛客网项目-第一章 环境配置 java maven idea Spring Intializr 搜索jar包的网站&#xff1a;https://mvnrepository.com/ https://start.spring.io/ 缺少的aop包&#xff0c;手动在pom.xml中加入依赖 <dependency><groupId>org.springframework.boot</gro…

OpenRoads Designer导入文本格式水平路线、路线纵断面

ORD可以用以文本文件进行定义水平几何路线及纵断面几何路线直接导入来完成几何路线的定义&#xff1a; 水平路线 平面几何路线示例 “平面几何路线.txt”文件内容&#xff1a; BP-1,54376.169,1816.914 BP,54376.101,1817.912 JD01,54358.369,2081.452,0 JD02,54810.789,477…

linux 基础命令 cd /xxx 和 cd xxx 的区别

cd 命令&#xff1a;用于改变当前工作目录的命令&#xff0c;作用&#xff1a;切换当前目录至其它目录 用 cd 命令去 home目录&#xff1a; cd home/ 用cd 命令 去tony 目录下 cd ../ 返回上级目录 cd ../ tony / 返回上级目录进入和hom 同级的tony 目录 这里要讲 linux …

树(一)树和二叉树的基本概念

文章目录 一、树1、什么是树2、树的相关概念3、树的表示 二、二叉树1、二叉树的概念2、二叉树的几种情况3、特殊二叉树4、二叉树的性质5、二叉树的存储结构 一、树 1、什么是树 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个…

C++学习——vector类的使用

目录 vector类的介绍&#xff1a; vector类的构造函数: operator operator [ ] begin & end size & resize capacity & reserve push_back & pop_back insert & erase vector类的介绍&#xff1a; vector是C标准模板库中的部分内容&#xff0c;中文偶尔…

【Python】OpenCV立体相机配准与三角化代码实现

下面的介绍了使用python和OpenCV对两个相机进行标定、配准,同时实现人体关键点三角化的过程 import cv2 as cv import glob import numpy as np import matplotlib.pyplot as pltdef calibrate_camera(images_folder):images_names = glob.glob(images_folder

css画一条渐变的虚线

效果展示 原理&#xff1a;给元素设置一个渐变的背景色&#xff0c;画一条白色的虚线盖住背景&#xff0c;就达到了渐变虚线的效果 代码&#xff1a; <div class"pending-line"></div>.pending-line{width: 101px;border-top: 2px dashed #fff; // do…

C++算法 —— 动态规划(3)多状态

文章目录 1、动规思路简介2、按摩师3、打家劫舍Ⅱ4、删除并获得点数5、粉刷房子6、买卖股票的最佳时机含冷冻期7、买卖股票的最佳时机含手续费8、买卖股票的最佳时机Ⅲ9、买卖股票的最佳时间Ⅳ 每一种算法都最好看完第一篇再去找要看的博客&#xff0c;因为这样会帮你梳理好思路…