Flink 多元线性回归:它有 Predict 吗?

Flink Multiple Linear Regression: does it have Predict?

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

阅读 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官方文档说退出了

感谢您的帮助! :)

LabeledVectors 的预测已与此 commit. Unfortunately, the Flink documentation has not been updated. I've created an issue 一起删除以更新文档。

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