监督学习–分类(决策树算法)
文章目录
机器学习中分类和预测算法的评估:
- 准确率
- 速度
- 强壮型
- 可规模性
- 可解释性
基本概念
-
决策树(Decision Tree)/判定树:类似于流程图的树结构,其中,
-
每个内部节点表示在一个属性上的测试;
-
每个分支代表一个属性输出;
-
而每个树叶结点代表类或类分布;
-
树的最顶层是根结点。
-
熵(entropy)概念:信息的度量就等于不确定性的多少;
-
自信息: 对于一个事件发生的概率 携带的信息量 (概率取对数加负号)
(-p*log p) -
信息熵(香农熵): 用来一个事物的多种状态的信息量,可以理解为它是一个期望,(发生概率 * 自信息 求合计)
-(p1log p1+p2log p2+…) -
比特(bit)来衡量信息的多少;变量的不确定性越大,熵就越大。
决策树归纳算法(ID3)
选择属性判断结点
标准:
-
信息获取量(Information Gain):
Gain(A)=Info(D)-Infor_A(D)
即: 通过A节点分类获取了多少信息
(选比特值最大的作为第一个结点)
重复选择之后的结点。 -
满足下列条件之一的即可停止分类:
a.给定结点的样本属于同一类;
b.没有剩余属性可以用来进一步划分样本,此情况下,使用多数表决;
决策树优点
- 直观,便于理解,小规模数据集有效;
决策树缺点
- 处理连续变量不好;
- 类别较多时,错误增加较快;
- 可规模性一般。
衍生的其他算法(C4.5 & CART)
共同点:贪心算法,自上而下;
区别:属性选择度量方法不同
- C4.5:gain ratio
- CART: gini index
- ID3:Information Gain
问: 如何处理连续型变量的属性?
树剪枝叶(避免overfitting)
- 先剪枝;
- 后剪枝。
决策树应用
-
基础语言:Python
-
Python机器学习的库:scikit-learn(开源)
-
覆盖问题领域:分类、回归、聚类、降维、模型选择、预处理。
-文章笔记通过学习B站视频资源所做