我已经训练了多个回归模型,现在我想使用它来预测。
阅读我了解的文档,输入是标记的向量,输出是带有元组的数据集[ inputValue,preceptValue ],对吗?
我创建了我的标签向量:
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.
,但是您可以在这里看到官方文档说它已退出。
感谢您的帮助!:(
使用此提交删除了LabeledVectors
的预测。不幸的是,Flink文档尚未更新。我创建了一个更新文档的问题。
如果要预测LabeledVectors
,则必须编写支持相应类型的PredictOperation
。