ID3是采用信息增益作为特征选择的标准
每一次都选择是的信息增益最大的特征进行分裂,递归的构建决策树
分类完之后,结果得不确定越小越好。信息增益就是表示特征X使类Y的不确定减少得程度。
算法过程:
ID3算法有2大缺点:
类别越多的特征计算出的信息增益越大,易导致生成的决策树广而浅;
只能处理离散变量,不能处理连续变量;不能处理缺失值。
C4.5是在ID3的算法基础上,采用信息增益率来做为特征选择,通过增加类别的惩罚因子,规避了类别越多信息增益越大的问题,
同时也可以对连续变量通过均值离散化的方式,解决无法处理连续变量的问题,但是不能处理回归问题。
信息增益率等于信息增益除以该属性本身的熵。
算法过程:
不足:
- 由于C4.5需要对数据集进行多次扫描,算法效率较低
- 可以处理连续变量和缺失值
- 在树的构造过程中可以进行剪纸,避免过拟合
CART不再通过信息熵的方式选取最优划分特征,而是采用基尼系数,也叫基尼不纯度,
两者衡量信息量的作用相当,但是基尼系数由于没有对数运算,可大大减少计算开销。
既可以做分类,也可以做回归。只能形成二叉树。
算法过程:
对于CART分类树连续值的处理问题,其思想和C4.5是相同的,都是将连续的特征离散化。
区别在于在选择划分点时的度量方式不同,C4.5使用信息增益,CART分类树使用基尼系数。
具体的思路如下,如m个样本的连续特征A有m个,从小到大排列为a1,a2,…,ama1,a2,…,am,则CART算法取相邻两样本值的中位数,
一共取得m-1个划分点,其中第i个划分点Ti表示为:Ti=(ai+a(i+1) )/ 2Ti=ai+ai+12。
对于这m-1个点,分别计算以该点作二元分类点时的基尼系数。
选择基尼系数最小的点作为该连续特征的二元离散分类点。比如取到的基尼系数最小的点为at,则小于atat的值为类别1,大于atat的值为类别2,
实现连续特征的离散化。注意:与离散属性不同的是,如果当前节点为连续属性,则该属性后面还可以参与子节点的产生选择过程。
对于CART分类树离散值的处理问题,采用的思路是不停的二分离散特征。
回归树
回归树采用最小方差作为分裂规则。
对于任意划分特征A,对应的任意划分点s两边划分成得数据集D1和D2,
求出是D1和D2各自集合的均方差最小,同时D1和D2的均方差之和最小,这时对应的特征为特征值划分点。
其中,c1为D1数据集的样本输出均值,c2为D2数据集的样本输出均值
输出结果:最终叶子得均值或者中位数来预测输出结果
参考:
https://blog.csdn.net/cindy407/article/details/93138327
https://blog.csdn.net/update7/article/details/112376632
https://zhuanlan.zhihu.com/p/163303123
https://blog.csdn.net/qq_40006058/article/details/80530358
https://blog.csdn.net/chwei20002005/article/details/114653033