`
kavy
  • 浏览: 868351 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Labeled point--带有标志的数据,用于监督学习算法

 
阅读更多

labeled point 是一个局部向量,要么是密集型的要么是稀疏型的,用一个label/response进行关联。在MLlib里,labeled points 被用来监督学习算法。我们使用一个double数来存储一个label,因此我们能够使用labeled points进行回归和分类。在二进制分类里,一个label可以是 0(负数)或者 1(正数)。在多级分类中,labels可以是class的索引,从0开始:0,1,2,......

import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.LabeledPoint
// Create a labeled point with a positive label and a dense feature vector.
// 使用一个正的label和具有密集特性的向量来创建一个labeled point
val pos = LabeledPoint(1.0, Vectors.dense(1.0, 0.0, 3.0))
// Create a labeled point with a negative label and a sparse feature vector.
// 用一个负的label和一个稀疏型向量来定义一个labeled point。
val neg = LabeledPoint(0.0, Vectors.sparse(3, Array(0, 2), Array(1.0, 3.0)))

在实际应用中使用稀疏型训练数据非常常见。MLlib支持读取以LIBSVM格式存储的训练样例,默认的格式是使用 LIBSVMLIBLINEAR 。 它是一种文本格式,使用下面的格式存储,每行表示一个labeled稀疏型向量:

import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.util.MLUtils
import org.apache.spark.rdd.RDD
val examples: RDD[LabeledPoint] = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_libsvm_data.txt")



作者:蠟筆小噺没有烦恼
链接:https://www.jianshu.com/p/94c0a686f565

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics