决策树

机器学习PartII:监督学习和无监督学习

笑着哭i 提交于 2020-01-04 09:16:11
上次我们讨论了基于结果的两类学习。这篇文章我们将关注一些其他方面的学习:监督还是无监督。当训练用例被标记了正确结果的时候,监督学习方式为怎样改进学习给出一个反馈。这类似于教官教导某个Agent,它的行为是否正确。对无监督学习来说这个目标很难实现,因为缺乏事先确定的分类。 · 监督学习(事先准备好分类) 监督学习是最常见的分类问题,因为目标往往是让计算机去学习我们已经创建好的分类系统。数字识别再一次成为分类学习的常见样本。更一般地说,对于那些有用的分类系统,和容易判断的分类系统,分类学习都适用。在某些情况下,如果Agent能自行计算分类的话,它(Agent)可能不需要事先给出分类。这将在后面成为无监督学习上下文分类的一个例子。 监督学习是训练神经网络和决策树的最常见技术。这两种技术(神经网络和决策树)高度依赖于事先确定的分类系统给出的信息。对于神经网络来说,分类系统用于判断网络的错误,然后调整网络适应它;对于决策树,分类系统用来判断哪些属性提供了最多的信息,如此一来可以用它解决分类系统的问题。我们将会看到这两者(神经网络和决策树)更多的细节,但在目前,它们用预先确定分类方法的形式来“监督”就足够了。 使用隐马尔科夫模型和贝斯网络的语音识别系统也依赖于某些监督的要素,那通常是为了调节系统的参数以便于最小化给定输入中的错误。 请注意这里提到的一个问题:在分类问题中

机器学习PartII:监督学习和无监督学习

心不动则不痛 提交于 2020-01-04 09:15:38
原文作者:aihorizon.com 原文链接: Machine Learning, Part I: Supervised and Unsupervised Learning 译者: commondata 上次我们讨论了基于结果的两类学习。这篇文章我们将关注一些其他方面的学习:监督还是无监督。当训练用例被标记了正确结果的时候,监督学习方式为怎样改进学习给出一个反馈。这类似于教官教导某个Agent,它的行为是否正确。对无监督学习来说这个目标很难实现,因为缺乏事先确定的分类。 ·监督学习 监督学习是最常见的分类问题,因为目标往往是让计算机去学习我们已经创建好的分类系统。数字识别再一次成为分类学习的常见样本。更一般地说,对于那些有用的分类系统,和容易判断的分类系统,分类学习都适用。在某些情况下,如果Agent能自行计算分类的话,它(Agent)可能不需要事先给出分类。这将在后面成为无监督学习上下文分类的一个例子。 监督学习是训练神经网络和决策树的最常见技术。这两种技术(神经网络和决策树)高度依赖于事先确定的分类系统给出的信息。对于神经网络来说,分类系统用于判断网络的错误,然后调整网络适应它;对于决策树,分类系统用来判断哪些属性提供了最多的信息,如此一来可以用它解决分类系统的问题。我们将会看到这两者(神经网络和决策树)更多的细节,但在目前,它们用预先确定分类方法的形式来“监督”就足够了。

决策树模型分析

拥有回忆 提交于 2020-01-04 01:03:24
决策树模型_性能分析 决策树模型分析 # 1. 构造决策树 # 我们在图 2-23 所示的二维分类数据集上构造决策树。这个数据集由 2 个半月形组成,每个 # 类别都包含 50 个数据点。我们将这个数据集称为 two_moons # 为了构造决策树,算法搜遍所有可能的测试,找出对目标变量来说信息量最大的那一个。 # 图 2-24 展示了选出的第一个测试。将数据集在 x[1]=0.0596 处垂直划分可以得到最多信 # 息,它在最大程度上将类别 0 中的点与类别 1 中的点进行区分。顶结点(也叫根结点)表 # 示整个数据集,包含属于类别 0 的 50 个点和属于类别 1 的 50 个点。通过测试 x[1] <= # 0.0596 的真假来对数据集进行划分,在图中表示为一条黑线。 # 如果测试结果为真,那么将 # 这个点分配给左结点,左结点里包含属于类别 0 的 2 个点和属于类别 1 的 32 个点。否则 # 将这个点分配给右结点,右结点里包含属于类别 0 的 48 个点和属于类别 1 的 18 个点。这 # 两个结点对应于图 2-24 中的顶部区域和底部区域。尽管第一次划分已经对两个类别做了很 # 好的区分,但底部区域仍包含属于类别 0 的点,顶部区域也仍包含属于类别 1 的点。我们 # 可以在两个区域中重复寻找最佳测试的过程,从而构建出更准确的模型。图 2-25 展示了信 #

机器学习(5)之集成学习(RF\\AdaBoost\\GBDT)

╄→гoц情女王★ 提交于 2020-01-03 12:35:23
目录 1 集成学习的思想 1.1 Bagging简介 1.2 Boosting简介 1.3 Stacking简介 2 随机森林(Random Forest) 2.1 算法流程 2.3 TRTE 2.4 Isolation Forest(IForest) 2.5 RF随机森林的优缺点 3 AdaBoost 3.1 算法原理 3.2 算法的构建过程 3.3 总结 4 GBDT 4.1 算法原理 4.2 GBDT回归算法和分类算法 4.3 总结 1 集成学习的思想 集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器。弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(errorrate < 0.5)。 集成算法的成功在于保证弱分类器的多样性(Diversity)。而且集成不稳定的算法也能够得到一个比较明显的性能提升。 常见的集成学习思想有:Bagging、Boosting、Stacking 1.1 Bagging简介 Bagging方法又叫做自举汇聚法(Bootstrap Aggregating), 思想 :在原始数据集上通过 有放回的抽样 的方式,重新选择出S个新数据集来分别训练S个分类器的集成技术。也就是说这些模型的训练数据中允许存在重复数据。 Bagging方法训练出来的模型在预测新样本分类的时候,会使用 多数投票或者求均值

决策树原理

本秂侑毒 提交于 2020-01-03 07:17:37
1.特征选择 特征选择是选取对训练数据有分类能力的特征,常用的有信息增益( information gain)、基尼不纯度(Gini impurity ) 信息增益( information gain) 信息增益用在 ID3、C4.5 决策树生成算法中 wikipedia中信息增益的公式 J是分类数,几分类就是几 a是特征a的取值 Pr(i|a)是在a的属性下,第i个类别的概率 IG(T,a)是特征a对数据集T的信息增益 H(T)是数据集T的经验熵 H(T|a)是特征a给定条件下T的经验熵 一个特征的 信息增益越大 ,特征的分类能力越强 基尼不纯度(Gini impurity ) 基尼不纯度用在 CART 生成算法中 wikipedia中基尼不纯度的公式 J是类别,p i 是样本属于第i类的概率 特征A的基尼不纯度 p A 是特征A出现的概率,p(i|A)是在特征A的条件下,是类别i的概率 一个特征的 基尼不纯度越小 ,特征分类能力越强 2. 决策树生成算法 常用决策树生成算法包括ID3、C4.5、CART 在scikit-learn中,使用的CART算法实现决策树 ID3算法 算法思想 1)计算所有特征的信息增益 2)选择信息增益最大的特征作为根节点 3)根据特征的取值建立子节点 4)重复步骤1-3,构建决策树 缺点 该算法是基于信息增益进行节点特征的选择

大数据-决策树

試著忘記壹切 提交于 2020-01-03 07:17:15
决策树/判定树:是一个类似于流程图的树结构,其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。 熵(entropy)概念:信息量的度量就等于不确定性的多少。一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常不确定的事情,需要了解大量的信息。 变量的不确定性越大,熵也就越大。 决策树(DTs)是一种用于分类和回归的非参数监督学习方法。目标是创建一个模型,通过从数据特性中推导出简单的决策规则来预测目标变量的值。 常见的算法包括 CART (Classification And Regression Tree)、ID3、C4.5、随机森林 (Random Forest) 等。 决策树是附加概率结果的一个树状的决策图,是直观的运用统计概率分析的图法。机器学习中决策树是一个预测模型,它表示对象属性和对象值之间的一种映射,树中的每一个节点表示对象属性的判断条件,其分支表示符合节点条件的对象。树的叶子节点表示对象所属的预测结果。 信息增益 信息熵表示的是不确定度。均匀分布时,不确定度最大,此时熵就最大。当选择某个特征对数据集进行分类时,分类后的数据集信息熵会比分类前的小,其差值表示为信息增益。信息增益可以衡量某个特征对分类结果的影响大小。 信息增益表示数据集在某特征的作用后,其信息熵减少的值。

2.随机森林Random Forest

前提是你 提交于 2020-01-01 02:39:43
今天学了菜菜第二章,随机森林。顺便回顾了昨天学的决策树。 具体学到了什么 总结到下面用代码和注释的形式给出,相当于给自己理清楚思路。 划分训练集和测试集的代码: from sklearn.model_selection import train_test_split Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3) # 划分为训练集和测试集的代码 建随机森林的代码(三行): rfc=RandomForestClassifier(random_state=0) rfc=rfc.fit(Xtrain,Ytrain) score_r=rfc.score(Xtest,Ytest) # 建随机森林来分析的代码 建决策树的代码(三行): clf=DecisionTreeClassifier(random_state=0) clf=clf.fit(Xtrain,Ytrain) score_c=clf.score(Xtest,Ytest) # 建决策树来分析的代码 交叉验证法(也叫k折交叉验证法)的用法: rfc_l = [] for i in range(10): rfc = RandomForestClassifier(n_estimators=25) rfc_s =

林轩田机器学习 | 机器学习技法课程笔记10 --- Random Forest

空扰寡人 提交于 2019-12-31 21:28:27
上节课我们主要介绍了Decision Tree模型。Decision Tree算法的核心是通过递归的方式,将数据集不断进行切割,得到子分支,最终形成树的结构。C&RT算法是决策树比较简单和常用的一种算法,其切割的标准是根据纯度来进行,每次切割都是为了让 分支内部纯度最大。最终,决策树不同的分支得到不同的 (即树的叶子,C&RT 算法中, 是常数)。本节课将介绍随机森林(Random Forest)算法,它是我们之前介绍的Bagging和上节课介绍的Decision Tree的结合。 目录 1. Random Forest Algorithm 2. Out-Of-Bag Estimate 3. Feature Selection 4. Random Forest in Action 5. 总结 1. Random Forest Algorithm 首先我们来复习一下之前介绍过的两个机器学习模型:Bagging和Decision Tree。 Bagging是通过bootstrap的方式,从原始的数据集D中得到新的 ;然后再使用一些 base algorithm基于每个 训练得到相应的 ;最后将所有的 通过投票uniform的形式组合成一个G,G即为我们最终得到的模型/假设。Decision Tree是通过递归形式,利用分支条件,将原始数据集D切割成一个个子树结构,长成一棵完整的树形结构

为了大作业的机器学习篇一

牧云@^-^@ 提交于 2019-12-28 16:30:49
明确机器学习的需求,确定降维 降维可以通过两种不同的方式完成: 1、仅保留原始数据集中最相关的原有变量,保留数据属性列原有数据具体意义(此技术称为特征选择) 特征选择四种方法 2、通过查找较小的一组新变量,每个变量都是输入变量的组合,包含与输入变量基本相同的信息。新变量失去具体可解释意义(此技术称为降维) 数据预处理 数据预处理方法参考 选择训练模型 由于我的大作业要求有属性对结果的影响分析。这就导致这种机器学习的目的是分析属性的相关性和重要性,预测结果准确度只是验证属性分析的手段。 我需要用特征选择,本人在一篇博客找到一个可以输出属性贡献值(重要值)的函数:特征重要性 feature_importances_ 。( 基于决策树的特征重要值 ) 随机森林降维实战 链接在这呢! 4种特征选择 这里借用别人的csdn, 四种特征选择 交上我自己大作业随机森林的代码 import numpy as np import matplotlib . pyplot as plt import pandas as pd from sklearn . preprocessing import StandardScaler from sklearn . ensemble import RandomForestRegressor from sklearn . model_selection import

决策树学习笔记整理

萝らか妹 提交于 2019-12-27 11:23:27
本文目的 最近一段时间在 Coursera 上学习 Data Analysis ,里面有个assignment涉及到了决策树,所以参考了一些决策树方面的资料,现在将学习过程的笔记整理记录于此,作为备忘。 算法原理 决策树(Decision Tree)是一种简单但是广泛使用的分类器。通过训练数据构建决策树,可以高效的对未知的数据进行分类。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。 如何预测 先看看下面的数据表格: ID 拥有房产(是/否) 婚姻情况(单身,已婚,离婚) 年收入(单位:千元) 无法偿还债务(是/否) 1 是 单身 125 否 2 否 已婚 100 否 3 否 单身 70 否 4 是 已婚 120 否 5 否 离婚 95 是 6 否 已婚 60 否 7 是 离婚 220 否 8 否 单身 85 是 9 否 已婚 75 否 10 否 单身 90 是 上表根据历史数据,记录已有的用户是否可以偿还债务,以及相关的信息。通过该数据,构建的决策树如下: 比如新来一个用户:无房产,单身,年收入55K,那么根据上面的决策树,可以预测他无法偿还债务( 蓝色 虚线路径)。从上面的决策树,还可以知道是否拥有房产可以很大的决定用户是否可以偿还债务,对借贷业务具有指导意义。