决策树(decisions tree)和ID3算法
决策树和决策规则是解决实际应用中分类问题的强大的数据挖掘方法。
首先,介绍一下分类的基本原理:
分类是一个学习函数的过程,该函数把数据项映射到其中一个预定义的类中。若一个样本包含属性值向量和一个相应的类,则基于归纳学习算法的每个分类就指定为该样本集的输入。归纳学习的目标是构建一个分类模型,也成为分类器,它可以根据有效的属性输入值预测某个实体所属的类。
决策树定义:每一个结点是一个decision,叶子结点是最终的决定。
如图简单示意,决策树可以被用来作为分类器
决策树易于被理解,即使对于非技术人员
在一元树中,对于每个内部节点,检验函数都只使用一个属性进行检验。结点的输出分支对应于该节点的所有可能的检验结果。
那么我们如何能够从一个数据集中构造决策树?
初步思路为用随机的splitting plane来分割数据集中的点
如右图
找到更智能的分割方法
引入entropy熵其中n是需要分成的类个数
fS (yi )是第yi的类在S中的频率。
ID3算法使分割后的子集的熵尽可能小,使entrogy gain尽可能大
其中fS (Ai )是Ai占S的频率,SAi是S的按A分割的子集之一
ID3算法的缺点:由ID3构建成的决策树对噪音敏感
进阶的算法还有C4.5和C5算法等
对于这种自上而下的决策树生成算法,最重要的决策是树节点属性的选择。
ID3和C4.5算法的属性选择基准都是使样本中的信息熵最小化。
决策树(decisions tree)和ID3算法相关推荐
- 机器学习实战(二)决策树DT(Decision Tree、ID3算法)
目录 0. 前言 1. 信息增益(ID3) 2. 决策树(Decision Tree) 3. 实战案例 3.1. 隐形眼镜案例 3.2. 存储决策树 3.3. 决策树画图表示 学习完机器学习实战的决策 ...
- python决策树 value_机器学习之ID3算法详解及python代码实现
在生活中我们经常会用到决策树算法,最简单的就是二叉树了:相信大家也会又同样的困扰,手机经常收到各种短信,其中不乏很多垃圾短信.此时只要设置这类短信为垃圾短信手机就会自动进行屏蔽.减少被骚扰的次数,同时 ...
- 决策树算法python实现_决策树之python实现ID3算法(例子)
1 #-*- coding: utf-8 -*- 2 from math importlog3 importoperator4 importpickle5 ''' 6 输入:原始数据集.子数据集(最后 ...
- 决策树数学原理(ID3,c4.5,cart算法)
上面这个图就是一棵典型的决策树.我们在做决策树的时候,会经历两个阶段:构造和剪枝. 构造 简单来说,构造的过程就是选择什么属性作为节点的过程,那么在构造过程中,会存在三种节点: 根节点:就是树的最顶端 ...
- 决策树的原理及构建(基于ID3算法)
决策树原理 决策树(Decision Tree)是根据一系列规则对数据进行分类的过程.实际上决策树的生成过程就是使用满足划分准则的特征不断的将数据集划分为纯度更高,不确定性更小的子集的过程.对于当前数 ...
- 简单易学的机器学习算法——决策树之ID3算法
一.决策树分类算法概述 决策树算法是从数据的属性(或者特征)出发,以属性作为基础,划分不同的类.例如对于如下数据集 (数据集) 其中,第一列和第二列为属性(特征),最后一列为类别标签,1表示是 ...
- 使用ID3算法构造决策树——python
任务描述 本关任务:补充python代码,完成DecisionTree类中的fit和predict函数. 相关知识 为了完成本关任务,你需要掌握: ID3算法构造决策树的流程 如何使用构造好的决策树进 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM - 结构之法 算法之道
转载自:http://scm.zoomquiet.io/data/20121220000040/index.html 第一篇:从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learn ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM
从决策树学习谈到贝叶斯分类算法.EM.HMM 引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全不代表你 ...
- [转]从决策树学习谈到贝叶斯分类算法、EM、HMM
引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全不代表你将来的面试中会遇到此类问题,只是因为我的简历上写 ...
最新文章
- 暴 雨 雲 于 7月17日
- 四种主流的 API 架构风格对比
- vivo AI 计算平台的 ACK 混合云实践
- WM_PAINT消息小结
- Android应用安全之Content Provider安全
- oracle trace文件解读
- php oracle 锁表,频繁使用的一张表经常好被锁死?怎样处理!
- spring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- django05:ORM示例--person 增删改查
- ePass.CreateFile
- mysql自定义函数索引_MySQL自定义函数、视图、索引
- Linux环境变量配置【转】
- 金山词霸-身边的实用工具
- Cisco ASA 9.17.1 Full ( bin, ova, qcow2, SPA, vhdx ) 下载 - 思科防火墙
- 电感值、电容值的理解(上)
- Windows11如何使用安卓子系统的Amazon Appstore
- 构建和管理有效API市场的关键步骤
- 使用百度云同步盘和Git Extensions进行代码托管
- 简单常用JS函数集合大全107个
- 创新研发高通量芯片技术,JASMINER实现区块链芯片大突破
热门文章
- Python正则表达式简介
- ENC28J60+STM32F103在STM32CubeIDE上移植lwIP2.1.2
- 大家分享——恢复视力方法
- kong mysql_Kong网关的安装配置
- 区块链(Blockchain)-核心技术概览
- 用针式打印机打印快递单子代替手写
- 微信手气红包算法 php,PHP实现微信/QQ手气红包,随机算法分享
- linux用file查看文件类型,Linux怎么使用file命令识别文件类型
- ‘gbk‘ codec can‘t decode byte 0xaf in position 16: illegal multibyte sequence
- DM365的H264编码中IDR