【问题标题】:Build a RDD LabeledPoint from a Spark RDD object on scala从 Scala 上的 Spark RDD 对象构建 RDD LabeledPoint
【发布时间】: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 (至少)对你想要的东西有用。您可以考虑先对变量进行一些预处理。

标签: scala apache-spark rdd spark-dataframe


【解决方案1】:

在 RDD 上尝试map 函数:

rddsObject.map(object => LabeledPoint(object.label, Vectors.dense(object.site_name,object.posa_continent,object.year))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 2018-09-14
    • 2015-10-31
    • 2018-10-20
    • 2019-06-16
    • 2015-10-16
    • 2014-10-26
    相关资源
    最近更新 更多