【发布时间】:2020-04-09 21:54:51
【问题描述】:
我已经内置了一个使用 Apache spark Scala 进行逻辑回归的代码。现在我将使用 IntelliJ IDEA 从中创建一个 jar 文件。但我遇到了一些错误。
首先,我使用 CSV 文件导入数据。然后我拟合了一个逻辑回归模型。之后我评估了模型。最后,我需要将模型评估结果保存到文本文件中。当我尝试将模型评估结果写入文件时出现错误。
这是我的 jar 文件:
import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.feature.FeatureHasher
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.SparkSession
object class1 {
def main(args: Array[String]): Unit = {
val sc: SparkSession = SparkSession.builder()
.master("local[1]")
.appName("SparkByExample")
.getOrCreate()
val df2 = sc.read.options(Map("inferSchema"->"true","sep"->",","header"->"true")).csv(args(0))
val hasher = new FeatureHasher().setInputCols(Array("x1","x2")).setOutputCol("features")
val transformed = hasher.transform(df2)
val lr = new LogisticRegression().setMaxIter(100).setRegParam(0.1).
setElasticNetParam(0.6).setFeaturesCol("features").setLabelCol("automatic")
val Array(train, test) = transformed.randomSplit(Array(0.9, 0.1))
val lrModel = lr.fit(train)
val result = lrModel.transform(test)
val evaluator = new MulticlassClassificationEvaluator()
evaluator.setLabelCol("automatic")
evaluator.setMetricName("accuracy")
val accuracy = evaluator.evaluate(result)
accuracy.saveAsFiles(args(1))
}
}
我的错误如下:
[error] C:\Spark\src\main\scala\WordCount.scala:39:14: value saveAsFiles is not a member of Double
[error] accuracy.saveAsFiles(args(1))
[error] ^
[error] one error found
[error] (Compile / compileIncremental) Compilation failed
此错误暗示,我不能将 saveAsFiles 与双对象一起使用。
有人可以帮助我了解如何解决这个问题吗?
谢谢
【问题讨论】:
标签: scala apache-spark intellij-idea