机器学习(四):分而治之(上)——决策树分类

简单地说,一个困难的决定可以简化为一系列小的越来越具体的决定。

决策树

理解:从代表数据集的根节点开始,该算法选择最能预测目标类的特征,这些案例将被划分到这一特征的不同值的组中,这一决定形成了第一组树枝。继续分而治之其他节点,每次选择最佳的候选特征,直到达到停止标准。如果一个节点停止,可能具有以下情况:

  1. 节点上几乎所有的案例属于同一类
  2. 没有剩余的特征来分辨案例之间的区别
  3. 决策树已经到达预先定义的大小限制

C5.0决策树算法

  • 选择最佳分割
    我们需要一种方式寻找分割数据的特征值,即分区中主要包含来源于一个单一类的案例。这个算法使用的是熵度量纯度。样本数据的熵表示分类值如何混杂在一起,最小值0表示是完全同质的,1表示样本凌乱的最大数量。
    这里写图片描述

这里写图片描述

  • 修剪决策树
    如果决策树增长过大,将会使许多决策过于具体,模型将会过度拟合训练数据。

    提前停止法:又叫预剪枝决策树法,一旦决策树达到一定数量,或者决策节点仅含有少量案例,就停止树的增长。很难把握,只有决策树生长到足够大才能学习到
    后剪枝决策树法:比预剪枝更有效,如果决策树生长过大,根据节点处的错误率使用修剪准则将决策树减小到更合适的大小。

  • 提高决策树的准确性
    自适应增强:boosting算法,许多个决策树构建的过程,然后这些决策树通过投票表决的方法为每个案例选择最佳分类。可以理解为,通过将多个能力较弱的学习算法组合在一起,比任何一个单独的算法要强得多。在R软件中,一般加入参数trials=10,作为使用独立决策树的数量。不是一定能提高准确性,可以在改进算法性能的时候进行尝试。

  • 犯比其他错误更严重的错误
    代价矩阵:将惩罚因子分配到不同类型的错误上,用来指定每种错误相对于其他错误有多少倍的严重性。例如:
    0 4
    1 0
    正确分类时没有代价,错误时有1和4两种代价。

例子:使用c5.0决策树识别高风险银行贷款。

发布了164 篇原创文章 · 获赞 69 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/wqy20140101/article/details/70921189