从零开始学人工智能(12)--Python · 决策树(零)· 简介

2018-12-16 14:36

从零开始学人工智能(12)--Python · 决策树(零)· 简介



  原标题:从零开始学人工智能(12)--Python · 决策树(零)· 简介

  欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

  对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

从零开始学人工智能(12)--Python · 决策树(零)· 简介

  决策树是听上去比较厉害且又相对简单的算法,但在实现它的过程中可能会对编程本身有更深的理解、尤其是对递归的利用

  我个人的习惯是先说明最终能干什么、然后再来说怎么实现,这样也能避免一些不必要的信息筛选。所以,这一部分主要用于让已经知道一定的基础知识的童鞋知道最后能走多远,如果是想从头开始学的话可以无视这一章直接看第一章

  1. ID3 和 C4.5(可以控制最大深度),CART 可能会在假期实现

  2. 可视化;比如在比较著名的蘑菇数据集上的最终结果为(随机 5000 个训练):正确率 100%(大概挺正常的……)。其中,每个 Node 最后那个括号里面,箭头前面是特征取值,箭头后面或者是类别、或者是下一个选取的特征的维度

从零开始学人工智能(12)--Python · 决策树(零)· 简介

从零开始学人工智能(12)--Python · 决策树(零)· 简介

  其中红色数字标注了该 Node 选择了数据的哪个维度,绿色字母表示该 Node 所属的类别,白色字母代表着对应数据维度特征的取值

  比如说如果样本的第 4 维(从 0 开始计数)是 a、l 的话就判为类别 e,是 c、f、m、p、s、y 的话就判为类别 p,是 n 的线. 虽说我这个决策树暂时不支持连续型特征,但相对应的它有一个好处:你不用把离散型数据处理成数值形式、而可以直接把它输入模型来训练。据我所知,scikit-learn 的 DecisionTreeClassifier 还不支持这一点(自豪脸)(然而人家比你快 1~2 倍