无法在 mleap 中序列化逻辑回归
Unable to serialize logistic regressing in mleap
java.lang.AssertionError:断言失败:此操作仅支持二元逻辑回归
我正在尝试在 mleap 中序列化一个 spark 管道。
我在管道中使用 Tokenizer、HashingTF 和 LogisticRegression。
当我尝试序列化我的管道时,出现上述错误。
这是我用来序列化管道的代码 -
val pipeline = Pipeline(pipelineConfig)
val model = pipeline.fit(data)
(for(bf <- managed(BundleFile("jar:file:/tmp/abc.model.twitter.zip"))) yield {
model.writeBundle.format(SerializationFormat.Json).save(bf).get
}).tried.get
sc.stop()
根据文档,mleap 支持 LR。所以我完全不知道我在这里可能做错了什么。
亚什多西,
MLeap 默认支持 Spark 2.0(抱歉,这没有很好的记录)。在 2.0 中,仅支持二元逻辑回归。随着 2.1 的引入,出现了多项逻辑回归。因为 MLeap 旨在支持 2.0.0 及更高版本,所以我们内置了一种机制来选择您使用的 Spark 版本(目前 MLeap 支持 2.0 和 2.1,但默认为 2.0)。
尝试将此行添加到资源目录中的 application.conf
文件中,它将让 MLeap 知道在序列化时使用 Spark 2.1 转换器:
// application.conf in src/main/resources
ml.combust.mleap.spark.registry.default = ${ml.combust.mleap.spark.registry.v21}
java.lang.AssertionError:断言失败:此操作仅支持二元逻辑回归
我正在尝试在 mleap 中序列化一个 spark 管道。
我在管道中使用 Tokenizer、HashingTF 和 LogisticRegression。
当我尝试序列化我的管道时,出现上述错误。 这是我用来序列化管道的代码 -
val pipeline = Pipeline(pipelineConfig)
val model = pipeline.fit(data)
(for(bf <- managed(BundleFile("jar:file:/tmp/abc.model.twitter.zip"))) yield {
model.writeBundle.format(SerializationFormat.Json).save(bf).get
}).tried.get
sc.stop()
根据文档,mleap 支持 LR。所以我完全不知道我在这里可能做错了什么。
亚什多西,
MLeap 默认支持 Spark 2.0(抱歉,这没有很好的记录)。在 2.0 中,仅支持二元逻辑回归。随着 2.1 的引入,出现了多项逻辑回归。因为 MLeap 旨在支持 2.0.0 及更高版本,所以我们内置了一种机制来选择您使用的 Spark 版本(目前 MLeap 支持 2.0 和 2.1,但默认为 2.0)。
尝试将此行添加到资源目录中的 application.conf
文件中,它将让 MLeap 知道在序列化时使用 Spark 2.1 转换器:
// application.conf in src/main/resources
ml.combust.mleap.spark.registry.default = ${ml.combust.mleap.spark.registry.v21}