Spark Mllib里的向量标签概念、构成(图文详解)
不多说,直接上干货!
Labeled point: 向量标签
向量标签用于对Spark Mllib中机器学习算法的不同值做标记。
例如分类问题中,可以将不同的数据集分成若干份,以整数0、1、2,....进行标记,即我们程序开发者可以根据自己业务需要对数据进行标记。
向量标签和向量是一起的,简单来说,可以理解为一个向量对应的一个特殊值,这个值的具体内容可以由用户指定,比如你开发了一个算法A,这个算法对每个向量处理之后会得出一个特殊的标记值p,你就可以把p作为向量标签。同样的,更为直观的话,你可以把向量标签作为行索引,从而用多个本地向量构成一个矩阵(当然,MLlib中已经实现了多种矩阵)。
LabeledPoint是建立向量标签的静态类。
features用于显示打印标记点所代表的数据内容。
label用于显示标记数。
testLabeledPoint.scala

package zhouls.bigdata.chapter4
import org.apache.spark.mllib.linalg.{Vector, Vectors}
import org.apache.spark.mllib.regression.LabeledPoint
object testLabeledPoint {
def main(args: Array[String]) {
val vd: Vector = Vectors.dense(2, 0, 6) //建立密集向量
val pos = LabeledPoint(1, vd) //对密集向量建立标记点
println(pos.features) //打印标记点内容数据
println(pos.label) //打印既定标记
val vs: Vector = Vectors.sparse(4, Array(0,1,2,3), Array(9,5,2,7)) //建立稀疏向量
val neg = LabeledPoint(2, vs) //对密集向量建立标记点
println(neg.features) //打印标记点内容数据
println(neg.label) //打印既定标记
}
}


注意:
val pos = LabeledPoint(1, vd)
val neg = LabeledPoint(2, vs)
除了这两种建立向量标签。还可以从数据库中获取固定格式的数据集方法。 数据格式如下:
label index1:value1 index2:value2
label是此数据集中每一行给定的标签,而后的index是标签所标注的这一行的不同的索引值,而紧跟在各自index后的value是不同索引所形成的数据值。 testLabeledPoint2.scala

package zhouls.bigdata.chapter4
import org.apache.spark.mllib.linalg.{Vector, Vectors}
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark._
import org.apache.spark.mllib.util.MLUtils
object testLabeledPoint2 {
def main(args: Array[String]) {
val conf = new SparkConf().setMaster("local").setAppName("testLabeledPoint2")//建立本地环境变量
val sc = new SparkContext(conf) //建立Spark处理
val mu = MLUtils.loadLibSVMFile(sc, "data/input/chapter4/loadLibSVMFile.txt") //读取文件
mu.foreach(println) //打印内容
}
}

以下是数据

输出结果是

(1.0,(3,[0,1,2],[2.0,3.0,4.0]))
(2.0,(3,[0,1,2],[1.0,2.0,3.0]))
(1.0,(3,[0,1,2],[1.0,3.0,3.0]))
(1.0,(3,[0,1,2],[3.0,1.0,3.0]))
具体,见
Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mllib数理统计
Spark Mllib里的向量标签概念、构成(图文详解)的更多相关文章
- Spark Mllib里的本地矩阵概念、构成(图文详解)
不多说,直接上干货! Local matrix:本地矩阵 数组Array(1,2,3,4,5,6)被重组成一个新的2行3列的矩阵. testMatrix.scala package zhouls.bi ...
- Windows里下载并安装phpstudy(图文详解)
不多说,直接上干货! 帮助站长快速搭建网站服务器平台! phpstudy软件简介 此是基于phpStudy 2016.01.01. 该程序包集成最新的Apache+Nginx+LightTPD+PHP ...
- 再谈Hive元数据如hive_metadata与Linux里MySQL的深入区别(图文详解)
不多说,直接上干货! [bigdata@s201 conf]$ vim hive-site.xml [bigdata@s201 conf]$ pwd /soft/hive/conf [bigdata@ ...
- 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装Theano(图文详解)
不多说,直接上干货! Theano的安装教程目前网上一搜很多,前几天折腾了好久,终于安装成功了Anaconda3(Python3)的Theano,嗯~发博客总结并分享下经验教训吧. 渣电脑,显卡用的是 ...
- Spark Mllib里的本地向量集(密集型数据集和稀疏型数据集概念、构成)(图文详解)
不多说,直接上干货! Local vector : 本地向量集 由两类构成:稀疏型数据集(spares)和密集型数据集(dense) (1).密集型数据集 例如一个向量数据(9,5,2,7),可以设 ...
- Spark Mllib里的分布式矩阵(行矩阵、带有行索引的行矩阵、坐标矩阵和块矩阵概念、构成)(图文详解)
不多说,直接上干货! Distributed matrix : 分布式矩阵 一般能采用分布式矩阵,说明这数据存储下来,量还是有一定的.在Spark Mllib里,提供了四种分布式矩阵存储形式,均由支 ...
- Spark Mllib里决策树回归分析使用.rootMeanSquaredError方法计算出以RMSE来评估模型的准确率(图文详解)
不多说,直接上干货! Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率和决策树多元分类使用.precision方法以precision来评估模型 ...
- Spark Mllib里决策树回归分析如何对numClasses无控制和将部分参数设置为variance(图文详解)
不多说,直接上干货! 在决策树二元或决策树多元分类参数设置中: 使用DecisionTree.trainClassifier 见 Spark Mllib里如何对决策树二元分类和决策树多元分类的分类 ...
- Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率和决策树多元分类使用.precision方法以precision来评估模型的准确率(图文详解)
不多说,直接上干货! Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率 具体,见 Hadoop+Spark大数据巨量分析与机器学习整合开发实战的 ...
随机推荐
- 语义化npm版本号
参考资料: 语义化版本2.0.0 the semantic versioner for npm 在package的devDependencies和dependencies2个字段中有指定依赖包版本,这 ...
- Codeforces Gym 101190 NEERC 16 G. Game on Graph(博弈+拓扑)
Gennady and Georgiy are playing interesting game on a directed graph. The graph has n vertices and m ...
- 三:JMS消息服务规范
一:JMS是什么?--->JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API--->用于在两个应用程 ...
- poj3709 K-Anonymous Sequence[贪心+斜率优化dp]
地址 n个数,可进行把一个数减小的操作,代价为减小的值.现求使数列任意一个数都存在至少k-1个数和他相同,问操作的最小代价. 可以先考虑最小的数,由于只能减,所以必须得至少k-1个数减为最小数,贪心策 ...
- arm裸机程序启动流程
arm裸机程序启动流程 1373 Linux系统的引导: 一个SOC拿过来,它是有内部BROM和SRAM的,这个BROM中会固化芯片厂商的最初引导代码,我们叫它RBL(ROM boot loader) ...
- 1.改变项目 动态库、静态库属性。 2.使用运行库 /MD、/MT、/LD说明
/MD./MT./LD(使用运行库) 有关 C 运行库以及使用 /clr(公共语言运行时编译) 进行编译时要使用哪些库的更多信息,请参见 CRT 库功能. 传递给链接器的给定调用的所有模块都必须使用相 ...
- git base cli
- php使用curl带cookie访问一直失败求助
最近需要批量向织梦后台导入一些数据,但是遇到了一个头疼的问题. 环境:xampp + 别人的dede后台. 首先,利用curl发送post请求登录login.php,成功,并且保存了cookie文件. ...
- 在MongoDB中修改数据类型
引言 本文主要讲解Mongodb的类型转换.包括:string转double, string转int, string转Date. 0. 出现类型不一致的原因 ES导入数据到Mongo后,会出现类型统一 ...
- 第3章 编写ROS程序-2
1.发布者程序 在本节中,我们将看到如何发送随机生成的速度指令到一个turtlesim海龟,使它漫无目的地巡游.这个程序的源文件称为pubvel,这个程序展示了从代码中发布消息涉及的所有要素. 其代码 ...

