机器学习常识 7: 决策树

news2024/10/1 23:54:11

摘要: 决策树是一种与人类思维一致, 可解释的模型.

1. 决策树的结构

人类的很多知识以决策规则的形式存储:

  • 如果今天是阴天 (outlook = overcast), 就去打球.
  • 如果今天出太阳 (outlook = sunny) 而且湿度不高于 70% (humidity ≤ \le 70), 就去打球.
  • 如果今天出太阳 (outlook = sunny) 而且湿度高于 70% (humidity > > > 70), 就不去打球.

将这些规则组建出一棵树的样子, 如图 1 所示.

图 1. 决策树例.

2. 决策树的优势

  • 直观, 易于理解, 易于传授: 学生会迅速掌握这棵树.
  • 相比于决策规则集合, 决策树的优点是没有死角: 任何一种情况都被覆盖.
  • 与前面的 k k kNN 相比, 它是一个真正的模型 (model), 不依赖于具体的数据.
  • 对于机器而言, 使用决策树进行预测非常迅速, 任何新的实例, 都对应于从树根走到某个叶节点的一条路径. 这种路径的长度通常不超过 10.

3. 决策树的原理

  • 人为可以构建决策树, 这就是专家知识, 但它不属于我们讨论的范畴.
  • 从数据中构建出决策树, 才是机器学习的内容.
  • 决策树的构建过程, 实际上是一个不完全归纳 (特殊到一般) 的过程. 为学习到图 1 所示的决策树, 只用了 14 个样本. 但这棵决策树所覆盖的可能情况, 远远超过了 14. outlook 有 3 种情况, humidity 有 100 种情况, rain 有 2 种情况, windy 有 2 种情况, 所以总共是 31002*2 = 1200 种情况.
  • 决策树构建的原则是: 越小越好, 即节点树越少越好. 这是基于奥克姆剃刀 (Occam’s razor) 原理.

4. 决策树的构建方法

  • 穷举法. 由于数据量比较大, 一般不使用这种方法.
  • 启发式方法. 如基于信息熵、基于基尼指数. ID3 适用于枚举型数据, 使用了信息熵 (条件信息熵之差称为信息增益). 对于实数型数据, 则使用 C4.5. 在绝大多数情况下, ID3 可以获得最小的决策树. 但你也可以构造出反例. 在 2000 年前, 决策树火得一蹋糊涂.
  • 剪枝. 如果一棵决策树使用一张 A4 纸都画不下, 就失去了泛化能力. 这时候需要剪枝. 例如, 在一个节点处, 有 100 个正样本和 1 个负样本, 虽然可以增加一个属性将它们分开, 但最好不要增加这个属性, 这样节点至少节约了一个.
  • 有时候想同时考虑某些属性之和之类 (温度 + 湿度) 的新属性, 可以使用 Oblique decision tree (斜决策树).

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

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

相关文章

TDengine 基于Linux系统RPM安装

一、前文 TDengine 入门教程——导读 二、下载安装 再rpm安装&#xff0c;sudo rpm -ivh TDengine-server-<version>-Linux-x64.rpm安装的时候&#xff0c;会跳出两个提示 Enter FQDN:port&#xff0c;第一次安装&#xff0c;这个地方一定要直接回车跳过&#xff01;Ente…

基于javaweb jsp+SSM 校园点餐系统的视频演示

目录 一.项目介绍 二.环境需要 三.技术栈 四.使用说明 五. 运行截图 一.项目介绍 总菜单管理 用户前台 个人中心、美食大厅、购物车、福利中心 配送员面板 待配送订单、配送记录 商家管理 菜品管理&#xff08;类别、规格组、spu、sku&#xff09;、配送员管理、优惠券…

重学fetch

概述 Fetch是一种网络通信协议&#xff0c;用于在客户端和服务器之间传输数据。该协议使用HTTP请求和响应进行通信&#xff0c;与传统的AJAX方式相比&#xff0c;Fetch更加简单易用&#xff0c;并提供了许多现代化的功能。 使用Fetch可以方便地向服务器发送请求&#xff0c;并…

深入浅出Vite:如何开发一个Vite插件

说到自定义的能力&#xff0c;大家肯定很容易想到插件机制&#xff0c;利用一个插件来扩展构建工具自身的能力。在学习了 Vite 的插件机制后&#xff0c;我们接下来利用已掌握的Vite插件开发的基本知识来实战Vite插件的开发工作。 一、插件示例 Vite 插件与 Rollup 插件结构类…

利用pycocotools库计算MAP:生成coco格式 json文件数据集和计算map值

文章目录 1.划分val数据集2. xml to json3. coco格式json文件4. 生成coco格式json文件5.使用pycocotools计算map6. 讨论 在目标检测任务中&#xff0c;需要通过Map指标判断模型的精度。为了测试engine文件推理结果的精度&#xff0c;本文介绍了如何使用pycocotools库计算Map&am…

4年测试,裸辞后已失业3个月.....

我做测试4年&#xff0c;一线城市薪水拿到15K&#xff0c;中间还修了一个专升本&#xff0c;这个年限不说资深肯定也是配得上经验丰富的。今年行情不好人尽皆知&#xff0c;但我还是对我的薪水不是很满意&#xff0c;于是打算出去面试&#xff0c;希望可以搏一个高薪。 但真到面…

vscode使用git

文章目录 前言一、配置ssh-key二、GitHub上创建一个空的仓库三、链接GitHub&#xff0c;并提交本地文件 前言 从今天开始学习前端知识&#xff0c;学会先使用工具很重要&#xff0c;今天尝试了下用vscode链接GitHub&#xff0c;实现代码管理。 前提&#xff1a; 1、需要先下载…

科技云报道:2023年安全运营之风将吹向何方?

科技云报道原创。 在实战演练成为常态化的背景下&#xff0c;建立实战化安全运营能力是一个绕不开的话题。作为网络安全发展的时代产物&#xff0c;安全运营被认为是解决现有挑战的有利方法。 但随着有安全形势、政策导向、发展需求的变化&#xff0c;安全运营的理念也在不断演…

深度解析如何通过财务共享建设助推企业数智化转型

国务院国资委印发了《关于中央企业加快建设世界一流财务管理体系的指导意见》&#xff08;以下简称《意见》&#xff09;&#xff0c;文中明确指出了数智化转型的路径&#xff0c;即“积极探索依托财务共享实现财务数智化转型的有效路径&#xff0c;推进共享模式、流程和技术创…

Arnold图像置乱的MATLAB实现

这件事情的起因是这样的&#xff0c;我需要研究一下各种图像置乱的算法。然后在知乎上找到了一篇关于Arnold变化的文章&#xff0c;但是呢&#xff0c;这个人实际上是卖资料&#xff0c;代做大作业的。详细的代码根部不给你&#xff0c;则给我气坏了&#xff0c;必须要手动实现…

Java泛型 <T> T、 T、<T>的用法

我们聊聊Java泛型中的 T 是什么&#xff1f; T 在Java泛型中&#xff0c;被称作类型变量。那么什么又是类型变量&#xff1f; 类型变量在整个类的定义中用于指定方法的返回类型&#xff0c;同时也可以指定字段和局部变量的类型&#xff0c;我们可以用具体的类型来替换类型变量…

数据库【数据操作】

这篇文章呢是小编对正在学习的数据库的实验内容进行一个简单的记录&#xff0c;以便后期复习&#xff0c;希望小编的这些例子也可以帮助到正在和我一样学习数据库的友友们哦&#xff5e; 实验目的&#xff1a; &#xff08;1&#xff09;掌握使用T-SQL插入数据&#xff0c;修…

Arthas

Arthas 概述 Arthas 是Alibaba开源的Java诊断工具&#xff0c;深受开发者喜爱。 当你遇到以下类似问题而束手无策时&#xff0c;Arthas可以帮助你解决&#xff1a; 这个类从哪个 jar 包加载的&#xff1f;为什么会报各种类相关的 Exception&#xff1f;我改的代码为什么没有…

无纸化、自动化、智能化|WMS系统升级你的仓储管理模式

随着物流行业的不断发展&#xff0c;现代仓储管理已经从传统的手工操作逐渐转向无纸化、自动化、智能化管理。WMS系统作为一种全新的仓储管理模式&#xff0c;正在逐步被企业所接受和运用。 什么是WMS系统&#xff1f; WMS系统全称为Warehouse Management System&#xff0c;即…

汇编寄存器之内存访问

1.内存中字的存储: 在CPU中用一个16位寄存器来存储一个字, 高8位存高字节,低8位存低字节 如AX寄存器存在一个字,那么AH存高字节,AL存低字节 在内存中存储字时是用两个连续的字节来存储字的, 这个字的低字节存在低单元,高字节存在高单元. 如下表示: 内存单元编号 单元中…

开发工程师-常用算法基本思想 -分类-时间复杂度与空间复杂度概述

文章目录 插入排序选择排序交换排序归并排序各种排序算法时间复杂度、空间复杂度以及稳定性分类 插入排序 1.基本思想&#xff1a;将一个数据插入到一个有序的数据列表&#xff0c;得到一个新的有序列表 2.分类&#xff1a;直接插入排序、希尔排序 选择排序 1.工作原理&…

机器学习基础知识之多模型性能对比评价方法

文章目录 1、交叉验证t检验2、Friedman检验与Nemenyi后续检验 在进行预测或分类对比实验时&#xff0c;通常需要比较两个或两个以上的模型性能&#xff0c;因此&#xff0c;下面将介绍两个常用的多模型性能对比评价方法&#xff0c;一种是交叉验证t检验&#xff0c;该方法主要用…

英语单词365-9

英语单词365-9 9.1 manipulate_哔哩哔哩_bilibili

网络安全就业会不会容易被淘汰?

先说结论&#xff1a;不会 作为一名资深的网络安全工程师&#xff0c;我的观点是网络安全是一个长期持续的领域&#xff0c;而不是一个很容易被淘汰的职业。可能会随着技术的进步和新的威胁的出现而有所改变&#xff0c;但作为一个专门从事网络安全领域的人员&#xff0c;我们…

SQL面试必备:100道高频考题解析

前言 在众多IT职场中&#xff0c;SQL技术一直是一个非常重要的技能点。如果你正在准备SQL相关的面试&#xff0c;那么这份“SQL面试 100 问”绝对是你不能错过的宝藏&#xff01; 这份清单涵盖了100道高频考题&#xff0c;从基础知识到复杂应用都有所涉及&#xff0c;帮助你全…