首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spark mlib python -保存模型时解决错误

spark mlib python -保存模型时解决错误
EN

Stack Overflow用户
提问于 2016-03-18 00:44:38
回答 1查看 396关注 0票数 0

我的错误越来越小。我遵循的是page中的线性回归示例。我有spark 1.6.1和python 3.5.1。我应该做哪些更改?

代码语言:javascript
复制
from pyspark.mllib.regression import LabeledPoint, LinearRegressionWithSGD, LinearRegressionModel

# Load and parse the data
def parsePoint(line):
    values = [float(x) for x in line.replace(',', ' ').split(' ')]
    return LabeledPoint(values[0], values[1:])

data = sc.textFile("data/mllib/ridge-data/lpsa.data")
parsedData = data.map(parsePoint)

# Build the model
model = LinearRegressionWithSGD.train(parsedData, iterations=100, step=0.00000001)

# Evaluate the model on training data
valuesAndPreds = parsedData.map(lambda p: (p.label, model.predict(p.features)))
MSE = valuesAndPreds.map(lambda v: (v[0] - v[1])**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
print("Mean Squared Error = " + str(MSE))

# Save and load model
>>> model.save(sc, "myModelPath")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\spark-1.6.1-bin-hadoop2.6\spark-1.6.1-bin-hadoop2.6\python\pyspark\mllib\regression.py", line 185, in save
    java_model.save(sc._jsc.sc(), path)
  File "c:\spark-1.6.1-bin-hadoop2.6\spark-1.6.1-bin-hadoop2.6\python\lib\py4j-0.9-src.zip\py4j\java_gateway.py", line 813, in __call__
  File "c:\spark-1.6.1-bin-hadoop2.6\spark-1.6.1-bin-hadoop2.6\python\pyspark\sql\utils.py", line 45, in deco
    return f(*a, **kw)

请注意,我编辑了计算MSE的行,如下所示

代码语言:javascript
复制
MSE = valuesAndPreds.map(lambda v: (v[0] - v[1])**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
EN

回答 1

Stack Overflow用户

发布于 2016-03-18 01:44:14

只要确保不存在同名的model/directory即可。如果将myModelPath重命名为其他值,或者删除文件夹myModelPath,则上面的代码可以正常工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36066785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档