Мгновенная множественная линейная регрессия: есть ли у нее прогноз?

Я обучил модели множественной регрессии, и теперь я хочу использовать ее для прогнозирования.

Читая документы, я понимаю, что вход - это помеченный вектор, а выход - набор данных с кортежем [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 который поддерживает соответствующие типы.

Другие вопросы по тегам