博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
决策树模型与学习《一》
阅读量:4640 次
发布时间:2019-06-09

本文共 1097 字,大约阅读时间需要 3 分钟。

决策树总结《一》.md

决策树模型与学习

1. 定义

一般的,一棵决策树包含一个根结点,若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;跟结点包含样本全集,从跟结点到每个叶结点的路径对应一个判定测试序列。

上面的定义可能有些抽象,我随意画了一个图来加深理解;

可以看出,该决策树按照性别、身高、厨艺来构建,对其属性的测试,在最终的叶结点决定相亲对象是否符合男生相亲的标准。

 

2. 基本算法

决策树的算法通常是一个递归的选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据有一个最好的分类过程,这一过程对应着特征空间的划分,也对应着决策树的构建。目前常见的算法包括 CART (Classification And Regression Tree)、ID3、C4.5、随机森林 (Random Forest) 等。

  1. 开始先构建根节点,将所有训练数据都放在根节点;
  2. 选择一个最优特征,按照这一特征将训练数据分割成子集,使得各个子集有一个在当前条件下最好的分类;
  3. 如果这些子集已经能够被基本正确分类,那么构建叶结点,并将这些子集分到所对应的叶结点中去;
  4. 如果还有子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的结点;
  5. 如此的递归下去,直至所有的训练数据子集被基本正确分类,或者没有合适的特征为止。最后每个子集都被分到叶结点上,即都有了明确的分类, 这就生成了一颗决策树。

3. 划分选择

决策树算法的重点在上图的第八行:“选择最优划分属性”,也就是如何选择最优划分属性,一般而言,随着划分的层级不断增高,我们希望决策树的分支结点所包含的样本尽可能的在同一个类别(否则专门为很少数的样本创建一个分支结点没啥意义),也就是其的“纯度”越来越高。

信息熵则是专门用来表示样本纯度的指标,假定p(xi)表示在当前集合x中第 i 类样本所占的比例为p(xi),公式如下:

其中,熵的值越小,集合x的纯度就越高;熵的值越大,随机变量的不确定性就越大。

其中,t是T划分之后的集合,考虑到不同的分支结点所包含的样本数目不同,给分支结点赋予权重p(t),即样本数目越多的分支结点的影响就越大。一般而言,信息增益越大,则意味着使用该属性划分所获得的纯度提升就越大(因为H是不变的,所以信息熵就得越小,则纯度就越高),因此,我们可用信息增益来进行决策树的划分属性选择。

 

转载于:https://www.cnblogs.com/George1994/p/8543420.html

你可能感兴趣的文章
python模块struct
查看>>
图像的灰度级和动态范围(转)
查看>>
C# MODBUS协议 上位机(转)
查看>>
CSS box-shadow 属性
查看>>
vue:图片切换动态显示
查看>>
备忘录
查看>>
软件工程个人作业02
查看>>
pip install 问题
查看>>
vue-router导航守卫,限制页面访问权限
查看>>
2019 Multi-University Training Contest 1 - 1012 - NTT
查看>>
浏览器调试淘宝首页看到有趣的招聘信息
查看>>
ASP.NET Identity “角色-权限”管理 4
查看>>
[转][译]ASP.NET MVC 4 移动特性
查看>>
SOC CPU
查看>>
get_result --perl
查看>>
163镜像地址
查看>>
ehcache memcache redis 三大缓存男高音
查看>>
eclipse 快捷键Open Implementation 直接退出
查看>>
minix中管道文件和设备文件的读写
查看>>
JAXB - Annotations, Annotations for Enums: XmlEnum, XmlEnumValue
查看>>