机器学习之——决策树(1)算法思想

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

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

——————————————————————————————
1.什么是决策树/判定树(decision tree)?
每个内部节点代表在一个属性上的测试
每个分支代表一个属性输出
每个树叶结点代表类或者类分布
树的最顶层是根节点
图1-决策树

2.机器学习中分类算法的一个重要算法
3.构造决策树的基本算法
3.1熵概念:
信息和抽象,如何度量?
一条信息的信息量的大小和他的不确定性有直接关系,要搞清一件非常非常不确定的事情,或者一无所知的事情,需要大量的信息==》信息量的度量就等于不确定性的多少。
比特(bit)来衡量信息的多少,

在这里插入图片描述
变量的不确定性越大,熵也就越大。

3.1决策树归纳算法(ID3)
选择属性判断节点:
信息获取量:Gain(A)=Info_(D)-Info_A(D)
通过A来作为节点分类获取了多少信息
如:结果:共14个,有5个不买电脑,9个买电脑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1其他算法:
C4.5
CART
区别:属性选择的度量方法不同
3.2如何处理连续变量的属性?
将其离散化
4.树剪枝叶(避免overfitting)
4.1先剪枝
4.2后剪枝

5.决策树优点:直观,便于理解,小规模数据有效
缺点:处理连续变量不好,类别较多时,错误增加的比较快,可规模性一般

—————————————————————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
决策树DTC数据分析及鸢尾数据集分析 一. 分类及决策树介绍 1.分类 分类其实是从特定的数据中挖掘模式,作出判断的过程。比如Gmail邮箱里有垃圾邮件分 类器,一开始的时候可能什么都不过滤,在日常使用过程中,我人工对于每一封邮件点 选"垃圾"或"不是垃圾",过一段时间,Gmail就体现出一定的智能,能够自动过滤掉一些 垃圾邮件了。 这是因为在点选的过程中,其实是给每一条邮件打了一个"标签",这个标签只有两个值 ,要么是"垃圾",要么"不是垃圾",Gmail就会不断研究哪些特点的邮件是垃圾,哪些特 点的不是垃圾,形成一些判别的模式,这样当一封信的邮件到来,就可以自动把邮件分 到"垃圾"和"不是垃圾"这两个我们人工设定的分类的其中一个。 分类学习主要过程如下: (1)训练数据集存在一个类标记号,判断它是正向数据集(起积极作用,不垃圾邮件 ),还是负向数据集(起抑制作用,垃圾邮件); (2)然后需要对数据集进行学习训练,并构建一个训练的模型; (3)通过该模型对预测数据集进预测,并计算其结果的性能。 2.决策树(decision tree) 决策树是用于分类和预测的主要技术之一,决策树学习是以实例为基础的归纳学习算法 ,它着眼于从一组无次序、无规则的实例中推理出以决策树表示的分类规则。构造决策 树的目的是找出属性和类别间的系,用它来预测将来未知类别的记录的类别。它采用 自顶向下的递归方式,在决策树的内部节点进行属性的比较,并根据不同属性值判断从 该节点向下的分支,在决策树的叶节点得到结论。 决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classifica tion And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM)。 决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2) 效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树 的深度。 示例1: 下面举两个例子,参考下面文章,强烈推荐大家阅读,尤其是决策树原理。 算法杂货铺——分类算法决策树(Decision tree) - leoo2sk 这个也是我上课讲述的例子,引用上面文章的。通俗来说,决策树分类的思想类似于找 对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话: 女儿:多大年纪了? 母亲:26。 女儿:长的帅不帅? 母亲:挺帅的。 女儿:收入高不? 母亲:不算很高,中等情况。 女儿:是公务员不? 母亲:是,在税务局上班呢。 女儿:那好,我去见见。 这个女孩的决策过程就是典型的分类树决策。相当于通过年龄、长相、收入和是否公务 员对将男人分为两个类别:见和不见。假设这个女孩对男人的要求是:30岁以下、长相 中等以上并且是高收入者或中等以上收入的公务员,那么这个可以用下图表示女孩的决 策逻辑。 示例2: 另一个课堂上的例子,参考CSDN的大神lsldd的文章,推荐大家阅读学习信息熵。 用Python开始机器学习(2:决策树分类算法) 假设要构建这么一个自动选好苹果的决策树,简单起见,我只让他学习下面这4个样本 : [python] view plain copy 1. 样本 红 大 好苹果 2. 0 1 1 1 3. 1 1 0 1 4. 2 0 1 0 5. 3 0 0 0 样本中有2个属性,A0表示是否红苹果。A1表示是否大苹果。 本例仅2个属性。那么很自然一共就只可能有2棵决策树,如下图所示: 示例3: 第三个例子,推荐这篇文章:决策树学习笔记整理 - bourneli 决策树构建的基本步骤如下: 1. 开始,所有记录看作一个节点; 2. 遍历每个变量的每一种分割方式,找到最好的分割点; 3. 分割成两个节点N1和N2; 4. 对N1和N2分别继续执行2-3步,直到每个节点足够"纯"为止。 二. 鸢尾花卉Iris数据集 在Sklearn机器学习包中,集成了各种各样的数据集,上节课讲述Kmeans使用的是一个N BA篮球运动员数据集,需要定义X多维矩阵或读取文件导入,而这节课使用的是鸢尾花卉 Iris数据集,它是很常用的一个数据集。 数据集来源:Iris plants data set - KEEL dataset 该数据集一共包含4个特征变量,1个类别变量。共有150个样本
基于weka的数据分类分析实验报告 1 实验目的 (1)了解决策树C4.5和朴素贝叶斯等算法的基本原理。 (2)熟练使用weka实现上述两种数据挖掘算法,并对训练出的模型进行测试和评价 。 2 实验基本内容 本实验的基本内容是通过基于weka实现两种常见的数据挖掘算法决策树C4.5和朴素 贝叶斯),分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和 评价,找出各个模型最优的参数值,并对模型进行全面评价比较,得到一个最好的分类 模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起 构造出一个最优分类器,并利用该分类器对测试数据进行预测。 3 算法基本原理 (1)决策树C4.5 C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习: 给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互 斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射系, 并且这个映射能用于对新的类别未知的实体进行分类。C4.5由J.Ross Quinlan在ID3的基础上提出的。ID3算法用来构造决策树决策树是一种类似流程图的树 结构,其中每个内部节点(非树叶节点)表示在一个属性上的测试,每个分枝代表一个 测试输出,而每个树叶节点存放一个类标号。一旦建立好了决策树,对于一个未给定类 标号的元组,跟踪一条有根节点到叶节点的路径,该叶节点就存放着该元组的预测。决 策树的优势在于不需要任何领域知识或参数设置,适合于探测性的知识发现。 从ID3算法中衍生出了C4.5和CART两种算法,这两种算法在数据挖掘中都非常重要。 属性选择度量又称分裂规则,因为它们决定给定节点上的元组如何分裂。属性选择度 量提供了每个属性描述给定训练元组的秩评定,具有最好度量得分的属性被选作给定元 组的分裂属性。目前比较流行的属性选择度量有--信息增益、增益率和Gini指标。 (2)朴素贝叶斯 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶 斯分类。 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的 思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项 出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗 来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十 有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或 亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶 斯的思想基础。 朴素贝叶斯分类的正式定义如下: 1)设x={a_1,a_2,...,a_m}为一个待分类项,而每个a为x的一个特征属性。 2)有类别集合C={y_1,y_2,...,y_n}。 3)计算P(y_1"x),P(y_2"x),...,P(y_n"x)。 4)如果P(y_k"x)=max{P(y_1"x),P(y_2"x),...,P(y_n"x)},则x in y_k。 那么现在的键就是如何计算第3步中的各个条件概率。我们可以这么做: 1)找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2)统计得到在各类别下各个特征属性的条件概率估计。即P(a_1"y_1),P(a_2"y_1), ...,P(a_m"y_1);P(a_1"y_2),P(a_2"y_2),...,P(a_m"y_2);...;P(a_1"y_n),P(a_2"y_n ),...,P(a_m"y_n)。 3)如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导: P(y_i"x)=frac{P(x"y_i)P(y_i)}{P(x)} 因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性 是条件独立的,所以有:P(x"y_i)P(y_i)=P(a_1"y_i)P(a_2"y_i)...P(a_m"y_i)P(y_i) =P(y_i)\prod^m_{j=1}P(a_j"y_i) 根据上述分析,朴素贝叶斯分类的流程分为三个阶段: 第一阶段——准备工作阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要 工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一 部分待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数据,输出 是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段, 其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分 及训练样本质量决定。 第二阶段——分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计算每个 类别在训练样本中的出现频率及
⼤数据算法⼗⼤经典算法 ⼤数据算法⼗⼤经典算法 ⼀、C4.5 C4.5,是机器学习算法中的⼀个分类决策树算法, 它是决策树(决策树也就是做决策的节点间的组织⽅式像⼀棵树,其实是⼀个倒树)核⼼算法 ID3的改进算法,所以基本上了解了⼀半决策树构造⽅法就能构造它。 决策树构造⽅法其实就是每次选择⼀个好的特征以及分裂点作为当前节点的分类条件。 C4.5相⽐于ID3改进的地⽅有: 1、⽤信息增益率来选择属性。 ID3选择属性⽤的是⼦树的信息增益,这⾥可以⽤很多⽅法来定义信息,ID3使⽤的是熵(entropy,熵是⼀种不纯度度量准则), 也就是熵的变化值. ⽽C4.5⽤的是信息增益率。对,区别就在于⼀个是信息增益,⼀个是信息增益率。 ⼀般来说率就是⽤来取平衡⽤的,就像⽅差起的作⽤差不多, ⽐如有两个跑步的⼈,⼀个起点是10m/s的⼈、其10s后为20m/s; 另⼀个⼈起速是1m/s、其1s后为2m/s。 如果紧紧算差值那么两个差距就很⼤了,如果使⽤速度增加率(加速度,即都是为1m/s^2)来衡量,2个⼈就是⼀样的加速度。 因此,C4.5克服了ID3⽤信息增益选择属性时偏向选择取值多的属性的不⾜。 2、在树构造过程中进⾏剪枝,在构造决策树的时候,那些挂着⼏个元素的节点,不考虑最好,不然容易导致overfitting。 3、对⾮离散数据也能处理。 4、能够对不完整数据进⾏处理。 ⼆、The k-means algorithm 即K-Means算法 k-means algorithm算法是⼀个聚类算法,把n的对象根据他们的属性分为k个分割(k < n)。 它与处理混合正态分布的最⼤期望算法(本⼗⼤算法第五条)很相似,因为他们都试图找到数据中⾃然聚类的中⼼。 它假设对象属性来⾃于空间向量,并且⽬标是使各个群组内部的均⽅误差总和最⼩。 三、 Support vector machines ⽀持向量机,英⽂为Support Vector Machine,简称SV机(论⽂中⼀般简称SVM)。 它是⼀种监督式学习的⽅法,它⼴泛的应⽤于统计分类以及回归分析中。 ⽀持向量机将向量映射到⼀个更⾼维的空间⾥,在这个空间⾥建⽴有⼀个最⼤间隔超平⾯。 在分开数据的超平⾯的两边建有两个互相平⾏的超平⾯,分隔超平⾯使两个平⾏超平⾯的距离最⼤化。 假定平⾏超平⾯间的距离或差距越⼤,分类器的总误差越⼩。 ⼀个极好的指南是C.J.C Burges的《模式识别⽀持向量机指南》。 van der Walt 和 Barnard 将⽀持向量机和其他分类器进⾏了⽐较。 四、The Apriori algorithm Apriori算法是⼀种最有影响的挖掘布尔联规则频繁项集的算法。 其核⼼是基于两阶段频集思想的递推算法。 该联规则在分类上属于单维、单层、布尔联规则。 在这⾥,所有⽀持度⼤于最⼩⽀持度的项集称为频繁项集,简称频集。 五、最⼤期望(EM)算法 在统计计算中,最⼤期望 (EM,Expectation–Maximization)算法是在概率 (probabilistic)模型中寻找参数最⼤似然估计的算法,其中概率模型依赖于⽆法观测的隐藏变量(Latent Variabl)。 最⼤期望经常⽤在机器学习和计算机视觉的数据集聚(Data Clustering)领域。 六、 PageRank PageRank是Google算法的重要内容。2001年9⽉被授予美国专利,专利⼈是Google创始⼈之⼀拉⾥ 佩奇(Larry Page)。 因此,PageRank⾥的page不是指⽹页,⽽是指佩奇,即这个等级⽅法是以佩奇来命名的。 PageRank根据⽹站的外部链接和内部链接的数量和质量,衡量⽹站的价值。 PageRank背后的概念是,每个到页⾯的链接都是对该页⾯的⼀次投票,被链接的越多,就意味着被其他⽹站投票越多。 这个就是所谓的"链接流⾏度"——衡量多少⼈愿意将他们的⽹站和你的⽹站挂钩。 PageRank这个概念引⾃学术中⼀篇论⽂的被引述的频度——即被别⼈引述的次数越多,⼀般判断这篇论⽂的权威性就越⾼。 七、AdaBoost Adaboost是⼀种迭代算法,其核⼼思想是针对同⼀个训练集训练不同的分类器(弱分类器), 然后把这些弱分类器集合起来,构成⼀个更强的最终分类器 (强分类器)。 其算法本⾝是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确, 以及上次的总体分类的准确率,来确定每个样本的权值。 将修改过权值的新数据集送给下层分类器进⾏训练,最后将每次训练得到的分类器融合起来,作为最后的决策分类器。 ⼋、 kNN: k-nearest neighbor classification K最近邻(k-Nearest Neighbor,KNN)分类算法,是⼀个理论上⽐
决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值