无法在 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() 评估分数

逻辑回归中的概率校准错误:ValueError:无法将字符串转换为浮点数:'OLIFE'

我无法将逻辑回归拟合到模型中。如何解决这个问题?