机器学习5——决策树

决策树

  • 亦称为:判别树
  • 有时指学习方法。
  • 有时指学得的树。
  • 决策树是一种常见的机器学习方法。

1. 基本概念

  • 问题导入
举例:
- 以二分类任务为例。
- 我们希望从给定训练数据集学得一个模型,用以对新示例进行分类。
- 这个把样本分类的任务,可看作对"当前样本属于正类吗?"这个问题的"决策""判定"过程。

子决策:
- 我们要对"这是好瓜吗?"这样的问题进行决策时。
- 通常会进行一系列的判断或"子决策"- 我们先看"它是什么颜色?"。如果是"青绿色"- 则我们再看"它的根蒂是什么形态?"。如果是"蜷缩"- 我们再判断"它敲起来是什么声音?"- 最后,我们得出"最终决策":这是个好瓜.

在这里插入图片描述

1.1 决策树的性质

- 一棵决策树包含"一个"根结点、若干个内部结点和若干个叶结点;
- "叶"结点对应于决策结果。
- 其他每个结点则对应于一个"属性"测试;
- 根结点包含"样本全集"- 从根结点到每个叶结点的路径对应了一个"判定测试序列"

1.2 决策树学习的目的

- 决策树学习的"目的"是为了产生一棵"泛化能力"强的决策树。
- 即处理未见示例能力强的决策树。
- 其基本流程遵循简单且直观的"分而治之"(divide-and-conquer) 策略。
- 我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的"纯度" (purity) 高。

1.3 决策树学习基本算法

输入: 训练集 D = {
   (x1, y1), (x2, y2), (x3, y3), ..., (xm, ym)}
      属性集 A = {
   a1, a2, ..., ad}
过程: 函数 TreeGenerate(D, A)
1. 生成节点 node;
2. if D 中样本全属于同一类别 C then
3. 		将 node 标记为 C 类叶节点:
4. 		return;
5. end if
6. if A = null || D 中样本在 A 上取值相同 then
7. 		将 node 标记为叶节点,其类别标记为 D 中样本数最多的类;
8. 		return;    
9. end if
10.A 中选择最优划分属性 ai (0 < i <= d);
11.for ai 的每一个值 a_vi do
10.		为 node 生成一个分支;Dj (0 < j <= m) 表示 D 中在 ai 上取值为 a_vi 的样本子集;
11.		if Dj 为空 then
12.			将分支节点标记为叶节点,其类别标记为 D 中样本最多的类。
13.			return;
14.		else
15.TreeGenerate(Dj, A\{
   ai}) 为分支节点
16.		end if
17.end for
输出:以 node 为根节点的一颗决策树
  • 算法解释
"名词解释:"
1. 机器学习2——绪论里面有专业名称的解释。
2. 训练集 D --> 数据集 data set
3. 属性集 A --> 属性 attribute
4. 一项数据:(x1, y1), 就有属性集 A 的全部
5. 最优划分属性 ai : 属性集 A 的子集, i 为下标,代表第几个属性
6. a_vi : attribute value, 所对应属性的属性值。
7. TreeGenerate(Dj, A\{
   ai}) : Dj 是已经训练好的一个节点,A\{
   ai} : ai 这个属性已经被用了,把它除去。

"算法原理解释:"
- 决策树的生成是一个递归过程。
- "决策树学习的关键是" :A 中选择最优划分属性 ai (0 < i <= d);
- 有三种情况会导致递归返回:
1. 当前节点包含的样本全属于同一类别,无须划分。
2. 当前属性集为空,或者所有样本在所有属性集上取值为空,无法划分。("处理:标记该节点为叶节点"3. 当前节点包含的样本集合为空,不能划分(
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NoBug.己千之

鼓励,鼓励,更加努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值