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

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

1、简介

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

2、原理

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

2.1、基尼系数

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

2.2、生成过程

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

相关文章:

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

1、简介 决策树算法是一种归纳分类算法,它通过对训练集的学习,挖掘出有用的规则,用于对新数据进行预测。决策树算法属于监督学习方法。决策树归纳的基本算法是贪心算法,自顶向下来构建决策树。 贪心算法:在每一步选择…...

文献阅读:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

文献阅读:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 1. 文章简介2. 具体方法3. 实验结果 1. 数学推理 1. 实验设计2. 实验结果3. 消解实验4. 鲁棒性考察 2. 常识推理 1. 实验设计2. 实验结果 3. 符号推理 1. 实验设计2. 实验结果 4.…...

从零开发一款ChatGPT VSCode插件

‍本文作者是360奇舞团开发工程师 引言 OpenAI发布了ChatGPT,就像是给平静许久的互联网湖面上扔了一颗重磅炸弹,刹那间所有人都在追捧学习它。究其原因,它其实是一款真正意义上的人工智能对话机器人。它使用了深度学习技术,通过大…...

go基础09-Go语言的字符串类型

字符串类型是现代编程语言中最常使用的数据类型之一。在Go语言的先祖之一C语言当中,字符串类型并没有被显式定义,而是以字符串字面值常量或以’\0’结尾的字符类型(char)数组来呈现的: #define GOAUTHERS "Rober…...

【C++模拟实现】手撕AVL树

【C模拟实现】手撕AVL树 目录 【C模拟实现】手撕AVL树AVL树的介绍(百度百科)AVL树insert函数的实现代码验证是否为AVL树AVL树模拟实现的要点易忘点AVL树的旋转思路 作者:爱写代码的刚子 时间:2023.9.10 前言:本篇博客将…...

如何重置 docker中的mariadb的root

停止 Mariadb 容器&#xff1a;运行以下命令停止正在运行的 Mariadb 容器&#xff1a; docker stop <container_name>将 <container_name> 替换为你的 Mariadb 容器的名称或容器ID。 删除 Mariadb 容器&#xff1a;运行以下命令删除已停止的 Mariadb 容器&#x…...

设计模式系列-原型模式

一、上篇回顾 上篇创建者模式中&#xff0c;我们主要讲述了创建者的几类实现方案&#xff0c;和创建者模式的应用的场景和特点&#xff0c;创建者模式适合创建复杂的对象&#xff0c;并且这些对象的每 个组成部分的详细创建步骤可以是动态的变化的&#xff0c;但是每个对象的组…...

家用电脑可以用做服务器吗

家用电脑的结构与服务器的结构是相同的&#xff0c;家用电脑是可以用来搭建服务器使用。但使用家用电脑做服务器在稳定性会比服务器差很多 1.家用电脑没有公网IP&#xff0c;网络运营商分配的IP重启路由之后是会变化&#xff0c;不固定。服务器运行是需要有固定IP让人连接访问。…...

CRM软件管理系统的基本功能

CRM管理系统是企业运营的重要工具&#xff0c;它可以帮助企业管理客户关系&#xff0c;提升销售效率&#xff0c;大幅提高客户转化率&#xff0c;实现业绩增长。那么&#xff0c;CRM管理系统一般包含哪些功能呢&#xff1f;下面我们就来说说。 1、销售自动化 销售自动化顾名思…...

手机喊话应用实现思路

手机要是动一下&#xff0c;就喊话“摇摇零线&#xff0c;摇摇零线”&#xff0c;是不是比较酷&#xff0c; 这里实现一下手机翻转一下&#xff0c;播放声音的效果&#xff0c; 通过sensor识别到手机的运动状况&#xff0c;然后播放音频&#xff0c; public class MainActivi…...

【ARM CoreLink 系列 3 -- CCI-550 控制器介绍 】

文章目录 CCI FamilyCCI-550 简介CCI-550 功能CCI-550 Interfaces Snoop filter 使用背景CCI-550 Snoop filter 上篇文章&#xff1a;ARM CoreLink 系列 2 – CCI-400 控制器简介 CCI Family CCI-550 简介 Arm CoreLink CCI-550 Cache Coherent Interconnect 扩展了 CoreLink…...

最长递增子序列 -- 动规

300. 最长递增子序列 注意「⼦序列」和「⼦串」的区别&#xff0c;⼦串⼀定是连续的&#xff0c;⽽⼦序列不⼀定是连续的。 class LengthOfLIS:"""300. 最长递增子序列https://leetcode.cn/problems/longest-increasing-subsequence/description/""&q…...

linux 进程管理命令

进程管理命令 查看进程命令 ps命令 显示系统上运行的进程列表 # 查看系统中所有正在运行的系统ps aux# 获取占用内存资源最多的10个进程&#xff0c;可以使用如下命令组合&#xff1a;ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head# 获取占用CPU资源最多的10个进程&am…...

第一章:计算机网络和因特网

什么是因特网 具体构成描述 互联网是一个世界范围的计算机网络&#xff0c;即一个互联了遍及世界数十亿计算机设备的网络&#xff0c;这些被连接的设备被称为主机或者端系统。端系统通过通信链路&#xff08;communication link&#xff09;和分组交换机&#xff08;packet s…...

Android后退堆栈

修改代码 现在的ItemClick使得用户单击其中一个项目时就会跳转&#xff0c;现在要修改其使得在一个小屏幕设备上才会这样做&#xff0c;在一个大屏幕设备上运行用户选择一个训练项目时在右边的片段显示响应的信息。 希望片段处理后退的方式&#xff1a;假设用户在手机上运行这…...

网络原理(一)网络基础,包括IP ,网络相关的定义

网络基础&#xff0c;包括IP &#xff0c;网络相关的定义 网络基础冲突域广播域DNSNATNAPT 网络基础 以下图片是书上的网图。 什么是IP地址&#xff1f; IP地址&#xff08;Internet Protocol Address&#xff09;是指互联网协议地址&#xff0c;又译为网际协议地址。P地址是…...

Python语义分割与街景识别(2):环境搭建

前言 本文主要用于记录我在使用python做图像识别语义分割训练集的过程&#xff0c;由于在这一过程中踩坑排除BUG过多&#xff0c;因此也希望想做这部分内容的同学们可以少走些弯路。 本文是python语义分割与街景识别的第二篇&#xff0c;关于环境搭建的内容。这个部分是整个流…...

stm32(GD32,apm32),开优化后需要特别注意的地方

提到优化就不得不提及 volatile 使用场景 1&#xff1a;中断服务程序中修改的供其它程序检测的变量&#xff0c;需要加volatile&#xff1b; : 2&#xff1a;多任务环境下各任务间共享的标志&#xff0c;应该加volatile&#xff1b; 3&#xff1a;并行设备的硬件寄存器&#x…...

LLVM 与代码混淆技术

项目源码 什么是 LLVM LLVM 计划启动于2000年&#xff0c;开始由美国 UIUC 大学的 Chris Lattner 博士主持开展&#xff0c;后来 Apple 也加入其中。最初的目的是开发一套提供中间代码和编译基础设施的虚拟系统。 LLVM 命名最早源自于底层虚拟机&#xff08;Low Level Virtu…...

R语言---使用runway进行机器学习模型性能的比较

R语言—使用runway进行机器学习模型性能的比较 #dataloadrm(list=ls())#librarylibrary(dcurves)library(gtsummary)library(tidyverse)library(mlr3verse)library(tidyverse)library(data.table)</...

C++斩题录|递归专题 | leetcode50. Pow(x, n)

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…...

详解Redis之Lettuce实战

摘要 是 Redis 的一款高级 Java 客户端&#xff0c;已成为 SpringBoot 2.0 版本默认的 redis 客户端。Lettuce 后起之秀&#xff0c;不仅功能丰富&#xff0c;提供了很多新的功能特性&#xff0c;比如异步操作、响应式编程等&#xff0c;还解决了 Jedis 中线程不安全的问题。 …...

【3】单着色器文件读取

Basic.shader文件&#xff0c;可以发现顶点着色器和片段着色器是写在一个文件里的&#xff0c;这里我们将他们读取出来&#xff0c;而不是上一篇使用string的方式。 #shader vertex #version 330 corelayout(location 0) in vec4 position;void main() {gl_Position positio…...

祝贺埃文科技入选河南省工业企业数据安全技术支撑单位

近日&#xff0c;河南省工业信息安全产业发展联盟公布了河南省工业信息安全应急服务支撑单位和河南省工业企业数据安全技术支撑单位遴选结果,最终评选出19家单位作为第一届河南省工业信息安全应急服务支撑单位和河南省工业企业数据安全技术支撑单位。 埃文科技凭借自身技术优势…...

Chinese-LLaMA-Alpaca-2模型的测评

训练生成效果评测 Fastchat Chatbot Arena推出了模型在线对战平台&#xff0c;可浏览和评测模型回复质量。对战平台提供了胜率、Elo评分等评测指标&#xff0c;并且可以查看两两模型的对战胜率等结果。生成回复具有随机性&#xff0c;受解码超参、随机种子等因素影响&#xff…...

SLAM论文详解(5) — Bundle_Adjustment_LM(BALM)论文详解

目录 1 摘要 2 相关工作 3 BA公式和导数 A. 直接BA公式 B. 导数 C. 二阶近似 4 自适应体素化 5. 将BALM结合进LOAM 6. 实验 7. 算法应用场景解析 1 摘要 Bundle Adjustment是一种用于同时估计三维结构和传感器运动运动的优化算法。在视觉SLAM&#xff0c;三维重建等…...

C语言对单链表所有操作与一些相关面试题

目录 单链表的特性 单链表的所有操作 定义一个单链表 创建一个链表头 插入数据(头插法) 插入数据(尾插法) 查找节点 修改数据节点 删除节点 打印数据 销毁链表 翻转链表 打印链表长度 冒泡排序 快排 堆排 查找倒数第K个节点&#xff08;双指针法&#xff09; …...

高防服务器如何抵御大规模攻击

高防服务器如何抵御大规模攻击&#xff1f;高防服务器是一种专门设计用于抵御大规模攻击的服务器&#xff0c;具备出色的安全性和可靠性。在当今互联网时代&#xff0c;网络安全问题日益严重&#xff0c;DDOS攻击&#xff08;分布式拒绝服务攻击&#xff09;等高强度攻击已成为…...

Go 接口和多态

在讲解具体的接口之前&#xff0c;先看如下问题。 使用面向对象的方式&#xff0c;设计一个加减的计算器 代码如下&#xff1a; package mainimport "fmt"//父类&#xff0c;这是结构体 type Operate struct {num1 intnum2 int }//加法子类&#xff0c;这是结构体…...

Git忽略文件的几种方法,以及.gitignore文件的忽略规则

目录 .gitignore文件Git忽略规则以及优先级.gitignore文件忽略规则常用匹配示例&#xff1a; 有三种方法可以实现忽略Git中不想提交的文件。1、在Git项目中定义 .gitignore 文件&#xff08;优先级最高&#xff0c;推荐&#xff01;&#xff09;2、在Git项目的设置中指定排除文…...

北京网站seo服务/seo工资待遇怎么样

区间修改部分 1.批量等值修改 前提条件 是要区间修改&#xff0c;区间查询&#xff0c;且修改操作修改的值是相同的&#xff0c;比如批量1&#xff0c;批量-1. 有一种特例是批量替换&#xff0c; 情景 一般是要对一个数组执行k次操作&#xff0c;每次改变其中一个区间内所…...

广州营销网站建设公司/百度健康人工客服电话24小时

网络通信中TCP出现的黏包以及解决方法 socket 模拟黏包参考文章&#xff1a; &#xff08;1&#xff09;网络通信中TCP出现的黏包以及解决方法 socket 模拟黏包 &#xff08;2&#xff09;https://www.cnblogs.com/H1050676808/p/10226438.html 备忘一下。...

卫计委社会信用体系建设网站/百度怎么做推广和宣传

对于水平方向得到居中很简单 先设置paint.setTextAlign(Paint.Align.CENTER) 这样就可以保证水平方向的居中 假设方框的宽度为width 设置x坐标为width / 2就可以使文字居中 垂直方向的居中就不是简单的 height / 2 需要一个叫FontMetrics对象 在使用draw.Text方法的时候&#x…...

企业门户网站特征/国内前10电商代运营公司

2019-10-16 16:34:10组策略的作用就是将管理员为用户和计算机定义并控制程序、网络资源及操作系统行为的主要工具。新手对win10系统不熟悉&#xff0c;不知道组策略该从哪里打开&#xff1f;针对此问题&#xff0c;下面&#xff0c;小编跟大家介绍打开w...2016-01-22 11:16:28W…...

seo文章关键词怎么优化/上海seo优化公司 kinglink

Django4.0 -----借鉴&#xff1a;cls超&#xff1a;点击这里 语法 语法 {{ 变量 }} {% 逻辑 %} 变量的使用和说明 在Django的模板语言中按此语法使用&#xff1a;{{ 变量名 }}。  当模版引擎遇到一个变量&#xff0c;它将计算这个变量&#xff0c;然后用结果替换掉它本身。 …...

网站怎么上传模板/2000元代理微信朋友圈广告

Listen1 for mac中文版是mac上一款强大的全网搜歌音乐播放器&#xff0c;让你可以免费听全网付费VIP音乐&#xff0c;支持网易云音乐、QQ音乐、虾米音乐、酷狗音乐以及酷我音乐等网站的歌曲搜索播放功能&#xff0c;拥有创建歌单、随心播放、歌曲收藏、快速搜索的功能&#xff…...