赞
踩
决策树常见的算法有ID3 C4.5 CART,这里只简述一下,不做详细介绍。因为了解了决策树的概念,再看这几个算法,特别简单。重点介绍三者的关系。
ID3算法是决策树的一个经典的构造算法,内部使用信息熵以及信息增益来进行构建;每次迭代选择信息增益最大的特征属性作为分割属性。
传统ID3不支持连续变量;不支持缺省值(对缺省值敏感),如样本空间有三个特征,其中某样本缺少一个特征值;以某特征为标准进行划分了,后面就不能再选择这个特征了;对划分成几叉树没要求。
优点
决策树构建速度快;实现简单;(因为不考虑连续的、而且可以多分枝)
缺点
在ID3算法的基础上,进行算法优化提出的一种算法(C4.5);现在C4.5已经是特别经典的一种决策树构造算法;使用信息增益率来取代ID3算法中的信息增益,在树的构造过程中会进行剪枝操作进行优化;能够自动完成对连续属性的离散化处理;C4.5算法在选中分割属性的时候选择信息增益率最大的属性,涉及到的公式为:
信息增益率可以很好解决ID3的缺点1,因为此时H(A)就会比较大,如果变成增益率,这样大的幅度会变小。如果此时Gain(A)只是大一点点,那么Gain_ration(A)其实是很可能会变小的。
总归是ID3的一个优化,所以基本拥有ID3的所有优点,同时应用信息增益率也准确率也得到提高。
C4.5是一个很经典的算法,现在很多决策树的算法是在C4.5上发展过来的。ID3、C4.5是开源,具体已经贡献出来了。在C4.5基础上,发展出了很多商业算法,如C5
优点
缺点
使用基尼系数(回归用均方差)作为数据纯度的量化指标来构建的决策树算法就叫做CART(Classification And Regression Tree,分类回归树)算法。CART算法使用GINI增益作为分割属性选择的标准,选择GINI增益最大的作为当前数据集的分割属性;可用于分类和回归两类问题。
特别强调一点:CART构建是二叉树。(不像ID3或C4.5是多叉树,即一个属性值划分一个分支,这个属性划分完了,后面就不能用了。而CART是二叉树,就一个属性可能用到多次,可重复性使用。也就是说,CART不同之处就是:二叉树和属性可重复使用。)
当然对于使不使用基尼系数无所谓,我们完全可以用信息熵来实现。
优点
缺点
算法 | 支持模型 | 树结构 | 特征选择 | 连续值处理 | 缺失值处理 | 剪枝 | 特征属性多次使用 |
---|---|---|---|---|---|---|---|
ID3 | 分类 | 多叉树 | 信息增益 | 不支持 | 不支持 | 不支持 | 不支持 |
C4.5 | 分类 | 多叉树 | 信息增益率 | 支持 | 支持 | 支持 | 不支持 |
CART | 分类、回归 | 二叉树 | 基尼系数、均方差 | 支持 | 支持 | 支持 | 支持 |
再补充两点
缺失值处理
比如x∈{1,2},如果其中一条样本值只有2没有1,ID3是不支持的。而C4.5和CART会给x信息加一个特殊值如x=3的情况。一般情况下“缺失值处理”这外性质也不会利用,因为前期数据处理时,会填一些特殊值,如均值。
连续值处理
C4.5,得到的划分中位数,需要所有的都计算一遍
CART,得到的划分中位数,会随机选择K个(都计算的话,运算量比较大),找其中最优的。这样可能找到最优的,即便不是最优的,后面还可能用到这个属性进行划分。
注:这些是他们的区别,其他的基本都一样,比如说:如何构建了……
分类树采用信息增益、信息增益率、基尼系数来评价树的效果,都是基于概率值进行判断的(对于回归,Y值有概率值?所以不可能有概率值相关的计算);而分类树的叶子节点的预测值一般为叶子节点中概率最大的类别作为当前叶子的预测值。
在回归树种,叶子节点的预测值一般为叶子节点中所有值的均值来作为当前叶子节点的预测值。所以在回归树中一般采用MSE作为树的评价指标,即均方差。(直观表现就是数据的集中情况)当然也可以有其他 评价指标,如MAE(绝对误差)
一般情况下,只会使用CART算法构建回归树。
举例
1 . 离散
通过房产的情况,来看有无偿还的能力。
2 . 连续
这里是看有无房产时,对应的贷款钱数,是以叶子节点中样本的均值作为预测值。
所以最终情况,是把连续的数据变成了离散的,以每个叶子节点的均值作为各个离散的点。画在图上,是一个个的点,而不像线性回归是连续的线。换句话说,我们本身希望预测是一个连续的情况,但通过回归树变成了离散的,也就是预测结果是集中在那几个点上的。
线性回归找的是拟合的线。所以,一般来讲,线性回归预测效果更好。
决策树常见的算法有ID3 C4.5 CART,这里并没有做详细的讲解。上篇博客讲的决策树,理解了决策树,再看这几个算法,其实特别简单。我也相信,看完这几个算法简单介绍后,绝对不会是那种抽象的理解。
当年自己学习决策树时,什么“信息熵”,什么“信息增益”,什么“基尼系数”了……是一脸的懵逼。
通过这些简单的,但是还算比较形象的理解之后,再看其他专业介绍的,会so easy……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。