Невозможно загрузить модель NaiveBayes в PySpark 2.4 - PullRequest
0 голосов
/ 25 октября 2019

Я сохранил модель NaiveBayes в PySpark 2.4. Но при загрузке получает ошибку. Может ли кто-нибудь помочь, пожалуйста?

Я вижу, что каталог создан и файлы в нем.

nb = NaiveBayes(smoothing=1.0, modelType='multinomial')
predictor = nb.fit(training)

Код для сохранения модели

output_dir = './myNaiveBeyesModel'
predictor.write().overwrite().save(output_dir)

Код для загрузки

# load the model from disk
from pyspark.mllib.classification import NaiveBayesModel
from pyspark.ml.pipeline import PipelineModel
drug_model = PipelineModel.load(output_dir)

Пробовал таким образом

# load the model from disk
from pyspark.mllib.classification import NaiveBayesModel
from pyspark.ml.pipeline import PipelineModel
drug_model = PipelineModel.load(output_dir)

Также

# load the model from disk
from pyspark.mllib.classification import NaiveBayesModel
from pyspark.ml.pipeline import PipelineModel
drug_model = NaiveBayesModel.load(sc,output_dir)

Но оба раза получает ошибку

Py4JJavaError: An error occurred while calling z:org.apache.spark.mllib.classification.NaiveBayesModel.load.
: org.json4s.package$MappingException: Did not find value which can be converted into java.lang.String
    at org.json4s.Extraction$.convert(Extraction.scala:603)
    at org.json4s.Extraction$.extract(Extraction.scala:350)
    at org.json4s.Extraction$.extract(Extraction.scala:42)
    at org.json4s.ExtractableJsonAstNode.extract(ExtractableJsonAstNode.scala:21)
    at org.apache.spark.mllib.util.Loader$.loadMetadata(modelSaveLoad.scala:131)
    at org.apache.spark.mllib.classification.NaiveBayesModel$.load(NaiveBayes.scala:271)
    at org.apache.spark.mllib.classification.NaiveBayesModel.load(NaiveBayes.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:282)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:238)
    at java.lang.Thread.run(Thread.java:748)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...