Мгновенная множественная линейная регрессия: есть ли у нее прогноз?
Я обучил модели множественной регрессии, и теперь я хочу использовать ее для прогнозирования.
Читая документы, я понимаю, что вход - это помеченный вектор, а выход - набор данных с кортежем [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.
Но вы можете увидеть здесь, что официальная документация говорит, что она выходит.
Спасибо за вашу помощь!:)
1 ответ
Решение
Предсказание LabeledVectors
был удален с этим коммитом. К сожалению, документация Flink не была обновлена. Я создал проблему для обновления документации.
Если вы хотите предсказать LabeledVectors
тогда вы должны написать свой собственный PredictOperation
который поддерживает соответствующие типы.