【问题标题】:Scala Spark load saved MLlib modelScala Spark 加载保存的 MLlib 模型
【发布时间】:2019-12-06 21:41:23
【问题描述】:

我在我的 S3 路径中保存了一个随机森林模型,现在我想加载它。但是,我得到一个错误,该方法不存在。

代码(保存模型工作):

import org.apache.spark.ml.classification.RandomForestClassifier

    val rfClassifier = new RandomForestClassifier()
      .setImpurity("gini")
      .setMaxDepth(8)
      .setNumTrees(200)
      .setFeatureSubsetStrategy("auto")
      .setSeed(18)

   val rfModel = rfClassifier.fit(trainingFeatures)
    rfModel
    .write
    .overwrite()
    .save(<MY S3 PATH>)

代码(加载模型不起作用):

val rfmodel = RandomForestClassifier.load(<MY S3 PATH>)
)

错误:

java.lang.NoSuchMethodException: org.apache.spark.ml.classification.RandomForestClassificationModel.<init>(java.lang.String)

不知道为什么存在加载方法时会出现此错误

【问题讨论】:

    标签: scala apache-spark apache-spark-sql apache-spark-mllib


    【解决方案1】:

    您应该加载 RandomForestClassificationModel 而不是 RandomForestClassifier

    替换为:

    val rfmodel = RandomForestClassificationModel.load(<MY S3 PATH>)
    

    更多关于模型持久化here

    【讨论】:

    • 谢谢,只是想展示如何导入这个:import org.apache.spark.mllib.tree.model.RandomForestModel
    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 2016-08-25
    • 2017-05-17
    • 2015-04-10
    • 2015-02-20
    • 2017-12-20
    • 1970-01-01
    • 2015-02-07
    相关资源
    最近更新 更多