【问题标题】:Flink Multiple Linear Regression: does it have Predict?Flink 多元线性回归:它有 Predict 吗?
【发布时间】:2017-06-02 10:00:41
【问题描述】:

我已经训练了一个多元回归模型,现在我想用它来预测。

阅读documents 我知道输入是一个带标签的向量,输出是一个带有元组 [InputValue, PredictValue] 的数据集,对吧?

我创建了我的标签向量:

val mapped = data.map {x => new org.apache.flink.ml.common.LabeledVector (x._4, org.apache.flink.ml.math.DenseVector(x._1,x._2,x._3)) }

//Print
mapped: org.apache.flink.api.scala.DataSet[org.apache.flink.ml.common.LabeledVector] = org.apache.flink.api.scala.DataSet@7d4fefdc
LabeledVector(6.7, DenseVector(33.0, -52.26, 28.3))
LabeledVector(5.8, DenseVector(36.0, 45.53, 150.93))
.....

通过创建和训练我的模型,我预测:

// Calculate the predictions for the test data
val predictions = mlr.predict(mapped)

我收到了这个错误

java.lang.RuntimeException: There is no PredictOperation defined for org.apache.flink.ml.regression.MultipleLinearRegression which takes a DataSet[org.apache.flink.ml.common.LabeledVector] as input.

但是你可以看到here官方文档说它退出了。

感谢您的帮助! :)

【问题讨论】:

    标签: scala linear-regression apache-flink flinkml


    【解决方案1】:

    LabeledVectors 的预测已被此commit 删除。不幸的是,Flink 文档还没有更新。我创建了一个issue 来更新文档。

    如果你想预测LabeledVectors,那么你必须编写自己的PredictOperation,它支持各自的类型。

    【讨论】:

    • 感谢您的帮助只是想知道..您为什么决定删除它?顺便说一句,我想我还发现了几个错误……真可惜,这么强大的工具和那个文档……如果你需要一些年轻人来修复它,我可以提供帮助! ;)
    • 如何知道算法预测的结果?残差、均方误差、r² 等。
    • Flink 社区总是欢迎新的贡献者。因此,如果您愿意提供帮助,请创建一些 JIRA 问题并开始破解 :-) 我们删除它的原因是它是为评估添加的一个极端案例。相反,我们想开发一个适当的评估框架,让您可以计算预测的度量。正是您所要求的:均方误差、残差等。由于评估框架尚未完成,您必须自己实施。
    • 我会的! :) 虽然恐怕我还没有足够的水平哈哈顺便说一句,你能看看这个帖子吗link 我已经按照你给某人的答案做了,但它并不完全适用我。如果你能在这篇文章中提供帮助,我真的很感激,因为这是为了我的论文。
    • 没有理由害怕。每个贡献者都对社区有价值。
    猜你喜欢
    • 2010-11-23
    • 2014-07-19
    • 2013-07-17
    • 2014-05-20
    • 1970-01-01
    • 2016-10-15
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多