运行时异常:在perf参数列表上运行gridsearch时不匹配的标准类
嗨
当我尝试运行“优化参数(网格)”并选择性能时,我会得到以下运行时错误。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
评论
你好,
这是一个已知的问题,很快就会修复。如果在不同的网格搜索运行中有不同的性能指标,就会发生这种情况。只需禁用自动日志记录或确保每次运行时都采用相同的性能测量。
最好的
马丁
德国多特蒙德
你好奥利弗,
谢谢你的报道。作为一个快速提示,使用>附加你的进程XML,这样就不会转换为smiley等。
不幸的是,我必须纠正马丁,因为这是另一个问题(见在这里).我们将修复它,不抛出一个RuntimeException,但在一般情况下,RapidMiner不能比较所有不同的性能标准,也看到这里的主要事情:
在你的过程中,你到底想要实现什么?如果您希望在一次运行中拥有所有不同的性能标准,您也可以尝试选择所有需要的标准,并检查“优化参数(网格)”中的“log_all_criteria”。操作符。或者,如果您只想记录而不想优化,您可以简单地使用“Loop Parameters”操作符来遍历这些条件(这里不应该有比较)。
最好的
1月