zoukankan      html  css  js  c++  java
  • Mllib数据类型(密集向量和稀疏向量)

    1.局部向量

    Mllib支持2种局部向量类型:密集向量(dense)和稀疏向量(sparse)。

    密集向量由double类型的数组支持,而稀疏向量则由两个平行数组支持。

    example:

    向量(5.2,0.0,5.5)

    密集向量表示:[5.2,0.0,5.5]

    稀疏向量表示:(3,[0,2],[5.2,5.5])    # 3是向量(5.2,0.0,5.5)的长度,除去0值外,其他两个值的索引和值分别构成了数组[0,2]和数组[5.2,5.5]。

    Vector是所有局部向量的基类,Dense-Vector和SparseVector都是Vector的具体实现。

    import org.apache.spark.mllib.linalg.{Vector, Vectors}
    // 创建一个dense vector (5.2, 0.0, 5.5).
    val dv: Vector = Vectors.dense(5.2, 0.0, 5.5)
    // 创建一个sparse vector (5.2, 0.0, 5.5)并且指定它的索引和值
    val sv1: Vector = Vectors.sparse(3, Array(0, 2), Array(5.2, 5.5))
    // 创建一个sparse vector (5.2, 0.0, 5.5)并且指定它的索引和值,通过指定非0的值,位置0是5.2,位置2是5.5
    val sv2: Vector = Vectors.sparse(3, Seq((0, 5.2), (2, 5.5)))
    

      

  • 相关阅读:
    ETL讲解(很详细!!!)
    必须掌握的30种SQL语句优化
    亿级Web系统搭建——单机到分布式集群
    运行第一个容器
    Docker 架构详解
    容器 What, Why, How
    Docker 组件如何协作?
    部署 DevStack
    通过例子学习 Keystone
    创建 Image
  • 原文地址:https://www.cnblogs.com/zeppelin/p/6500452.html
Copyright © 2011-2022 走看看