【问题标题】:How to get accuracy precision, recall and ROC from cross validation in Spark ml lib?如何从 Spark mllib 中的交叉验证中获得准确率、召回率和 ROC?
【发布时间】:2017-06-02 13:16:08
【问题描述】:

我使用的是 Spark 2.0.2。我还在使用“ml”库进行带有数据集的机器学习。我想要做的是运行具有交叉验证的算法并提取提到的指标(准确度、精度、召回率、ROC、混淆矩阵)。我的数据标签是二进制的。

通过使用 MulticlassClassificationEvaluator,我只能通过访问“avgMetrics”来获得算法的准确性。此外,通过使用 BinaryClassificationEvaluator,我可以获得 ROC 下的区域。但我不能同时使用它们。 那么,有没有一种方法可以提取所有想要的指标?

【问题讨论】:

    标签: scala apache-spark machine-learning precision-recall


    【解决方案1】:

    已尝试使用 MLlib 评估您的结果。

    我已将数据集转换为 RDD,然后在 MLlib 中使用 MulticlassMetrics

    您可以在此处查看演示:Spark DecisionTreeExample.scala

    private[ml] def evaluateClassificationModel(
          model: Transformer,
          data: DataFrame,
          labelColName: String): Unit = {
        val fullPredictions = model.transform(data).cache()
        val predictions = fullPredictions.select("prediction").rdd.map(_.getDouble(0))
        val labels = fullPredictions.select(labelColName).rdd.map(_.getDouble(0))
        // Print number of classes for reference.
        val numClasses = MetadataUtils.getNumClasses(fullPredictions.schema(labelColName)) match {
          case Some(n) => n
          case None => throw new RuntimeException(
            "Unknown failure when indexing labels for classification.")
        }
        val accuracy = new MulticlassMetrics(predictions.zip(labels)).accuracy
        println(s"  Accuracy ($numClasses classes): $accuracy")
      }
    

    【讨论】:

      【解决方案2】:

      您可以遵循 Apache Spark 提供的官方评估指标指南。 该文档提供了所有评估指标,包括

      • Precision(阳性预测值)、Recall(真阳性率)、 F-measure、接收器工作特性 (ROC)、ROC 下面积 曲线,Precision-Recall 曲线下的面积。

      这是链接:https://spark.apache.org/docs/latest/mllib-evaluation-metrics.html

      【讨论】:

      • 谢谢,但这是基于 RDD 的,它使用“mllib”库。我使用数据框和数据集以及“ml”库。
      • 哦,对不起。检查这个link也许你会得到一些东西。我对毫升不太熟悉。
      猜你喜欢
      • 2017-03-14
      • 2019-09-10
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2016-04-14
      • 2019-09-06
      • 2020-06-01
      相关资源
      最近更新 更多