目录
0 机器学习中分类和预测算法的评估:
- 准确率
- 速度
- 强壮性
- 可否规模性
- 可否解释
1 什么是决策树/判定树decision tree?
决策树是一种类似流程图的树结构:其中,每一个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。
2 决策树“买电脑”实际例子
假设有一个数据集
根据这个数据集我们建立了决策树
这样我们如果拿到一个客户资料,那么就可以通过这个就决策树去判断是否买电脑
3.1熵(entropy)概念:
信息和抽象,如何度量?
一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息(信息量的度量)就是等于不确定性的多少。
举个例子:32只足球队踢比赛,假如你对其一无所知,那么你用二分法猜6次就行了,这个6就是熵的大小,当你对这些球队有一定了解,那才四五次就行,当你知道其中1只国家队,31只小学生队伍,你猜1次就行了,你知道的信息越多,熵越小,你知道的信息越少,熵越大。
熵的计算公式如下:P(x)代表发生概率
变量的不确定性越大,熵也就越大。
4 决策树归纳算法(ID3)
选择属性判断结点
信息获取量(Information Gain) : Gain(A) = Info(D) - Info_A(D),通过A来作为节点分类获取了多少信息
那么怎么选择节点?以下面这个为例子
以“买不买”电脑计算熵:
当附加年龄,“买不买”电脑的熵:(解释:5个younth,其中有2个yes,3个no;4个middle,其中4个yes,0个no)
通过上面两个式子计算以年龄为节点的熵:
类似的,Gain(income)=0.029 Gain(student) = 0.151 Gain(credit_rating) = 0.048 ,所以选择age最为第一个根节点
这样就以age为根节点,分成了3类,如上图所示,每一类要分到没有其他额外选项即可,比如middle_aged都是yes,那其他两种还是按照上述方法重复计算熵,然后选择节点,直到满足判断条件
4.1递归算法:
递归划分步骤什么时候会停止:
- 给定节点的所有样本属于同一类
- 没有剩余属性可以进一步划分,这样情况下,使用多数表决,用样本中的多数所处类标记
- 没有样本
5 其他算法
C4.5: Quinlan
CART: Classification and Regression Trees
共同点:都是贪心算法,自上而下
区别:属性选择度量方法不同:C4.5(gain ratio) CATR(gini index) ID3(Information Gain)
6 其他概念
-
树剪枝叶,避免树太大了太细:(1)先剪枝(2)后剪枝
-
决策树优点:直观便于理解,小规模数据集有效
-
决策树缺点:处理连续变量不好(阈值设定会影响)、类别较多时错误增加较快、可规模化性能一般