文章目录
前言
决策树算法本质上是通过一系列规则对数据进行分类的过程。有监督学习。
常见的决策树算法有ID3,C4.5,CART。
ID3:采取信息增益来作为纯度的度量。选取使得信息增益最大的特征进行分裂。
信息熵是代表随机变量的复杂度(不确定度),条件熵代表在某一个条件下,随机变量的复杂度(不确定度)。
而信息增益则是:信息熵-条件熵。
因此在计算过程中先算限制的复杂度,再减去某种条件分裂下的复杂度,选择增益最大的那种条件。信息熵和条件熵可以通过各类样本占样本集合的比例来计算出。
如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么我们就选取这个特征。
但缺点是信息增益准则其实是对可取值数目较多的属性有所偏好,比如按照编号分类的话信息增益一定是很大的,只要知道编号,其它特征就没有用了,但是这样生成的决策树显然不具有泛化能力。
为了解决这个问题,引入了信息增益率来选择最优划分属性。
C4.5:用信息增益率来选择属性。
信息增益率=信息增益/IV(a)
这里的IV(a)衡量了以a属性划分时分成的类别数量,分成的类别数越大,IV(a)就越大。
可以看出增益率准则其实对可取类别数目较少的特征有所偏好。
因此实际上的C4.5算法不直接选择增益率最大的候选划分属性,而是在候选划分属性中找出信息增益高于平均水平的属性(保证特征效果较好),再从中选择增益率最高的(保证了不会出现如通过编号特征分类这种极端的情况)。
CART:CART既能是分类树,又能是回归树。当CART是分类树时,采用GINI值作为分裂依据;当CART是回归树时,采用样本的最小方差作为分裂依据;
分类树通过对象特征预测对象所属的类别,而回归树根据对象信息预测该对象的属性(并以数值表示)。
提示:以下是本篇文章正文内容,下面案例可供参考
一、训练集测试集划分
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.4,random_state=i1+1)
x_test2,x_check,y_test2,y_check=train_test_split(x_test,y_test,train_size=0.25,random_state=i1+