【发布时间】:2015-06-19 10:57:37
【问题描述】:
我想在 MLlib 中使用管道的实现。之前,我有一个 RDD 文件并将其传递给模型创建,但现在要使用管道,应该有 LabeledDocument 的序列要传递给管道。
我的 RDD 创建如下:
val data = sc.textFile("/test.csv");
val parsedData = data.map { line =>
val parts = line.split(',')
LabeledPoint(parts(0).toDouble, Vectors.dense(parts.tail))
}.cache()
在管道示例Spark Programming Guide中,管道需要以下数据:
// Prepare training documents, which are labeled.
val training = sparkContext.parallelize(Seq(
LabeledDocument(0L, "a b c d e spark", 1.0),
LabeledDocument(1L, "b d", 0.0),
LabeledDocument(2L, "spark f g h", 1.0),
LabeledDocument(3L, "hadoop mapreduce", 0.0),
LabeledDocument(4L, "b spark who", 1.0),
LabeledDocument(5L, "g d a y", 0.0),
LabeledDocument(6L, "spark fly", 1.0),
LabeledDocument(7L, "was mapreduce", 0.0),
LabeledDocument(8L, "e spark program", 1.0),
LabeledDocument(9L, "a e c l", 0.0),
LabeledDocument(10L, "spark compile", 1.0),
LabeledDocument(11L, "hadoop software", 0.0)))
我需要一种方法将我的 RDD (parsedData) 更改为 LabeledDocuments 序列(如示例中的训练)。
感谢您的帮助。
【问题讨论】:
标签: scala apache-spark pipeline rdd seq