2014-10-26 2 views
0

Кто-нибудь знает - можно ли сохранить подготовленную модель классификатора Наивного Байеса Спарка (например, в текстовом файле) и загрузить его в будущем, если потребуется?сохранить подготовленную модель классификатора Наивного Байеса от Spark

Thank you.

+2

Вы используете MlLib? Возможно, вы можете сохранить вес обученной модели и сохранить их. Затем, когда требуется, создайте новую модель, придав этим весам первоначальный вес? –

+0

Да, я использую MLib. Можно ли получить вес от учебной модели? – dimson

+2

есть. Я использую LogisticRegressionModel. то model.weights() дает вектор веса. планировал использовать его вот так. Не удалось найти другой вариант, кроме сериализации всей модели. –

ответ

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] 

Он работал для меня

обсуждается в этой теме : http://apache-spark-user-list.1001560.n3.nabble.com/How-to-save-mllib-model-to-hdfs-and-reload-it-td11953.html

+0

Thanx Man! Отличный ответ! – dimson

Смежные вопросы