【机器学习入门】决策树算法(三):C5.0算法

简介:

C5.0算法是昆兰在C4.5算法的基础上提出的商用改进版本,目的是对含有大量数据的数据集进行分析。

计算过程:

C5.0算法的训练过程大致如下。

假设训练的样本集S共有n个样本,训练决策树模型的次数为T,用Ct表示t次训练产生的决策树模型,经过T次训练后最终构建的复合决策树模型表示为C*。

表示第i个样本在第t次模型训练中的权重(i=1,2,3,…,n;t=1,2,3,…,T);

表示归一化因子,再用βt表示权重值的调整因子,并定义0-1函数:

【机器学习入门】决策树算法(三):C5.0算法_第1张图片

表示第i个第t次训练的分类结果,最后进行如下步骤样本训练。

① 初始化参数:设定训练决策树模型次数T(T一般默认为10),并赋予每个训练样本相同的权重值=1/n,令t=1开始第一次训练。

② 计算每个样本的归一化因子值

并且,使其满足

③ 为每个样本赋予归一化的权重值,构建当前的决策树模型Ct。

④ 计算第t次训练分类错误率

⑤ 分支:如果εt>0.5,修改训练次数T=T−1,返回步骤①重新训练;

如果εt=0,结束整个训练,令t=T转入步骤⑧;

如果0<εt≤0.5,转入步骤⑥。

⑥ 计算调整因子:用错误率计算本次训练调整因子βt=εt/(1-εt),错误率高,调整因子高

⑦ 更新样本权重值

,调低被正确分类样本的权重值。

⑧ 结束判断:如果t=T,结束训练过程转入⑨,否则令t=t+1,返回步骤②。

⑨ 复合模型:最终根据

计算求得复合决策树模型。

C5.0算法的优缺点:

优点:

  • 构建决策树的时间更快,生成的决策树规模更小;

  • 可以处理数据遗漏和输入字段很多的问题;

  • 可以自动修剪决策树,提高分类精度;

缺点:

  • 对于连续型变量,需要进行离散化处理;

  • 对于噪声数据和异常值敏感。

C5.0算法相较于C4.5算法的提升:

  • 执行效率更高,内存使用更少

  • 生成的决策树更小,拥有更少的叶子结点

  • 支持Boosting技术,提高分类精度

  • 支持加权和成本敏感学习


借鉴:《机器学习》

吴恩达 机器学习课程

你可能感兴趣的:(机器学习入门,机器学习,决策树,算法)