保存火花模型摘要

时间:2018-12-11 10:45:12

标签: python apache-spark pyspark logistic-regression

我正在使用Spark版本2.1.2在pyspark中运行逻辑回归

我知道可以如下保存回归模型:

# Initialise the logistic regression
model = LogisticRegression(featuresCol='features', labelCol='is_clickout',regParam=0, fitIntercept=False, family="binomial")

model = pipeline.fit(data)

# save model for future use
save_path = "model_0"
model.save(save_path)

问题是保存的模型无法保存摘要:

from pyspark.ml.classification import LogisticRegressionModel
model2 = LogisticRegressionModel.load(save_path)
model2.hasSummary ##### Returns FALSE

我可以按以下方式提取摘要,但没有附加保存方法:     #获取模型摘要     摘要= model.stages [-1]。摘要

是否有保存摘要对象的快速方法?对于多元回归?

当前,我读取了对象的所有属性,并将其另存为pandas df。

1 个答案:

答案 0 :(得分:0)

很遗憾,您的观察是正确的。我在Spark 2.4.3中遇到了相同的问题,并且发现this comment确认了该问题:

对于 LinearRegressionModel ,它当前不保存训练摘要。将来可能会添加用于保存摘要的选项。

对于Spark 3.0.0-rc1(其存储库中的最后一个可用标记),仍然存在相同的注释。

如果我们要保留摘要,我们需要自己对它进行序列化。在提取模型所需的统计信息并将其保存在JSON文档中之后,我就完成了此操作。