Spark-Mllib(一)数据类型】的更多相关文章

不多说,直接上干货! Spark Mllib基本数据类型,根据不同的作用和应用场景,分为四种不同的类型 1.Local  vector : 本地向量集,主要向spark提供一组可进行操作的数据集合 2.Labeled point: 向量标签,让用户能够分类不同的数据集合 3.Local matrix:本地矩阵,将数据集合以矩阵形式存储在本地计算机中. 4.Distributed  matrix : 分布式矩阵,将数据集合以矩阵形式存储在分布式计算机中 具体,见 Spark Mllib机器学习实战…
    MLlib支持几种数据类型:本地向量(local vectors),和存储在一个简单机器中的矩阵(matrices),以及由一个或多个RDDs组成的分布式矩阵. 1,本地向量(Local Vector)     一个本地向量是由从0开始的整型下标和double型值组成,存储在一个单机节点上.MLlib支持两种类型的本地向量:密集的和稀疏的.密集向量用一个double数组来存储值.而一个稀疏向量由两个并列的数组,下表和值组成.例如,一个向量(1.0, 0.0, 3.0)可以由密集的数组[1…
package ML.DataType; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.mllib.linalg.*; import org.apache.spark.mllib.linalg.distributed.*; import or…
  http://product.dangdang.com/23829918.html Spark作为新兴的.应用范围最为广泛的大数据处理开源框架引起了广泛的关注,它吸引了大量程序设计和开发人员进行相关内容的学习与开发,其中 MLlib是 Spark框架使用的核心.本书是一本细致介绍 Spark MLlib程序设计的图书,入门简单,示例丰富. 本书分为 12章,从 Spark基础安装和配置开始,依次介绍 MLlib程序设计基础.MLlib的数据对象构建.MLlib中 RDD使用介绍,各种分类.聚…
MLlib 支持存放在单机上的本地向量和矩阵,也支持通过多个RDD实现的分布式矩阵.因此MLlib的数据类型主要分为两大类:一个是本地单机向量:另一个是分布式矩阵.下面分别介绍一下这两大类都有哪些类型: 1.Local vector(本地向量) (1)Vector 最基本的类型是Vector,该类型索引是从0开始的整型类型,值类型是double类型.并提供了两个实现:DenseVector and SparseVector.但是一把情况下都是推荐使用工厂方法来创建Vector.如下所示: imp…
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的object尽可能相似,簇与簇之间的object尽可能相异.聚类算法是机器学习(或者说是数据挖掘更合适)中重要的一部分,除了最为简单的K-Means聚类算法外,比较常见的还有层次法(CURE.CHAMELEON等).网格…
MLlib的设计原理:把数据以RDD的形式表示,然后在分布式数据集上调用各种算法.MLlib就是RDD上一系列可供调用的函数的集合. 操作步骤: 1.用字符串RDD来表示信息. 2.运行MLlib中的一个特征提取算法来吧文本数据转换为数值的特征.给操作会返回一个向量RDD. 3.对向量RDD调用分类算法,返回一个模型对象,可以使用该对象对新的数据点进行分类. 4.使用MLlib的评估函数在测试数据集上评估模型. 机器学习基础: 机器学习算法尝试根据 训练数据 使得表示算法行为的数学目标最大化,并…
参考学习链接:http://www.itnose.net/detail/6269425.html 机器学习相关算法,建议初学者去看看斯坦福的机器学习课程视频:http://open.163.com/special/opencourse/machinelearning.html(已经被翻译了) 所有文中示例见:http://spark.apache.org/docs/latest/mllib-statistics.html 统计工具(1)摘要统计我们通过统计中可用的colStats函数提供RDD…
使用Spark MLlib进行情感分析             使用Spark MLlib进行情感分析 一.实验说明 在当今这个互联网时代,人们对于各种事情的舆论观点都散布在各种社交网络平台或新闻提要中.我们可以在移动设备或是个人PC上轻松地发布自己的观点.对于这种网上海量分布地数据,我们可以利用文本分析来挖掘各种观点.如下图中,CognoviLabs利用Twitter上人们发布对于美国大选两个候选人的推特,进行情感分析的结果.从这张图我们也可以直观地感受到民意所向(此图发表日期为10月10日,…
spark的机器学习库,包含常见的学习算法和工具如分类.回归.聚类.协同过滤.降维等使用算法时都需要指定相应的数据集,下面为大家介绍常用的spark ml 数据类型.1.本地向量(Local Vector)存储在单台机器上,索引采用0开始的整型表示,值采用Double类型的值表示.Spark MLlib中支持两种类型的矩阵,分别是密度向量(Dense Vector)和稀疏向量(Spasre Vector),密度向量会存储所有的值包括零值,而稀疏向量存储的是索引位置及值,不存储零值,在数据量比较大…
本章导读 机器学习(machine learning, ML)是一门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多领域的交叉学科.ML专注于研究计算机模拟或实现人类的学习行为,以获取新知识.新技能,并重组已学习的知识结构使之不断改善自身. MLlib是Spark提供的可扩展的机器学习库.MLlib已经集成了大量机器学习的算法,由于MLlib涉及的算法众多,笔者只对部分算法进行了分析,其余算法只是简单列出公式,读者如果想要对公式进行推理,需要自己寻找有关概率论.数理统计.数理分析等方面的专…
Spark MLlib里面提供了几种基本的数据类型,虽然大部分在调包的时候用不到,但是在自己写算法的时候,还是很需要了解的.MLlib支持单机版本的local vectors向量和martix矩阵,也支持集群版本的matrix矩阵.他们背后使用的都是ScalaNLP中的Breeze. 更多内容参考我的大数据学习之路 Local Vector local vector是一种索引是0开始的整数.内容为double类型,存储在单机上的向量.MLlib支持两种矩阵,dense密集型和sparse稀疏型.…
1. Param Spark ML使用一个自定义的Map(ParmaMap类型),其实该类内部使用了mutable.Map容器来存储数据. 如下所示其定义: Class ParamMap private[ml] (private val map.mutable.Map[Param[Any],Any]) 从上述定义可以看出,ParamMap是用一个Map来存储,key为Param[Any],value为Any.这里的value就是用户设置的参数值,而key是对String的封装,对用户来所其实就是…
1.MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的object尽可能相似,簇与簇之间的object尽可能相异.聚类算法是机器学习(或者说是数据挖掘更合适)中重要的一部分,除了最为简单的K-Means聚类算法外,比较常见的还有层次法(CURE.CHAMELEON等).网格算法(STING.WaveCluster等),等等. 较权威的聚类问题定义:所谓聚类问题,就是给…
3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.2 http://blog.csdn.net/sunbow0 第三章Convolution Neural Network (卷积神经网络) 2基础及源代码解析 2.1 Convolution Neural Network卷积神经网络基础知识 1)基础知识: 自行google,百度.基础方面的非常多,随便看看就能够,仅仅是非常多没有把细节说得清楚和明确: 能把细…
Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2 http://blog.csdn.net/sunbow0 第二章Deep Belief Network (深度信念网络) 基础及源代码解析 2.1 Deep Belief Network深度信念网络基础知识 )综合基础知识參照: http://tieba.baidu.com/p/2895759455   http://wenku.baidu.com/link?url=E8…
算法说明 线性回归是利用称为线性回归方程的函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析方法,只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归,在实际情况中大多数都是多元回归. 线性回归(Linear Regression)问题属于监督学习(Supervised Learning)范畴,又称分类(Classification)或归纳学习(Inductive Learning).这类分析中训练数据集中给出的数据类型是确定的.机器学习的目标是,对于给定的一个训练数据集…
注:本章不涉及spark和scala原理的探讨,详情见其他随笔 一.分布式估算圆周率 计算原理:假设正方形的面积S等于x²,而正方形的内切圆的面积C等于Pi×(x/2)²,因此圆面积与正方形面积之比C/S就为Pi/4,于是就有Pi=4×C/S.可以利用计算机随机产生大量位于正方形内部的点,通过点的数量去近似表示面积.假设位于正方形中点的数量为Ps,落在圆内的点的数量为Pc,则随机点的数量趋近于无穷时,4×Pc/Ps将逼近于Pi. idea实现代码: package com.hadoop impo…
val path = "/usr/data/lfw-a/*" val rdd = sc.wholeTextFiles(path) val first = rdd.first println(first) val files = rdd.map { case (fileName, content) => fileName.replace("file:", "") } println(files.first)println(files.coun…
Spark MLlib提供了一些基本的统计学的算法,下面主要说明一下: 1.Summary statistics 对于RDD[Vector]类型,Spark MLlib提供了colStats的统计方法,该方法返回一个MultivariateStatisticalSummary的实例.他封装了列的最大值,最小值,均值.方差.总数.如下所示: val conf = new SparkConf().setAppName("Simple Application").setMaster(&quo…
http://spark.apache.org/docs/latest/mllib-decision-tree.html 以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或random forest也是常以其为基础的 决策树算法本身参考之前的blog,其实就是贪婪算法,每次切分使得数据变得最为有序   那么如何来定义有序或无序? 无序,node impurity 对于分类问题,我们可以用熵entropy或Gini来表示信息的无序程度 对于回归问题,我们用方差Variance…
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”. l“机器学习是对能通过经验自动改进的计算机算法的研究”. l“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准.” 一种经常引用的英文定义是:A computer program is said t…
刚刚spark mllib,在maven repository网站http://mvnrepository.com/中查询mllib后得到相关库的最新dependence为: <dependency>        <groupId>org.apache.spark</groupId>        <artifactId>spark-mllib-local_2.11</artifactId>        <version>2.1.…
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就拟牛顿法L-BFGS的由来做一个简要的回顾,然后就其在spark mllib中的实现进行源码走读. 拟牛顿法 数学原理 代码实现 L-BFGS算法中使用到的正则化方法是SquaredL2Updater. 算法实现上使用到了由scalanlp的成员项目breeze库中的BreezeLBFGS函数,mllib中自定义了BreezeLBFGS所需要的DiffFunctions. runLBFGS函数的源码实现如下 def runLBFGS( data:…
话不多说.直接上代码咯.欢迎交流. /** * Created by whuscalaman on 1/7/16. */import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.mllib.classification.SVMWithSGDimport org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.regression.L…
Mllib SVM实例 1.数据 数据格式为:标签, 特征1 特征2 特征3…… 0 128:51 129:159 130:253 131:159 132:50 155:48 156:238 157:252 158:252 159:252 160:237 182:54 183:227 184:253 185:252 186:239 187:233 188:252 189:57 190:6 208:10 209:60 210:224 211:252 212:253 213:252 214:202…
package iie.udps.example.spark.mllib; import java.util.regex.Pattern; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.Function;…
3.Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1 http://blog.csdn.net/sunbow0 Spark MLlib Deep Learning工具箱,是依据现有深度学习教程<UFLDL教程>中的算法.在SparkMLlib中的实现.详细Spark MLlib Deep Learning(深度学习)文件夹结构: 第一章Neural Net(NN) 1.源代码 2.源代码解析 3.实例 第…
Apache Spark MLlib是Apache Spark体系中重要的一块拼图:提供了机器学习的模块.只是,眼下对此网上介绍的文章不是非常多.拿KMeans来说,网上有些文章提供了一些演示样例程序,而这些程序基本和Apache Spark 官网上的程序片断类似:在得到训练模型后,差点儿都没有展示怎样使用该模型.程序运行流程.结果展示以及举例測试数据等部分. 笔者依据Apache Spark官网上的程序片断.写了一个完整的调用MLlib KMeans库的測试程序,并成功在Spark 1.0 +…
Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep Belief Network (深度信念网络) 实例 3.1 測试数据 依照上例数据,或者新建图片识别数据. 3.2 DBN实例 (读取固定样本:来源于经典优化算法測试函数Sphere Model)***********// //2 读取样本数据 Logger.getRootLogger.setLe…