运行时异常:在perf参数列表上运行gridsearch时不匹配的标准类

oliver23oliver23 成员职位:4贡献我
2018年12月编辑 产品反馈-已解决

当我尝试运行“优化参数(网格)”并选择性能时,我会得到以下运行时错误。MainCriterion作为变量进行网格搜索。网格搜索在完成带有一个参数设置的第一次运行后立即产生此错误。

有人能解释一下吗?

例如:如果第一次运行指定“root_mean_squared_error”,第二次运行指定“absolute_error”,那么我得到以下异常:

  • 例外:java.lang.RuntimeException
  • 消息:java.lang.RuntimeException:不匹配的标准类:class com.rapidminer.operator.performance。绝对错误,类com.rapidminer.operator.performance. rootmeansquareerror
  • 堆栈跟踪:
  • sun.reflect.NativeConstructorAccessorImpl。newInstance0(本地方法)
  • sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java: 62)
  • sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java: 45)
  • java.lang.reflect.Constructor.newInstance (Constructor.java: 423)
  • java.util.concurrent.ForkJoinTask.getThrowableException (ForkJoinTask.java: 593)
  • java.util.concurrent.ForkJoinTask.get (ForkJoinTask.java: 1005)
  • com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.collectResults (StudioConcurrencyContext.java: 212)
  • com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.call (StudioConcurrencyContext.java: 156)
  • com.rapidminer.extension.concurrency.execution.BackgroundExecutionService.executeOperatorTasks (BackgroundExecutionService.java: 393)
  • com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.performParallelLoop (AbstractLoopOperator.java: 248)
  • com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.doWork (AbstractLoopOperator.java: 418)
  • com.rapidminer.operator.Operator.execute (Operator.java: 1004)
  • com.rapidminer.operator.execution.SimpleUnitExecutor.execute (SimpleUnitExecutor.java: 77)
  • com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 812)
  • com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 807)
  • java.security.AccessController。doPrivileged(本地方法)
  • com.rapidminer.operator.ExecutionUnit.execute (ExecutionUnit.java: 807)
  • com.rapidminer.operator.OperatorChain.doWork (OperatorChain.java: 428)
  • com.rapidminer.operator.Operator.execute (Operator.java: 1004)
  • com.rapidminer.Process.execute (Process.java: 1310)
  • com.rapidminer.Process.run (Process.java: 1285)
  • com.rapidminer.Process.run (Process.java: 1176)
  • com.rapidminer.Process.run (Process.java: 1129)
  • com.rapidminer.Process.run (Process.java: 1124)
  • com.rapidminer.Process.run (Process.java: 1114)
  • com.rapidminer.gui.ProcessThread.run (ProcessThread.java: 65)
  • 导致
  • 例外:java.lang.RuntimeException
  • 消息:不匹配的标准类:class com.rapidminer.operator.performance。绝对错误,类com.rapidminer.operator.performance. rootmeansquareerror
  • 堆栈跟踪:
  • com.rapidminer.operator.performance.PerformanceCriterion.compareTo (PerformanceCriterion.java: 104)
  • com.rapidminer.operator.performance.PerformanceVector DefaultComparator.compare美元(PerformanceVector.java: 56)
  • com.rapidminer.operator.performance.PerformanceVector.compareTo (PerformanceVector.java: 140)
  • com.rapidminer.extension.concurrency.operator.optimization.parameters.OptimizeGridOperator.processSingleRun (OptimizeGridOperator.java: 163)
  • com.rapidminer.extension.concurrency.operator.optimization.parameters.OptimizeGridOperator.processSingleRun (OptimizeGridOperator.java: 41)
  • com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.lambda performParallelLoop 1美元(AbstractLoopOperator.java: 241)
  • com.rapidminer.extension.concurrency.execution.BackgroundExecutionService ExecutionCallable.call美元(BackgroundExecutionService.java: 357)
  • java.util.concurrent.ForkJoinTask AdaptedCallable.exec美元(ForkJoinTask.java: 1424)
  • java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java: 289)
  • java.util.concurrent.ForkJoinPool WorkQueue.runTask美元(ForkJoinPool.java: 1056)
  • java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java: 1692)
  • java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java: 157)

设置是这样的:

< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.0.001”>


< /操作符>
> < /过程
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.0.001”>

“参数”<列表键= >

< / >列表





<过程扩展= " true " >

<枚举关键= "分区" >


< /枚举>



< /操作符>


















<列出关键= " expert_parameters " / >
< /操作符>

<列出关键= " application_parameters " / >

< /操作符>

















< /操作符>












> < /过程
< /操作符>
> < /过程
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.0.001”>


< /操作符>
> < /过程

标记:
0
0票

固定与释放·最后一次更新

评论

  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3287年RM数据科学家

    你好,

    这是一个已知的问题,很快就会修复。如果在不同的网格搜索运行中有不同的性能指标,就会发生这种情况。只需禁用自动日志记录或确保每次运行时都采用相同的性能测量。

    最好的

    马丁

    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
  • jczogallajczogalla 员工,成员职位:141RM工程

    你好奥利弗,

    谢谢你的报道。作为一个快速提示,使用附加你的进程XML,这样就不会转换为smiley等。

    不幸的是,我必须纠正马丁,因为这是另一个问题(见在这里).我们将修复它,不抛出一个RuntimeException,但在一般情况下,RapidMiner不能比较所有不同的性能标准,也看到这里的主要事情:

    例外:java.lang.RuntimeException
    消息:不匹配的标准类:class com.rapidminer.operator.performance。绝对错误,类com.rapidminer.operator.performance. rootmeansquareerror
    堆栈跟踪:
    com.rapidminer.operator.performance.PerformanceCriterion.compareTo (PerformanceCriterion.java: 104)

    在你的过程中,你到底想要实现什么?如果您希望在一次运行中拥有所有不同的性能标准,您也可以尝试选择所有需要的标准,并检查“优化参数(网格)”中的“log_all_criteria”。操作符。或者,如果您只想记录而不想优化,您可以简单地使用“Loop Parameters”操作符来遍历这些条件(这里不应该有比较)。

    最好的

    1月

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理
登录注册置评。