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

  • 时间:
  • 浏览:0

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

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

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

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

作者:周志湖

微信号:zhouzhihubyond

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

本地矩阵(Local Matrix)指的也是存储于单台机器上的数据社会形态,本地矩阵采用整体的行列序号存取元素,本地矩阵不是密度矩阵(Dense Matrix)、稀疏矩阵(Sparse Matrix)三种存储最好的办法,其使用代码如下: