【发布时间】:2018-05-21 07:47:09
【问题描述】:
我想在 Java 中使用 Apache Spark 训练逻辑回归模型。作为第一步,我想只训练一次模型并保存模型参数(截距和系数)。随后使用保存的模型参数在稍后的时间点进行评分。我可以使用以下代码将模型保存在镶木地板文件中
LogisticRegressionModel trainedLRModel = logReg.fit(data);
trainedLRModel.write().overwrite().save("mypath");
当我加载模型进行评分时,出现以下错误。
LogisticRegression lr = new LogisticRegression();
lr.load("//saved_model_path");
Exception in thread "main" java.lang.NoSuchMethodException: org.apache.spark.ml.classification.LogisticRegressionModel.<init>(java.lang.String)
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.getConstructor(Class.java:1825)
at org.apache.spark.ml.util.DefaultParamsReader.load(ReadWrite.scala:325)
at org.apache.spark.ml.util.MLReadable$class.load(ReadWrite.scala:215)
at org.apache.spark.ml.classification.LogisticRegression$.load(LogisticRegression.scala:672)
at org.apache.spark.ml.classification.LogisticRegression.load(LogisticRegression.scala)
有没有办法训练和保存模型,然后再评估(得分)?我在 Java 中使用 Spark ML 2.1.0。
【问题讨论】:
标签: apache-spark apache-spark-ml