0

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

阅读文档我知道输入是一个带标签的向量,输出是一个带有元组 [ 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.

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

谢谢你的帮助!:)

4

1 回答 1

2

的预测LabeledVectors已通过此提交删除。不幸的是,Flink 文档还没有更新。我创建了一个问题来更新文档。

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

于 2017-06-02T16:56:55.127 回答