1、什么时候用?
决策树:有分类决策树和回归决策树
决策树:适合处理离散型数据
离散型数据(特征、属性):取值可以具有有限个或无限可数个值,这个值可以用来定性描述属性的汉字、单词;当然也可以是整数,注意是整数,而不是浮点数。
例如:长相:好、一般、不好看;是否有脚蹼(pu):是、否
连续性数据:不是离散型数据的就是连续性数据;
例如:每年的飞行里程数、年龄、身高等
注意:如果想使用决策树算法,我们可以将连续性数据转化为离散型数据;
2、决策树包括那些部分?
3、如何构建决策树?
3.1熵
70年代后期到80年代,Quinlan开发了ID3算法
Quinlan改进了ID3算法,称为C4.5算法
1984年,多位统计学家提出了CART算法
3.2 信息增益
熵:
条件熵:
条件熵是用来解释信息增益而引入的概念,概率定义:随机变量X在给定条件下随机变量Y的条件熵,对定义描述为:X给定条件下Y的条件概率分布的熵对X的数学期望,在机器学习中为选定某个特征后的熵,公式如下:
H(Y│X)=∑_x▒p(x)H(Y|X=x)
信息增益:
信息增益在决策树算法中是用来选择特征的指标,信息增益越大,则这个特征的选择性越好,在概率中定义为:待分类的集合的熵和选定某个特征的条件熵之差(这里只的是经验熵或经验条件熵,由于真正的熵并不知道,是根据样本计算出来的),公式如下:
IG(Y│X)=H(Y)−H(Y|X)
选择根节点:ID3算法
构造决策树的基本思想是随着树的深度加深,节点的熵值迅速的降低。熵降低的速度越快,这样我们有望得到一颗高度最矮的决策树。
Sklearn中的ID3
在ID3中,每次根据“最大信息熵增益”选取当前最佳的特征来分割数据,并按照该特征的所有取值来切分,也就是说如果一个特征有4种取值,数据将被切分4份,一旦按某特征切分后,该特征在之后的算法执行中,将不再起作用。
C4.5算法
ID3采用的信息增益度量存在一个缺点,它一般会优先选择有较多属性值的Feature,因为属性值多的Feature会有相对较大的信息增益(信息增益反映的给定一个条件以后不确定性减少的程度,必然是分得越细的数据集确定性更高,也就是条件熵越小,信息增益越大).为了避免这个不足C4.5中是用信息增益比率(gain ratio)来作为选择分支的准则。信息增益比率通过引入一个被称作分裂信息(Split information)的项来惩罚取值较多的Feature。除此之外,C4.5还弥补了ID3中不能处理特征属性值连续的问题。但是,对连续属性值需要扫描排序,会使C4.5性能下降
但是同样的这个增益率对可取值数目较少的属性有所偏好
CART算法
评价函数