从 Scala 上的 Spark RDD 对象构建 RDD LabeledPoint
Posted
技术标签:
【中文标题】从 Scala 上的 Spark RDD 对象构建 RDD LabeledPoint【英文标题】:Build a RDD LabeledPoint from a Spark RDD object on scala 【发布时间】:2016-05-31 12:58:33 【问题描述】:我想从RDD
对象构建一个RDD[LabeledPoint]
,RDD对象如下:
+-------------------+---------+--------------+--------+-------+
| date_time|site_name|posa_continent|year |label |
+-------------------+---------+--------------+--------+-------+
|2014-08-11 07:46:59| 2| 3|2014 |1 |
|2014-08-11 08:22:12| 2| 3|2014 |2 |
|2015-08-11 08:24:33| 2| 3|2015 |1 |
|2016-08-09 18:05:16| 2| 3|2016 |3 |
|2011-08-09 18:08:18| 2| 3|2011 |2 |
|2009-08-09 18:13:12| 2| 3|2009 |1 |
|2014-07-16 09:42:23| 2| 3|2014 |1 |
+-------------------+---------+--------------+--------+-------+
我想构造一个带有label
属性的RDD[LabeledPoint]
,以便应用KNN 机器学习算法。我使用 Spark Scala API。
【问题讨论】:
你的问题到底是什么?你试过什么? 我尝试创建一个带有标签值的数组,但我认为这不是好方法 您希望rdd 中的哪些信息包含在您的labeledPoint 中? 我想包含 date_time、site_name、posa_continent、year 和 label 作为labeledPoint 对象的标签 Przemek 在下面的回答给出了您正在寻找的基本结构。但是,我怀疑 date_time 和 year (至少)对你想要的东西有用。您可以考虑先对变量进行一些预处理。 【参考方案1】:在 RDD 上尝试map
函数:
rddsObject.map(object => LabeledPoint(object.label, Vectors.dense(object.site_name,object.posa_continent,object.year))
【讨论】:
以上是关于从 Scala 上的 Spark RDD 对象构建 RDD LabeledPoint的主要内容,如果未能解决你的问题,请参考以下文章