有人知道 - 是否可以保存经过训练的Sparks Naive Bayes分类模型(例如在文本文件中),并在将来加载它?如果需要的话?
谢谢。
答案 0 :(得分:5)
我尝试保存并加载模型。我无法使用存储的权重重新创建模型。 (无法找到合适的构造函数)。但整个模型是可序列化的。所以你可以按如下方式存储和加载它:
存储为:
val fos = new FileOutputStream(<storage path>)
val oos = new ObjectOutputStream(fos)
oos.writeObject(model)
oos.close
并将其加载到:
val fos = new FileInputStream(<storage path>)
val oos = new ObjectInputStream(fos)
val newModel = oos.readObject().asInstanceOf[org.apache.spark.mllib.classification.LogisticRegressionModel]
它对我有用
答案 1 :(得分:0)
您可以使用内置功能(Spark版本2.1.0)。使用NaiveBayesModel#save
来存储模型,使用NaiveBayesModel#load
来读取以前存储的模型。
方法save
来自Saveable
,并由多种分类模型实现。在每种分类模型实现中,方法load
似乎都是静态的。