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

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

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

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

可视化;比如在比较著名的蘑菇数据集上的最终结果为(随机 5000 个训练):

正确率 100%(大概挺正常的……)。其中,每个 Node 最后那个括号里面,箭头前面是特征取值,箭头后面或者是类别、或者是下一个选取的特征的维度

运用 cv2 的话可以画出比较传统的决策树的可视化图,效果大致如下:

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

比如说如果样本的第 4 维(从 0 开始计数)是 a、l 的话就判为类别 e,是 c、f、m、p、s、y 的话就判为类别 p,是 n 的话就再看样本的第 7 维、以此类推

虽说我这个决策树暂时不支持连续型特征,但相对应的它有一个好处:你不用把离散型数据处理成数值形式、而可以直接把它输入模型来训练。据我所知,scikit-learn 的 DecisionTreeClassifier 还不支持这一点(自豪脸)(然而人家比你快 1~2 倍)

本文来自企鹅号 - 天善智能媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

一文看尽深度学习RNN:为啥就它适合语音识别、NLP与机器翻译?

本文是机器学习大牛Jason Brownlee系统介绍RNN的文章,他在文中详细对比了LSTM、GRU与NTM三大主流架构在深度学习上的工作原理及各自特性。读过...

39290
来自专栏人工智能头条

递归神经网络不可思议的有效性(上)

34640
来自专栏ATYUN订阅号

神奇!无需数据即可进行机器翻译操作

在日常工作中,深度学习正在被积极地使用。与其他机器学习算法不同的是,深度网络最有用的特性是,随着它获得更多的数据,它们的性能就会有所提高。因此,如果能够获得更多...

34760
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 11 - 74行Python实现手写体数字识别

到目前为止,我们已经研究了梯度下降算法、人工神经网络以及反向传播算法,他们各自肩负重任: 梯度下降算法:机器自学习的算法框架; 人工神经网络:“万能函数”的形...

91360
来自专栏人工智能

在线手写识别的多卷积神经网络方法

本文所描述的研究主要关注在线手写体识别系统中的单词识别技术。该在线手写体识别系统使用多组件神经网络(multiple component neural netw...

1.6K70
来自专栏机器之心

教程 | 5种快速易用的Python Matplotlib数据可视化方法

选自towardsdatascience 作者:George Seif 机器之心编译 参与:刘晓坤、思源 数据可视化是数据科学家工作的重要部分。在项目的早期...

38760
来自专栏机器之心

教程 | 深度学习:自动编码器基础和类型

393160
来自专栏数据派THU

为何RNN能够在众多机器学习方法中脱颖而出?(附指南)

来源:机器人圈 作者:BaymaxZ 本文长度为5000字,建议阅读20分钟 本文介绍RNN的重要性和先进性,并详细阐释几种用于深度学习中的RNN模型。 近年来...

28850
来自专栏UAI人工智能

连载 | 深度学习入门第六讲

14560
来自专栏专知

【干货】卷积神经网络中的四种基本组件

【导读】当今,卷积神经网络在图像识别等领域取得巨大的成功,那么是什么使其高效而快速呢?本文整理John Olafenwa的一篇博文,主要介绍了卷积神经网络采用的...

84160

扫码关注云+社区

领取腾讯云代金券