【问题标题】:How to get the probability per instance in classifications models in spark.mllib如何在 spark.mllib 的分类模型中获取每个实例的概率
【发布时间】:2015-09-22 18:05:29
【问题描述】:

我正在使用 spark.mllib.classification.{LogisticRegressionModel, LogisticRegressionWithSGD} 和 spark.mllib.tree.RandomForest 进行分类。使用这些包我生成分类模型。只有这些模型可以预测每个实例的特定类。在 Weka 中,我们可以获得每个实例属于每个类别的确切概率。我们如何使用这些包来做到这一点?

在 LogisticRegressionModel 中我们可以设置阈值。所以我创建了一个函数来检查不同阈值上每个点的结果。但这对于 RandomForest 是无法做到的(请参阅 How to set cutoff while training the data in Random Forest in Spark

【问题讨论】:

  • 不幸的是,使用 MLLIb 您无法获得分类模型的每个实例的概率。
  • 谢谢,您知道我们将来是否可以这样做?

标签: apache-spark random-forest logistic-regression apache-spark-mllib


【解决方案1】:

不幸的是,在 1.4.1 版之前,您无法使用 MLLIb 获得分类模型的每个实例的概率。

关于这个确切的主题存在 JIRA 问题(SPARK-4362SPARK-6885),因为我现在正在写答案,所以该主题正在进行中。不过,这个问题似乎自 2014 年 11 月起就搁置了

目前无法在预测过程中使用朴素贝叶模型获得预测的后验概率。这应该与标签一起提供。

下面是@sean-owen 在邮件列表中关于朴素贝叶斯分类算法的类似主题的注释:

最近在这个邮件列表上讨论了这个问题。您现在无法直接得出概率,但您可以稍微破解一下以获取 NaiveBayesModel 的内部数据结构并从那里进行计算。

参考:source.

主要编辑:此问题已在 Spark 1.5.0 中解决。详情请参考 JIRA issue

【讨论】:

    猜你喜欢
    • 2016-11-15
    • 2015-01-16
    • 2012-06-07
    • 2020-05-09
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 2015-06-25
    相关资源
    最近更新 更多