老饼讲解:一步一步上手学习
好了,这节我们开始学习一下决策树,事实上,决策树在网上已经有非常多教程了,但实际却是乱糟糟的,要大概地知道决策树很容易,但要清晰的知道决策树,却非常困难,为什么呢,因为决策树的内容有点多,网上有些文章经常乱串着讲,混淆概念,所以,学习决策树最重要的一件事是,先梳理清楚它到底有些什么东西,这里我们不得不花一张独立的文章,在学习决策树前,先了解一下它。
首先,决策树是有好几种的,如果你找了一个不太靠谱的教程,它会把几种决策树的概念混在一起,就会学得非常不明觉里,当你拿了黄蓉的九阴真经时,就算你是欧阳峰也只能走火入魔,毫无办法。
那么,我们先来说说决策树有哪些,如下,决策树主要有两支线:

(1) CART: classification and regression tree,分类与回归树
也就是说,CART自身包括了分类树与回归树
(2) ID3系列: ID3算法,C4.5算法,C5.0算法
好了,一般大家说的决策树,就这5个家伙了。
那么,这么多决策树是不是全都要学呢,这个得分轻重,我们先来看看这几个东西都是些什么:
先来看看ID3系列:
【1】ID3是起源最早的一个模型,但它比较粗糙,自然也有一些不合理的地方。
【2】由于ID3有不合理性,所以就给它来了超多补丁,这就变成C4.5了,但它补得过度,很臃肿。
【3】为了提高性能,推出了C5.0,但它是闭源的,可以认为C5.0就是闭源的C4.5,它里面是什么没公开。
好了,再来看看CART决策树:
【1】由于C4.5很臃肿,所以去其糟粕留其精华、并加以改进后,就是我们的CART决策树了。
【2】CART提供了两种模型,当用于解决分类问题,称为分类树,当用于解决回归问题,则称为回归树。
ID3决策树起源最早,ID3决策树在实际中很少使用,大部分软件包也不支持,而最常用的呢,基本都是CART中的分类树,所以一般不特指,现在所说的决策树就是CART决策树中的分类树了。
综合上面的了解,那我们大概可以知道:

也就是只需要重点学习CART中的分类树,而其它的作为了解就可以了。
如果一定要问理由,那就是:ID3太粗糙,C4.5太复杂,C5.0不公开,这些模型一般软件都不提供了,如果要用这些,必须自己编写代码去实现。但这没太多必要,一方面是没必要自己为难自己,另一方面是为什么软件不去实现它呢?所以这些算法了解一下就可以了。
CART的回归树也相对少用,因为一般回归模型会有其它的替代模型,所以,人们真正日常在使用的,其实就只有CART中的分类树了,用它来解决分类问题,它是机器学习中最最最常用的模型之一。
那既然其它模型不怎么使用,是不是只学CART中的分类树就可以了呢?这倒不是,其它的也要了解,无他,有的人入坑早了,他懂,你也必须要懂,不要问为什么,问就是也许哪天打算找份机器学习工作的时候,被他面试到,你不懂他就会说你连基础都不会,那就芭比Q了。
最后,这里给出我建议大家的学习路线,如下:

也就是先深入地学习CART分类树,它是我们最常用的模型,然后在它的基础上很容易就可以了解CART回归树是什么了。之后,再在CART的基础上,当成看历史故事一样,去看一下ID3、C4.5是什么。
在许多教材中,会按时间线,从ID3开始讲,但这样其实比较难上手,首先是所学非所用,其实,由于ID3粗糙、C4.5复杂,恐怕过不了这两关就劝退了,所以从CART开始,淡淡定定地吃下它,在CART的基础上,再回头看ID3、C4.5反而简单和轻松许多。
总的来说,CART分类树是最常用的决策树,一般所说的决策树就是它了,它是我们学习和使用的重点对象。其次还有ID3、C4.5和CART回归树,这几个简单了解一下就可以了。学习时可以按CART分类树->回归树->ID3->C4.5这样的顺序,相对会更友好一些,如果直接上手ID3和C4.5,比较容易劝退。
评论