【问题标题】:Handling continuous data in Spark NaiveBayes在 Spark NaiveBayes 中处理连续数据
【发布时间】:2018-01-19 11:20:53
【问题描述】:

根据 Spark NaiveBayes 的官方文档:

它支持多项式 NB(见此处),可以有限处理 支持离散数据。

如何在 Spark NaiveBayes 中处理连续数据(例如:某些文档中某些的百分比)?

【问题讨论】:

    标签: apache-spark apache-spark-mllib naivebayes


    【解决方案1】:

    当前的实现只能处理二进制特征,因此为了获得良好的结果,您必须对数据进行离散化和编码。对于离散化,您可以使用BuketizerQuantileDiscretizer。前一种成本较低,当您想使用一些特定领域的知识时可能更适合。

    对于编码,您可以使用OneHotEncoder 进行虚拟编码。调整后的dropLastParam

    所以总的来说你需要:

    • QuantileDiscretizerBucketizer -> OneHotEncoder 用于每个连续特征。
    • StringIndexer* -> OneHotEncoder 用于每个离散特征。
    • VectorAssembler 结合以上所有内容。

    * 或预定义的列元数据。

    【讨论】:

      猜你喜欢
      • 2021-01-14
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 2010-11-29
      • 2015-09-05
      • 2020-06-10
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多