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大数据巨量分析与机器学习整合开发实战的 ...
随机推荐
- GIT的Push和Pull,强制Pull覆盖本地命令
连接命令: git remote add origin + 你Git库的地址 其中,origin是你对这个Git库地址的标识. 一. 把文件从本地上传到库中 第一步:使用命令 git add命令把文件 ...
- POJ(有向图求LCA)
Closest Common Ancestors Time Limit: 2000MS Memory Limit: 10000K Total Submissions: 18013 Accept ...
- HTML DOM nodeType 属性
实例 获得 body 元素的节点类型: document.body.nodeType; 结果: 1 定义和用法 nodeType 属性返回以数字值返回指定节点的节点类型. 如果节点是元素节点,则 no ...
- AI-Info-Micron-Insight:高速数据:第四次工业革命的助推引擎
ylbtech-AI-Info-Micron-Insight:高速数据:第四次工业革命的助推引擎 1.返回顶部 1. 高速数据:第四次工业革命的助推引擎 第四次工业革命已然来临,因为数字技术几乎连接了 ...
- Java中的数组和方法
3.1 数组的定义和使用 数组(Array)是用来存储一组相同数据类型数据的集合.数组中的每个数据称为一个元素(element),数组可以分为一维数组,二维数组和多维数组.我们 主要讲解一维数组和二维 ...
- pig ERROR 2997: Encountered IOException. File or directory null does not exist.
grunt> ls 2014-03-30 19:58:31,344 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2997: Enc ...
- 【转】eclipse修改workspace
[转]eclipse修改workspace 以下方法选其中一种 1.进入 Window > Preferences > General > Startup and Shutdown ...
- day1 java基础回顾-IO流
IO流的分类 注:这几个类都是抽象类. IO解决问题: 解决设备与设备之间 的数据传输问题. 比如: 硬盘--->内存 内存----->硬盘 字节流: 输入字节流:---------| I ...
- HDU 3572 Task Schedule (最大流)
C - Task Schedule Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- Elasticsearch中提升大文件检索性能的一些总结
笔者在实际生产环境中经常遇到一些大文件的检索,例如一些书籍内容,PDF文件等.今天这篇博客主要来探讨下如何提升ES在检索大文件的一些性能,经验有限,算是一个小小的总结吧! 1.大文件是多大? E ...

