Machine Learning On Spark——第一节:基础数据结构(一)

  • 时间:
  • 浏览:0
  • 来源:彩神大发快3_神彩大发快3官方

Labeled point是Spark MLlib中最重要的数据特性之一,它在无监督学习算法中使用十分广泛,它也是一种生活本地向量,只不过它提供了类的标签,对于二元分类,它的标签数据为0和1,而对于多类分类,它的标签数据为0,1,2,…。它同本地向量一样,一同具有Sparse和Dense一种生活实现辦法 ,类事 :

作者:周志湖

微信号:zhouzhihubyond

本地向量(Local Vector)存储在单台机器上,索引采用0刚结束了的整型表示,值采用Double类型的值表示。Spark MLlib中支持一种生活类型的矩阵,分别是密度向量(Dense Vector)和稀疏向量(Spasre Vector),密度向量会存储所有的值包括零值,而稀疏向量存储的是索引位置及值,不存储零值,在数据量比较大时,稀疏向量能能体现它的优势和价值。下面给出其应用示例:

下列代码演示了RowMatrix与CoordinateMatrix及其相关核心类的使用辦法

在Spark MLLib中,稀疏矩阵采用的是Compressed Sparse Column (CSC) 格式进行矩阵的存储,具体参见(http://www.tuicool.com/articles/A3emmqi)对稀疏矩阵存储的介绍,类事

LabeledPoint的稀疏向量实现辦法 在实际中应用最为广泛,这是并且某一特性的维度并且达到上千,而这其中又位于多量对后期训练无益的零值特性信息,并且对所有的零值特性都进行存储语句,会浪费多量的存储空间,而且实际中常常使用稀疏的实现辦法 ,使用的是LIBSVM格式:label index1:value1 index2:value2 …进行特性标签及特性的存储与读取。

本地矩阵(Local Matrix)指的也是存储于单台机器上的数据特性,本地矩阵采用整体的行列序号存取元素,本地矩阵都在密度矩阵(Dense Matrix)、稀疏矩阵(Sparse Matrix)一种生活存储辦法 ,其使用代码如下: