我正在使用PySpark和MLlib使用Spark 1.3.0,我需要保存并加载我的模型.我使用这样的代码(取自官方文档)
from pyspark.mllib.recommendation import ALS, MatrixFactorizationModel, Rating
data = sc.textFile("data/mllib/als/test.data")
ratings = data.map(lambda l: l.split(',')).map(lambda l: Rating(int(l[0]), int(l[1]), float(l[2])))
rank = 10
numIterations = 20
model = ALS.train(ratings, rank, numIterations)
testdata = ratings.map(lambda p: (p[0], p[1]))
predictions = model.predictAll(testdata).map(lambda r: ((r[0], r[1]), r[2]))
predictions.collect() # shows me some predictions
model.save(sc, "model0")
# Trying to load saved model and work with it
model0 = MatrixFactorizationModel.load(sc, "model0")
predictions0 = model0.predictAll(testdata).map(lambda r: ((r[0], r[1]), r[2]))
Run Code Online (Sandbox Code Playgroud)
在我尝试使用model0之后,我得到一个很长的回溯,结束于此:
Py4JError: An error occurred …Run Code Online (Sandbox Code Playgroud) 我在Apache Spark(使用pyspark)中训练了一个分类模型.我将模型存储在一个对象中LogisticRegressionModel.现在,我想对新数据做出预测.我想存储模型,并将其读回新程序以进行预测.知道如何存储模型吗?我想的可能是泡菜,但我是python和Spark的新手,所以我想听听社区的想法.
更新:我还需要一个决策树分类器.要阅读它,我需要导入DecisionTreeModelpyspark