当前位置:  开发笔记 > 编程语言 > 正文

尝试使用pyspark加载保存的Spark模型时出现“空集合”错误

如何解决《尝试使用pyspark加载保存的Spark模型时出现“空集合”错误》经验,为你挑选了0个好方法。

我正在使用Spark构建随机森林模型,我想保存它以便以后使用。我在没有HDFS的pyspark(Spark 2.0.1)上运行此文件,因此文件被保存到本地文件系统。

我已经尝试这样做:

import pyspark.sql.types as T
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.classification import RandomForestClassifier

data = [[0, 0, 0.],
        [0, 1, 1.],
        [1, 0, 1.],
        [1, 1, 0.]]

schema = T.StructType([
    T.StructField('a', T.IntegerType(), True),
    T.StructField('b', T.IntegerType(), True),
    T.StructField('label', T.DoubleType(), True)])

df = sqlContext.createDataFrame(data, schema)

assembler = VectorAssembler(inputCols=['a', 'b'], outputCol='features')
df = assembler.transform(df)

classifier = RandomForestClassifier(numTrees=10, maxDepth=15, labelCol='label', featuresCol='features')
model = classifier.fit(df)

model.write().overwrite().save('saved_model')

然后,加载模型:

from pyspark.ml.classification import RandomForestClassificationModel

loaded_model = RandomForestClassificationModel.load('saved_model')

但是我得到这个错误:

Py4JJavaError: An error occurred while calling o108.load.
: java.lang.UnsupportedOperationException: empty collection

我不确定它指的是哪个集合。有什么想法如何正确加载(或保存)模型吗?

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有