Scala中的非工作Spark示例,LogisticRegressionTrainingSummary

时间:2018-01-31 11:47:18

标签: scala apache-spark apache-spark-mllib logistic-regression

我尝试为多项逻辑回归实现this example,但它无法识别正在使用的功能。可能是某些版本不匹配。这部分代码:

trainingSummary.falsePositiveRateByLabel.zipWithIndex.foreach { case (rate, label) =>
  println(s"label $label: $rate")
}

LogisticRegressionTrainingSummary的所有成员都没有被识别,falsePositiveRateByLabel在给定的例子中是特别的。以及代码中的其他成员:truePositiveRateByLabelprecisionByLabel,...

当我去实现时,我找不到任何我可以使用的类似成员,我使用mllib 2.11。我错过了什么?

1 个答案:

答案 0 :(得分:1)

你是对的,这是版本问题。您给出的github code example是针对Spark的当前主分支,其中API的这一部分发生了一些重大变化。

您一直关注的是Spark 2.3中的代码。但是,此时此版本尚不稳定且可供下载。这就是相同代码示例的version 2.2 branch

val training = spark
  .read
  .format("libsvm")
  .load("data/mllib/sample_multiclass_classification_data.txt")

val lr = new LogisticRegression()
  .setMaxIter(10)
  .setRegParam(0.3)
  .setElasticNetParam(0.8)

// Fit the model
val lrModel = lr.fit(training)

// Print the coefficients and intercept for multinomial logistic regression
println(s"Coefficients: \n${lrModel.coefficientMatrix}")
println(s"Intercepts: ${lrModel.interceptVector}")
// $example off$

spark.stop()

换句话说,您尝试使用的方法尚未在Spark版本中实现。