最近温习了一下决策树,又加深了理解。下面总结一下我对于决策树的几点思考。
我们知道三种经典的决策树算法:ID3、C4.5、CART,也知道它们的几点性质,比如,ID3仅能用于特征是离散值的情况,CART既可以用于分类也可以用于回归,等等。那么它们为什么会有这些性质?
ID3为什么不能用于连续型特征,而CART可以?
关键点在于“二元分裂”与“多元分裂”。
ID3选择好特征之后,对于这个特征的每个取值生成一个节点,是“多元分裂”,正适用于离散型特征。如果换成连续型特征,则无法为每个取值生成一个节点。可以说ID3是专门为离散型特征而设计的。
而CART采用了“二元分裂”,使得它同时适用于离散型特征和连续型特征。对于离散型特征,基于这种方法分裂:“如果该特征取值是a,则进入左节点,否则进入右节点”。对于连续型特征,基于这种方法分裂:“如果该特征取值<a,则进入左节点,否则进入右节点”。
《统计学习方法》讲CART算法的时候,讲回归树用的是连续型特征,讲分类树用的是离散型特征。实际上,无论回归还是分类,数据集中既可以有连续型特征,又可以有离散型特征。
ID3可以用于回归吗?
为什么CART可以用于回归?其实回归和分类的区别仅在于特征分裂后的评价标准。回归采用平方误差和,分类采用基尼指数。二者都希望最小化各自的评价标准。如果将ID3中采用的熵换成平方误差和,就可以做回归了。(这时候算法就不叫ID3了。。这里只是做一个思路延伸)