《机器学习实战》第三章 决策树 学习总结

       决策树与KNN均属于分类算法,它将欲处理的数据看做树的根,然后选取数据的特征作为分类的节点,每次选取一个节点将数据分成不同的子集,每次划分出来的子集可看做是树的分支,一次划分过程即为一次决策过程,直至最后无法继续划分,则停止进程,最终形成根在上部的一颗树型结构。

1、构造决策树

       在构造决策树前,先选取特征作为划分数据集的依据。为得到在划分数据时起决定作用的特征,要对每个特征进行评估。

(1)信息增益

       划分数据的大原则:将无序的数据变得更加有序

        信息增益:在划分数据前后信息发生的变化

        计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。(香农熵)

(2)划分数据集

        对所有特征进行遍历,选择信息熵最高的特征作为划分依据。

(3)递归构建决策树

        由于特征值可能多余两个,即可能存在大于两个分支的数据集划分。在第一次划分后,数据将被向下传递到树分支的下一个节点,再次进行划分。这是一个递归的过程。递归结束的条件是:程序遍历完所有划分数据集的属性,或者每个分支下的所有实例都有相同的分类。

2、用matplotlib注解绘制树型图

       在此处,由于本人使用的是python3.6,而不是python2.6,遇到一个小问题

       firstStr = myTree.keys()[0]

        secondDict = myTree[firstStr]

应改为:

        firstStr = list(inputTree.keys())
        firstStr1=firstStr[0]

        secondDict = inputTree[firstStr1]

3、测试算法

       使用训练数据构造决策树,然后用该预测模型对实际待测数据进行分类。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值