机器学习笔记-监督学习之决策树

0机器学习中分类和预测算法的评估:

  • 准确率
  • 速度
  • 健壮性
  • 可规模性
  • 可解释性

1决策树(判定树)的概念

  决策树是一个类似于流程图的树结构(可以是二叉树或多叉树):其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。机器学习中分类方法中的一个重要算法。

2.熵(entropy)概念

  信息和抽象如何度量?1948年,香农提出“信息熵”的概念。

一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量的信息==>信息量的度量就等于

3.决策树的归纳算法(ID3)

3.1选择属性判断结点

3.2信息获取量:Gain(A)=Info(D)-Info_A(D)

基本步骤:

  • 树以代表训练样本的单个结点开始(步骤1)。
  • 如果样本都在同一个类,则该结点成为树叶,并用该类标号(步骤2 和3)。
  • 否则,算法使用称为信息增益的基于熵的度量作为启发信息,选择能够最好地将样本分类的属性(步骤6)。该属性成为该结点的“测试”或“判定”属性(步骤7)。在算法的该版本中,
  • 所有的属性都是分类的,即离散值。连续属性必须离散化。
  • 对测试属性的每个已知的值,创建一个分枝,并据此划分样本(步骤8-10)。
  • 算法使用同样的过程,递归地形成每个划分上的样本判定树。一旦一个属性出现在一个结点上,就不必该结点的任何后代上考虑它(步骤13)。
  • 递归划分步骤仅当下列条件之一成立停止:
  • (a) 给定结点的所有样本属于同一类(步骤2 和3)。
  • (b) 没有剩余属性可以用来进一步划分样本(步骤4)。在此情况下,使用多数表决(步骤5)。
  • 这涉及将给定的结点转换成树叶,并用样本中的多数所在的类标记它。替换地,可以存放结
  • 点样本的类分布。
  • (c) 分枝
  • test_attribute = a i 没有样本(步骤11)。在这种情况下,以 samples 中的多数类
  • 创建一个树叶(步骤12)
时间: 2024-10-08 02:05:10

机器学习笔记-监督学习之决策树的相关文章

机器学习笔记—-监督学习与无监督学习的异同

** 机器学习笔记--监督学习与无监督学习的异同 ** 有监督学习 在监督学习中,输入数据和输出数据存在某种关系,即在已经给定的数据集下,对应的正确输出结果,已经大约知道是什么样子了. 有监督学习常常被归类为 回归 和 分类 问题. 在回归问题中,我们希望得到连续值的输出预测值,即,使用某些连续函数来映射输入值. 在分类问题中,则希望获得的是离散的预测值.将输入值映射到离散的种类上. 无监督学习 无监督学习,对于问题最终的结果,只有很少或没有什么感知.从已有数据中抽取相应的结构,且不必知道数据变

(转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation

[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/article/details/50922854

机器学习搭便车指南–决策树(1)

机器学习搭便车指南–决策树(1) 1. 决策树的基本概念 通常使用的分类回归树(class and regress tree)是一个二叉树.它的形式一般为:  决策树有两种节点: 中间节点和叶子节点. 每个中间节点有4个参数: a) 决策函数. 是一个特征的取值. 当特征小于等于这个值得时候决策路径走左边, 当特征大于这个值得时候决策树走右边. b) 不纯度值(impurity value). 是当前节点的不纯度值. 关于不纯度值得意义后面会讲到. c) 覆盖样本个数(n_samples). 是

机器学习笔记之基础概念

本文基本按照<统计学习方法>中第一章的顺序来写,目录如下: 1. 监督学习与非监督学习 2. 统计学习三要素 3. 过拟合与正则化(L1.L2) 4. 交叉验证 5. 泛化能力 6. 生成模型与判别模型 7. 机器学习主要问题 8. 提问 正文: 1. 监督学习与非监督学习 从标注数据中学习知识的规律以及训练模型的方法叫做监督学习,但由于标注数据获取成本较高,训练数据的数量往往不够,所以就有了从非标注数据,也就是非监督数据中学习的方法. 由于非监督数据更容易获取,所以非监督学习方法更适合于互联

机器学习笔记——支持向量机(3)

八.核(kernel) 如果样本点为线性不可分,那么,需要将数据映射到高维空间,使在原始空间内其线性可分变为线性可分.如下图所示: 上文提到,分类器可以写成: 那么,如果使用一种映射的方法,将低维数据映射到高维(),使得线性不可分变为线性可分.称为特征映射函数,这样,分类器就变为: (1)实例 低维映射到高维能否将线性不可分变为线性可分呢?下面就举个例子来看.假设数据可以用决策的边界表示(如下图左所示),那么,利用, ,做映射,可以得到决策边界:.经过上述的映射变换,原来在圆内的点都在超平面的一

机器学习笔记1 - Hello World In Machine Learning

前言 Alpha Go在16年以4:1的战绩打败了李世石,17年又以3:0的战绩战胜了中国围棋天才柯洁,这真是科技界振奋人心的进步.伴随着媒体的大量宣传,此事变成了妇孺皆知的大事件.大家又开始激烈的讨论机器人什么时候会取代人类统治世界的问题. 其实人工智能在上世纪5.60年代就开始进入了理论研究阶段,人们在不断探索人工智能技术的同时,也担忧起机器人会不会替代人类.然而现实比理想残酷的多,由于当时各种条件的限制(理论基础.技术基础.数据基础.硬件性能等),人工智能相关的项目进度缓慢,也缺少实际成效

机器学习笔记

下载链接:斯坦福机器学习笔记 这一系列笔记整理于2013年11月至2014年7月.所有内容均是个人理解,做笔记的原因是为了以后回顾相应方法时能快速记起,理解错误在所难免,不合适的地方敬请指正. 笔记按照斯坦福机器学习公开课的notes整理,其中online学习部分没有整理,reinforcement learning还没接触,有时间补上. 这份笔记主要记录自己学习过程中理解上的难点,所以对于初学者来说可能不容易理解,更详细和全面的说明可以参照JerryLead等的机器学习博文. 水哥@howde

机器学习笔记(1)

今天按照<机器学习实战>学习 k-邻近算法,输入KNN.classify0([0,0],group,labels,3)的时候总是报如下的错误: Traceback (most recent call last): File "<pyshell#75>", line 1, in <module> KNN.classify0([0,0],group,labels,3) File "KNN.py", line 16, in classi

机器学习笔记——K-means

K-means是一种聚类算法,其要求用户设定聚类个数k作为输入参数,因此,在运行此算法前,需要估计需要的簇的个数. 假设有n个点,需要聚到k个簇中.K-means算法首先从包含k个中心点的初始集合开始,即随机初始化簇的中心.随后,算法进行多次迭代处理并调整中心位置,知道达到最大迭代次数或中性收敛于固定点. k-means聚类实例.选择三个随机点用作聚类中心(左上),map阶段(右上)将每个点赋给离其最近的簇.在reduce阶段(左下),取相互关联的点的均值,作为新的簇的中心位置,得到本轮迭代的最