决策树模型比较:C4.5,CART,CHAID,QUEST
(1)C4.5算法的特点为:
输入变量(自变量):为分类型变量或连续型变量。
输出变量(目标变量):为分类型变量。
连续变量处理:N等分离散化。
树分枝类型:多分枝。
分裂指标:信息增益比率gain ratio(分裂后的目标变量取值变异较小,纯度高)
前剪枝:叶节点数是否小于某一阈值。
后剪枝:使用置信度法和减少-误差法。
(2)CART算法的特点为:
输入变量(自变量):为分类型变量或连续型变量。
输出变量(目标变量):为分类型变量(或连续型:回归分析)
连续变量处理:N等分离散化。
树分枝类型:二分枝。
分裂指标:gini增益(分裂后的目标变量取值变异较小,纯度高)。
前剪枝:maxdepth,minsplit,minbucket,mincp
后剪枝:使用最小代价复杂度剪枝法(MCCP)
(3)条件推理决策树(CHAID,QUEST)算法的特点为:
输入变量(自变量):为分类变量或连续型变量。
输出变量(目标变量):为分类型变量(或连续型:回归分析)。
连续变量处理:N等分离散化。
树分枝类型:二分枝(以party包中的ctree函数为例)。
分裂指标:独立性检验和相关性(分裂后自变量与目标变量的相关性)
------------------------------------------------------------------------------------
补充:随机森林算法介绍
随机森林是一种专门为决策树分类器设计的优化方法。它综合了多棵决策树模型的预测结果,其中的每棵树都是基于样本的一个独立集合的值产生的。
随机森林算法的一般步骤为:首先固定概率分布,从原始训练集中可重复地选取N个样本形成t个子训练集,然后使用这t个子训练集产生t棵决策树。最后把这t棵决策树综合组成一棵决策树。
在R语言中,基于CART算法的随机森林算法所涉及的函数是rpart包的randomForest函数,基于条件推理决策树算法的随机森林算法所涉及的函数是party包的cforest函数。
一般来说,随机森林算法的效果要比一般的决策树均好很多。
-------------------------------------------------------------------------------------
装袋算法与随机森林相对而言会生成多个树模型,再进行组合预测,其效果远大于单个树模型。装袋算法(bagging)采取自助法的思路,从样本中随机抽样,形成多个训练样本,生成多个树模型。然后以多数投票的方式来预测结果。随机森林则(randomForest)更进一步,不仅对样本进行抽样,还对变量进行抽样。