参见:http://blog.csdn.net/qunxingvip/article/details/51501541 说的比较详细
下面缺失部分有错误,已经删除
决策树 是一种监督学习算法,可用于分类问题也可以用到回归问题。
决策树的构造:根据某种规则选取一个属性,;利用该属性的值把数据分成不同的分支,每个分支再递归的调用上面进行分支的方法,当该属性对应的数据都是同一类数据的时候停止进行。
对不同选择属性的方法,对应不同的决策树算法。
利用信息增益最大化的是ID3算法
利用信息增益率最大化的是C45算法
在R语言中,rpart中分类或者回归的算法是利用CART算法实现的。
信息熵:反映了数据的昏乱程度,信息熵越大 数据的昏乱程度越高。
信息增益:反应信息的减少程度,根结点信息熵 -- 分类后的条件熵
决策树的剪枝:
1,首先构造出完整的决策树,根据叶子结点所在邻近父结点,计算父结点的信息熵 与分类后的条件熵的差,大于0的时候进行剪枝。对其他结点进行同样的操作(后剪枝)
2,在决策树构造结点的时候,计算两者的差进行剪枝(先剪枝)
3,构造好决策树, 第一次利用1去除几个结点形成一个树T1,第二次在T1的基础上剪枝后形成T2,,,,一直到只有一个结点Tn。利用测试集,在T1 到Tn中选出分类或者拟合效率最好的那个树。
决策树的优点:
1.对特征敏感
2.当特征是连续值得时候,选取某个阈值对属性进行切分。
决策树的缺点:
1.容易过拟合
其他:
1.熵,基尼系数有利于具有大量不同值得属性。
2.cart算法,对每个属性只进行二元划分