决策树与回归树区别到底在哪 前面讲了几节决策树从底层的构造原理,更多的是面向分类的决策树,从树的用途上讲还有一种用途,那就是回归树,结构也是树,但是出来的结果是回归值。可能很多人不用回归树做任务的时候很少去管回归树,以至于有时候也不知道它们的区别,但是还是有必要掌握,因为牛逼的树算法,比如GBDT,xgboost的单棵树可不是分类树,是回归树。所谓分类树就是面向分类的,每个决策树最末端的叶子结点出来的是一个分类标签,不是0...
决策树与随机森林与GBDT 本节简单介绍下随机森林。前面花了两节详细介绍过决策树的核心内容,这对于理解随机森林算法很重要。随机森林与SVM应该来说被视为传统机器学习效果最好的两大算法,是值得每个机器学习从业者深入了解的,从最底层的原理到上层的应用,内部的每个核心细节等等。关于SVM的每个细节,先前的文章有介绍,文末也有参考链接。回归正题,说完决策树,说说随机森林,我们知道决策树是单独的一棵树,是根据所有训练样本的所有特征...
决策树:属性的选择(续) 接先前一节总结决策树的,还有一些问题。上节的参考:决策树:从特征的重要程度说起上节主要介绍了决策树的构造方法,以及非常重要一部分是对于每个节点的特征属性是怎么选择的,这是决策树的核心。比较原始的是基于信息熵与信息增益的方法做的,这也对应着最开始的ID3方法。为了改进ID3,出现了基于信息增益率的特征选择以及基于基尼系数的特征选择方法。对应起来就是:(1)信息增益 -> ID3(2)...
arxiv上传latex文章的方法与坑 如果想在arxiv上挂出文章,通常可以挂pdf与latex两种格式的,如果pdf是由latex生成的话,一般只能上传latex源文件,不支持pdf的上传。arxiv上上传latex主要包括以下几个部分,尤其上传文件线上编译一步具有一些坑需要注意。第一步:注册账号,填写学校后缀邮箱,免去可能的上传权限审核;第二至六步:填写一些基本信息与设置,参考网上的图:新建提交:填写信息第七...
《统计学习方法》python代码资料 分享一则资料,《统计学习方法》的python实现代码。《统计学习方法》是李航的一本书,是比较基础经典的一本书,书中更多的是对基础传统机器学习的理论介绍,没有任何代码,这算是对代码的补充。另外一本书《机器学习实战》,是包含部分理论与代码的书,也很经典,我看了下代码,网友整理的这个代码好多就是从这本书上来的,因为这两本书都是基础类的书,重叠部分还是很多的。但是整体来说《统计学习方法》理论东西更多,...
《统计学习方法》python代码资料 分享一则资料,《统计学习方法》的python实现代码。《统计学习方法》是李航的一本书,是比较基础经典的一本书,书中更多的是对基础传统机器学习的理论介绍,没有任何代码,这算是对代码的补充。另外一本书《机器学习实战》,是包含部分理论与代码的书,也很经典,我看了下代码,网友整理的这个代码好多就是从这本书上来的,因为这两本书都是基础类的书,重叠部分还是很多的。但是整体来说《统计学习方法》理论东西更多,...
决策树:从特征的重要程度说起 开始陆续介绍决策树与随机森林,理解原理与会用来做分类算法是其一,更重要的是要理解决策树构造的精髓并加以推广应用才是算融会贯通。先来看看所谓的树结构,其实很简单,就是从一个节点往下依次不断分裂节点的一种结构,比如下面这个图描述的是根据一个人的信息(包括职业、年龄、收入、学历)去判断他是否有贷款的意向的树结构图:可以看到,所谓的树结构其实就是一大堆有顺序的if-else条件判断语句的组合,如果职...
spark机器学习之常见的分类算法应用 今天简单记录下mllib中常见的分类算法,在分类的子文件夹下主要有三类分类算法:logistic回归模型、贝叶斯模型、SVM模型。logistic回归模型首先需要认清的是逻辑斯蒂回归并非回归模型,和上节介绍的线性回归不一样,它是属于分类模型,虽然和线性回归功能上不一样,但是形式上和线性回归还是很相似的,不同点在于通过添加logistic映射函数使得原始的线性回归方程式变成了可用于分类的模型。应...
spark机器学习之简单的线性回归 今天正式进入机器学习相关算法类的记录学习。后续会将spark的mllib工具包里面设计到的回归于分类算法介绍一遍,看一下mllib包可以发现,传统的机器学习算法基本上都包括在里面,比如线性回归,logistic回归,贝叶斯分类,svm,决策树,随机森林等。在往上走更牛逼的分类算法像xgboost就不在原始spark自带的mllib里面了,但是肯定是有一些集成的外部工具包可以在spark里面一起使用...
spark机器学习中的基本统计量 上节记录了spark机器学习的数据相关结构,主要是向量与矩阵,本节记录一些基于这些数据结构的统计量。在做机器学习中,我们经常需要用到一些向量或者矩阵的统计量,比如求一个向量的均值、方差,求一堆向量的均值向量、协方差等等。spark机器学习工具包主要是mllib,而里面的统计量主要调用的是Statistics类库。基本统计量与距离计算基本统计量存在于Statistics库下面的colSt...
spark机器学习中的基本数据类型 今天开始记录spark中机器学习的相关应用。spark某种意义上讲就是为机器学习准备的,其一,spark是一种内存计算框架,速度快,其二,spark更擅长处理迭代式的数据计算,而迭代运算这是机器学习模型经常遇到的。延申一点,目前大数据还有一种是流式运算,也就是处理的是实时数据,虽然这种spark也可以,但是毕竟是一种伪造的流式。所以更多时候spark是处理离线的、迭代式的运算。spark里面目...
零基础入门大数据之spark中rdd部分算子详解 先前文章介绍过一些spark相关知识,本文继续补充一些细节。我们知道,spark中一个重要的数据结构是rdd,这是一种并行集合的数据格式,大多数操作都是围绕着rdd来的,rdd里面拥有众多的方法可以调用从而实现各种各样的功能,那么通常情况下我们读入的数据源并非rdd格式的,如何转换为rdd呢?一个基本的方法是初始化,或者格式化操作函数parallelize。parallelize比如一...
零基础入门大数据之spark中的几种key-value操作 今天记录一下spark里面的一些key-value对的相关算子。key-value对可以简单理解为是一种认为构造的数据结构方式,比如一个字符串"hello",单看"hello"的话,它是一个字符串类型,现在假设我想把它在一个文本中出现的次数n作为一个值和"hello"一起操作,那么可以构造一种键值对(key-value)的结构来表示,也就是(hello,n)这样的结构,那么可能会问为什么要这么构...
零基础入门大数据挖掘之spark中的几种map 今天再来说一下spark里面的几种map方法。前面的文章介绍过单纯的map,但是spark还有几种map值得对比一下,主要是下面几种:map:普通的mapflatMap:在普通map的基础上多了一个操作,扁平化操作;mapPartitions:相对于分区Partition而言的,即对每个分区分别进行一次性的map。mapValues(function) :适合key-value对的map...
零基础入门大数据挖掘之spark的rdd 本节简单介绍一下spark下的基本数据结构RDD,方便理解后续的更多操作。那么第一个问题,什么是rdd。我们知道,大数据一般存储在分布式集群里面,那么你在对其进行处理的时候总得把它读出来吧,读出来后总得把它存成某种格式的文件吧,就好比编程语言里面的,这个数据是数组,那么你可以以数组的格式操作它,直接索引下标访问之类的,如果这个数据链表,那么你可以用另外的形式访问它。那么很自然的,你用语言读取数据...
零基础入门大数据挖掘之spark的rdd 本节简单介绍一下spark下的基本数据结构RDD,方便理解后续的更多操作。那么第一个问题,什么是rdd。我们知道,大数据一般存储在分布式集群里面,那么你在对其进行处理的时候总得把它读出来吧,读出来后总得把它存成某种格式的文件吧,就好比编程语言里面的,这个数据是数组,那么你可以以数组的格式操作它,直接索引下标访问之类的,如果这个数据链表,那么你可以用另外的形式访问它。那么很自然的,你用语言读取数据...
未来的大数据生活会是这样吗 今天看极客时间上一篇大数据文章看到一个有意思的评论,展示一则已经出现或者可能会出现的实际场景,有点意思,如下:一家快餐披萨店,外卖电话响了,店长拿起电话。店长:您好,这里是××披萨店。请问有什么需要我为您服务?顾客:你好,我想要订一份披萨。店长:请问您是陈先生吗?顾客:你怎么知道我姓陈?店长:陈先生,因为我们的CRM(客户关系管理)系统对接了三大通讯服务商,看到您的来电号码,我就知道...
零基础入门大数据挖掘之reduce方法 上节介绍过大数据里面(以spark为例)最为基础典型的操作:map方法,map方法直白的理解就是一个分布式接受处理函数的方法,形式如map(fun),map方法本身不做处理,没有map方法,里面的函数fun就是一个单机的处理函数,有了map,相当于就把这个函数复制到多台机器上,每台机器同时运行fun函数,这就是分布式处理。今天简单介绍与map相对应的reduce函数。大数据里面,我们经常听到ma...