【问题标题】:How to load trained RandomForestClassificationModel model?如何加载训练有素的 RandomForestClassificationModel 模型?
【发布时间】:2018-02-13 06:11:02
【问题描述】:

我已经训练并测试了一个机器学习模型(GBTClassificationModel 或 RandomForestClassificationModel)。然后我想保存训练好的模型以备将来使用。所以我做了以下事情:

 model.save("...");

以 GBTClassificationModel 为例,保存后。保存的文件是一个包含“数据、元数据和treesMetadata”的目录。我的问题是如何使用这个保存的模型以备将来使用?例如,我想做如下的事情:

 model = spark.load("...");
 Dataset<Row> predict_data= model_model.transform(dataset_test1)

有什么建议吗?谢谢。

更新:

事实证明非常简单:

 GBTClassificationModel model1 = GBTClassificationModel.load("...");
 Dataset<Row> predict_data= model1.transform(dataset_test)

【问题讨论】:

    标签: java apache-spark apache-spark-mllib


    【解决方案1】:

    你应该使用RandomForestClassificationModel.load方法。

    load(path: String): RandomForestClassificationModel 从输入路径读取一个ML实例,快捷方式read.load(path)

    在 Scala 中,在您的情况下,如下所示:

    import org.apache.spark.ml.classification.RandomForestClassificationModel
    val model = RandomForestClassificationModel.load("/analytics_shared/qoe/km_model")
    

    我强烈推荐使用 Spark MLlib 的 ML Pipeline 功能:

    ML Pipelines 提供了一组基于 DataFrame 构建的统一高级 API,可帮助用户创建和调整实用的机器学习管道。

    使用 ML Pipeline,您只需将 RandomForestClassificationModel 替换为 PipelineModel,就容易多了。

    import org.apache.spark.ml.PipelineModel
    val model = PipelineModel.load("...")
    

    【讨论】:

      猜你喜欢
      • 2017-05-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 2020-08-06
      • 2018-04-21
      • 1970-01-01
      • 2021-02-19
      • 2021-04-05
      相关资源
      最近更新 更多