无法在 mleap 中序列化逻辑回归
Posted
技术标签:
【中文标题】无法在 mleap 中序列化逻辑回归【英文标题】:Unable to serialize logistic regressing in mleap 【发布时间】:2017-06-13 13:12:43 【问题描述】:java.lang.AssertionError: assertion failed: This op only support binary logistic regression
我正在尝试在 mleap 中序列化火花管道。
我在管道中使用 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。所以我完全不知道我在这里可能做错了什么。
【问题讨论】:
【参考方案1】:亚什多西,
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
【讨论】:
感谢您的回复!不过我现在换了一些其他的工作,一旦我回到 mleap 应该就可以测试了。 顺便说一句,只是一个建议,将 mleap 作为 *** 上的标签真的很有帮助。以上是关于无法在 mleap 中序列化逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章
R语言回归分析(regression)常见算法:简单线性回归多项式回归多元线性回归多水平回归多输出回归逻辑回归泊松回归cox比例风险回归时间序列分析非线性回归非参数回归稳健回归等
R语言回归分析(regression)常见算法:简单线性回归多项式回归多元线性回归多水平回归多输出回归逻辑回归泊松回归cox比例风险回归时间序列分析非线性回归非参数回归稳健回归等
无法在逻辑回归中使用 decision_function() 评估分数