zoukankan      html  css  js  c++  java
  • scala 稀疏向量

    http://mocom.xmu.edu.cn/article/show/58481eb2e083c990247075a5/0/1

     1、

    /创建一个标签为1.0(分类中可视为正样本)的稠密向量标注点

    scala> val pos = LabeledPoint(1.0, Vectors.dense(2.0, 0.0, 8.0)) pos: org.apache.spark.mllib.regression.LabeledPoint = (1.0,[2.0,0.0,8.0])

    //创建一个标签为0.0(分类中可视为负样本)的稀疏向量标注点

    scala> val neg = LabeledPoint(0.0, Vectors.sparse(3, Array(0, 2), Array(2.0, 8.0)))

    neg: org.apache.spark.mllib.regression.LabeledPoint = (0.0,(3,[0,2],[2.0,8.0]))

    2、

    def load_data(train_add:String,test_add:String):RDD[LabeledPoint]={
    val train_data=sc.textFile(train_add).map(x=>x.split(",").map(_.toInt.toDouble).toList)
    .map(x=>
    { val label=x.head
    val values=x.tail
    val r_index= new ArrayBuffer[Int]()
    val r_values = new ArrayBuffer[Double]()
    val len=values.size
    println(len)
    for (i <- 0 until len){
    println(i)
    if (values(i)==1.0){
    r_index +=i
    r_values +=values(i)
    }
    }
    val sparse_value=Vectors.sparse(len,r_index.toArray,r_values.toArray)
    LabeledPoint(label,sparse_value)
    })
    train_data
    }
    
    
  • 相关阅读:
    Linux命令
    Linux目录说明
    python推导式
    python公共方法
    python集合
    python字典
    python元组
    python列表
    python字符串常用操作方法
    C语言编译过程
  • 原文地址:https://www.cnblogs.com/zhangbojiangfeng/p/7162618.html
Copyright © 2011-2022 走看看