PredictionIO - 构建和 运行 评估指标时出错

PredictionIO - getting error when build and run Evaluation metrics

我遵循了这个快速入门:

https://docs.prediction.io/templates/classification/quickstart/

以及这份评估指标文档

https://docs.prediction.io/evaluation/paramtuning/

在构建步骤和 运行 评估指标之前一切似乎都正常

pio 评估org.template.classification.AccuracyEvaluation\ org.template.classification.EngineParamsList 我收到异常: 线程 "main" scala.reflect.internal.MissingRequirementError 中的异常:未找到对象 org.template.classification.AccuracyEvaluation。 在 scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:16) 在 scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:17) 在 scala.reflect.internal.Mirrors$RootsBase.ensureModuleSymbol(Mirrors.scala:126) 在 scala.reflect.internal.Mirrors$RootsBase.staticModule(Mirrors.scala:161) 在 scala.reflect.internal.Mirrors$RootsBase.staticModule(Mirrors.scala:21) 在 io.prediction.workflow.WorkflowUtils$.getEvaluation(WorkflowUtils.scala:103) 在 io.prediction.workflow.CreateWorkflow$$anonfun$19.apply(CreateWorkflow.scala:146) 在 io.prediction.workflow.CreateWorkflow$$anonfun$19.apply(CreateWorkflow.scala:144) 谁能帮我解决这个问题? 非常感谢。

遇到了完全相同的问题。通过执行以下操作修复它:

对于 engine_dir/src/main/scala/org/template/engine_name/ 中的每个 .scala 文件,您需要将第一行从...

package <SomeTemplateName>

以下(将engine_name替换为上述路径中的文件夹名称):

package org.template.<engine_name>

然后,在 engine.json 中,您需要更改以下行...

"engineFactory": "<template name>.<template engine>",

以下(再次将engine_name替换为上述路径中的文件夹名称):

"engineFactory": "org.template.<engine name>.<template engine>",

现在重新运行...

pio build
pio train
pio deploy

那么您应该能够运行模型评估而不会出错。

像这样简化运行

$ pio eval org.example.classification.AccuracyEvaluation \ org.example.classification.EngineParamsList

您无需更改任何内容。示例中的 class 包是 org.example.classification 而不是 org.template.classification