【问题标题】:Handle null/NaN values in spark mllib classifier在 spark mllib 分类器中处理 null/NaN 值
【发布时间】:2016-01-05 02:10:13
【问题描述】:

我有一组分类列(字符串),我正在对其进行解析并转换为特征向量以传递给 mllib 分类器(随机森林)。

在我的输入数据中,某些列具有空值。比如说,在其中一列中,我有 p 值 + 一个空值: 我应该如何构建我的特征向量和分类器的 categoricalFeaturesInfo 映射?

  • 选项 1:我在 categoricalFeaturesInfo 中告诉 p 值,并在输入向量中使用 Double.NaN?
    • 附带问题:分类器如何处理 NaN?
  • 选项 2:我将空值视为一个值,因此我在 categoricalFeaturesInfo 中告诉 (p+1) 个值,并将空值映射到某个双精度值?

感谢您的帮助。

(PS:我知道新的dataframe + pipeline + vectorindexer API,但由于某些原因它不能很好地满足我的需要,所以我需要自己做)

【问题讨论】:

    标签: apache-spark classification random-forest apache-spark-mllib


    【解决方案1】:

    看起来选项 2 就是其中之一。如果您的 null 实际上是您的分类特征的另一个级别,只需将其映射到某个值。 请注意,分类特征级别应映射到 0,1,2 .... 等,然后才能正确使用它们,请参见此处:

    response in stackoverflow

    所以空值将被映射到这些数字之一。

    【讨论】:

      猜你喜欢
      • 2015-07-30
      • 2015-10-25
      • 2015-12-30
      • 2016-07-06
      • 2017-10-08
      • 2015-06-23
      • 2016-04-22
      • 2016-03-01
      • 1970-01-01
      相关资源
      最近更新 更多