机器学习&&数据挖掘之一:决策树基础认识
决策树入门篇
前言:分类是数据挖掘中的主要分析手段,其任务就是对数据集进行学习并构造一个拥有预测功能的分类模型,用于预测未知样本的类标号,把类标号未知的样本按照某一规则映射到预先给定的类标号中。
分类模型学习方法其中一类就是基于决策树的学习方法,下面,简单总结一下决策树的基础知识和构造决策树的两种算法:ID3、C4.5。
关键词:决策树、ID3、C4.5、信息熵、信息增益、分裂信息、信息增益率
正文
决策树分类的方法的特点是对训练样本集进行训练,生成一颗二叉或多叉的决策树。
ID3算法:使用信息增益作为属性选择标准。首先检测并计算所有的属性,然后选择信息增益最大的属性作为决策树节点,由该属性的不同取值建立分支,再对各分支的子集采取相同的信息增益计算方法后继续选择信息增益大的属性作为节点。一直递归调用下去,直到所有子集仅包含一个类别的数据为止,最后就得到了一颗决策树。
熵(Entropy,信息熵)的计算方法:假定S为训练集,S的目标属性C有m个可能的类标号值,C={C1,C2,C3…Cm},每个类标号值相应的概率为p1,p2,p3…pm。那么训练集S的信息熵定义为:Entropy(S)=Entropy(p1,p2,,pm)=-(p1*log2(p1)+p2*log2(p2)+pm*log2(pm));
信息增益:假设训练集为S,并用属性A来划分S,那么属性A的信息增益Gain(S,A)为训练集S的熵减去按属性A划分S后的子集的熵,即Gain(S,A)=Entropy(S)-Entropy_A(S)。
优缺点分析:ID3算法采用一种自顶向下、贪婪的搜索方法,理论清晰,方法简单,学习能力较强,但是ID3算法只能处理分类型数据,无法处理连续性数据。该算法使用信息增益作为决策树属性节点的选择标准,由于信息增益在类别值多的属性上大于类别值少的属性的计算结果,这将导致决策树偏向于选择类别值多的属性。
C4.5算法:基于ID3算法的不足而改进的决策树分类算法。
如果属性A为离散型数据:计算方法和ID3相同。
如果属性A为连续型数据:则对属性A的取值排序,将每两个相邻值的中点看做分裂点,然后对每个分裂点计算Sl和Sr(Sl和Sr分别对应于属性A的取值对该分裂点进行划分开的两部分子集,即Sl为属性A取值中比该分裂点小的值的个数,Sr亦如此),然后计算该分裂点的熵Entropy_A(S)=abs(Sl)/abs(S)Entropy(Sl)+abs(Sr)/abs(S)Entro
py(Sr),选择Entropy_A(S)值最小的分裂点作为属性A的最佳分裂点,并以此分裂点按属性A划分S的熵值作为属性A划分S的熵值。
分裂信息SplitE(A)=-(S1/S*log2(S1/S)+S2/S*log2(S2/S)……Sk/S*log2
(Sk/S)
对有缺失数据的处理:以某种方式填充缺失的数据(如平均值,常见值,赋予概率等等)
信息增益率定义为GainRatio(A)=Gain(A)/SplitE(A)。
优缺点分析:C4.5算法能够处理离散型数据和连续型数据以及有缺失值的数据,使用信息增益率来作为决策树的属性选择标准,对生成的决策树进行剪枝处理;在构造树的过程中,需要对数据集进行多次扫描和排序,因此算法相对而言不是很高效,并且C4.5算法对大规模数据集的处理不是很理想。
机器学习&&数据挖掘之一:决策树基础认识的更多相关文章
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)
原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...
- 常用的机器学习&数据挖掘知识点【转】
转自: [基础]常用的机器学习&数据挖掘知识点 Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Le ...
- [resource-]Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
reference: http://www.52nlp.cn/python-%e7%bd%91%e9%a1%b5%e7%88%ac%e8%99%ab-%e6%96%87%e6%9c%ac%e5%a4% ...
- 【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
本文转载自:https://www.cnblogs.com/colipso/p/4284510.html 好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9 ...
- 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考 ...
- 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)
机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 前言: 找工作时( ...
- [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...
- 常见的机器学习&数据挖掘知识点
原文:http://blog.csdn.net/heyongluoyao8/article/details/47840255 常见的机器学习&数据挖掘知识点 转载请说明出处 Basis(基础) ...
- 2018-02-03-PY3下经典数据集iris的机器学习算法举例-零基础
---layout: posttitle: 2018-02-03-PY3下经典数据集iris的机器学习算法举例-零基础key: 20180203tags: 机器学习 ML IRIS python3mo ...
- Python数据挖掘之决策树DTC数据分析及鸢尾数据集分析
Python数据挖掘之决策树DTC数据分析及鸢尾数据集分析 今天主要讲述的内容是关于决策树的知识,主要包括以下内容:1.分类及决策树算法介绍2.鸢尾花卉数据集介绍3.决策树实现鸢尾数据集分析.希望这篇 ...
随机推荐
- j-query j-query
jQuery 1.安装:http://jquery.com/download/登陆这个jQuery下载2在.html文件的<head>标签中导入3 语法$(selector).acti ...
- asp.net中分页与存储过程的一些总结
一.接上文,使用的是jquery AJAX 进行分页 分页存储过程代码如下: ALTER PROCEDURE [dbo].[USP_GetAlbumByPage] @pageIndex int,--当 ...
- 【转】MYISAM表批量压缩
关于对MYISAM表的压缩,可以使用myisampack和myisamchk完成(myisampack完之后必须进行myisamchk才能使用压缩后的表,而且是只读的), 其详细地用法可以参考官方文档 ...
- JQuery遍历指定id的div name值的几种方法
JQuery遍历指定id的div name值的几种方法:方法一 $("#div1 :text").each(function () { var this_id = $(this). ...
- C#之匿名类型与隐式局部变量
一.匿名类型 下面一段代码展示了如何定义并且使用匿名类型: static void Main(string[] args) { var patent1 = new { Title = "Ne ...
- GoogleMapApi 发布后提示安全问题
今天日本那边发过来一个Bug说是Google Map打不开,提示安全问题. 最后发现,日本那边的发布路径如下: https:xxxxx.gspserver.co.jp 而Source中Google M ...
- 简单快速的开发框架-SRF
1.是什么 SRF(simply and rapid development framework) 一套基于asp.net mvc的开发框架,致力于提供简单.快速的企业应用开发方案,旨在解决企业应用开 ...
- VC中实现GCC的2个比较常用的位运算函数
在GCC中内嵌了两个位运算的函数,但在VC中并没有这两个函数(有相似函数). //返回前导的0的个数. int __builtin_clz (unsigned int x) //返回后面的0个个数,和 ...
- EMVTag系列10《发卡行公钥证书》
Ø 90 发卡行公钥(IPK)证书 L: NCA -C(有条件):如果支持SDA,DDA CA认证过的发卡行公钥.用于脱机数据认证 Ø 9F32 发卡行公钥指数 L: 1 or 3 -C( ...
- Why string is immutable in Java ?
This is an old yet still popular question. There are multiple reasons that String is designed to be ...