我尝试为多项逻辑回归实现this example,但它无法识别正在使用的功能。可能是某些版本不匹配。这部分代码:
trainingSummary.falsePositiveRateByLabel.zipWithIndex.foreach { case (rate, label) =>
println(s"label $label: $rate")
}
LogisticRegressionTrainingSummary
的所有成员都没有被识别,falsePositiveRateByLabel
在给定的例子中是特别的。以及代码中的其他成员:truePositiveRateByLabel
,precisionByLabel
,...
当我去实现时,我找不到任何我可以使用的类似成员,我使用mllib 2.11。我错过了什么?
答案 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版本中实现。