概述

决策树分类算法属于有监督类学习算法。

该分类算法需要利用训练数据得到分类模型,然后再对待分类点进行决策分类。

分类模型(决策树)的计算过程如下:

1、计算训练数据的原始熵

2、分析训练数据,得到每个特征及其的可能取值

3、计算按每个特征分类后的熵

4、选择原始熵与每个特征分类后熵差值最大的那个特征作为分类特征

(说明:把一个数据集按某个特征分成多个数据集后,这些数据集的熵一定是小于原数据集的熵的)

5、在步骤4中找到了第一个分类特征,接下来对分类后的数据集分别重复上述过程,即可得到决策树模型

6、如果数据集已经处理了所有属性,但是类标签依然不是唯一的,这种情况下,通常会采用投票的方式决定该几点的分类,即计算那个标签出现的频次最多,则选取该标签作为分类特征。

模型训练过程如下所示:

说明:每次计算熵的过程只与数据集的Lable有关,确切的说是每个Lable取值的概率有关

如下通过一个示例说明将数据集分裂后,熵值会变小:

原始数据集:

F1

F2

F3

Lable

0

0

0

L1

1

1

1

L1

0

1

2

L2

标签L1的概率2/3,标签L2的概率 1/3

熵=-2/3*log(2/3)-1/3*log(1/3) =0.2764

特征值F1有两种取值0和1,据此将上述数据集分为两个:

F1

F2

F3

Lable

0

0

0

L1

0

1

2

L2

F1

F2

F3

Lable

1

1

1

L1

第一个数据集占总数据集的2/3,其中L1的概率:1/2,L2的概率1/2

第二个数据集占总数据集的1/3,L1的概率为:1

熵=-{2/3*[1/2*log(1/2)+1/2*log(1/2)]}-[1/3*(1*log(1))]=0.2007

可以看出按特征值L1的取值分成的两个数据集的熵要比原来数据集的熵小。

《机器学习实战》学习总结(二)决策树算法原理相关推荐

  1. 机器学习实战教程(二):决策树基础篇之让我们从相亲说起

    机器学习实战教程(二):决策树基础篇之让我们从相亲说起 一.前言 二.决策树 三.决策树的构建的准备工作 1.特征选择 (1)香农熵 (2)编写代码计算经验熵 (3) 信息增益 (4) 编写代码计算信 ...

  2. 决策树算法原理(上)

    决策树算法在机器学习中算是很经典的一个算法系列了.它既可以作为分类算法,也可以作为回归算法,同时也特别适合集成学习比如随机森林.本文就对决策树算法原理做一个总结,上篇对ID3, C4.5的算法思想做了 ...

  3. 决策树算法原理及实现

    决策树算法原理及实现 转载自:https://www.cnblogs.com/sxron/p/5471078.html (一)认识决策树 1.决策树分类原理 决策树是通过一系列规则对数据进行分类的过程 ...

  4. 决策树算法原理(ID3,C4.5)

    决策树算法原理(CART分类树) CART回归树 决策树的剪枝 决策树可以作为分类算法,也可以作为回归算法,同时特别适合集成学习比如随机森林. 1. 决策树ID3算法的信息论基础   1970年昆兰找 ...

  5. 决策树算法原理(下)

    在决策树算法原理(上)这篇里,我们讲到了决策树里ID3算法,和ID3算法的改进版C4.5算法.对于C4.5算法,我们也提到了它的不足,比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处 ...

  6. 决策树算法原理以及决策树规则生成方法

    决策树算法原理以及决策树规则生成方法 决策树是一种可解释性较强的策略分析工具.creditmodel提供了分类回归树和条件推断树两种决策树生成和提取规则的方法. 每一个风险管理人员都应该掌握使用决策树 ...

  7. 吴恩达《机器学习》学习笔记二——单变量线性回归

    吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...

  8. 第十四课 k8s源码学习和二次开发原理篇-调度器原理

    第十四课 k8s源码学习和二次开发原理篇-调度器原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第十四课 k8s源码学习和二次开发原理篇-调度器原理 第一节 ...

  9. 第八课 k8s源码学习和二次开发原理篇-KubeBuilder使用和Controller-runtime原理

    第八课 k8s源码学习和二次开发原理篇-KubeBuilder使用和Controller-runtime原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第八课 ...

  10. 机器学习实战学习提纲

    机器学习实战学习提纲 学习目录 第一部分 分类 第1章 机器学习基础 第2章 k-近邻算法 第3章 决策树 第4章 基于概率论的分类方法:朴素贝叶斯 第5章 Logistic回归 第6章 支持向量机 ...

最新文章

  1. Android--使用AIDL和远程服务实现线程通信
  2. Android android-common 常用功能和工具集合
  3. B. Bogosort codeforces(思维)
  4. 升级glibc的影响_Java 11 升级:“债务”“危机”
  5. 13篇顶会!25岁成985高校博导,入职半年发ICML,网友:万点暴击
  6. 信息学奥赛一本通 1014:与圆相关的计算 | OpenJudge NOI 1.3 09
  7. Spring Cloud云架构 - commonservice-sso服务搭建(一)
  8. 根本没人买!又一品牌宣布不再做手机了...
  9. Osql\sqlcmd工具管理 SQL Server
  10. 9.14-9.18随笔之二
  11. JavaScript逆向:金某xx网站登陆指纹算法分析
  12. 计算机配机方案和理由,配机方案
  13. uniapp 微信小程序 保存图片到本地
  14. 【逻辑思维训练 二】系统思维训练
  15. [Redis] Redis实战
  16. 递推递归专练|——考试——|
  17. SpringBoot基于websocket的网页聊天
  18. 开立证券账户常见问题
  19. 北斗三号频点_北斗三号将为手机用户带来更好用户体验
  20. 视频去水印前端界面布局

热门文章

  1. 深度解析艾瑞咨询《2017年度中国商业智能行业研究报告》
  2. vue仿微博评论回复_Vue之 3.0升级
  3. ad域管理与维护_详解Windows Server 2016如何搭建AD服务器(图文教程)
  4. 锐角三角函数用计算机怎么算,用计算器求锐角三角函数值和由锐角三角函数值求锐角.doc...
  5. python import numpy_python numpy详解
  6. 由于找不到appvisvsubsystems32.dll_老实人就别找女朋友了 跟个老实人结婚有多累_新闻资讯...
  7. PostgreSQL从未授权到高权限命令执行
  8. 调试远程服务器上的代码时报错:调试设置中的Python路径无效
  9. 关于音频PCM数据2字节(16位)byte与64位double之间的转换
  10. 敏捷开发般若敏捷系列之八:敏捷的未来会怎样?