BUG REPORT - MetaCost with Linear Discriminant Analysis operator does not work
The MetaCost operator fails to run when the Linear Discriminant Analysis operator is used as the base learner.
The following Stack Trace is generated in the Debug Mode:
The following Stack Trace is generated in the Debug Mode:
- Exception: java.lang.NullPointerException
- Message: null
- Stack trace:
- com.rapidminer.example.table.DataRow.set(DataRow.java:84)
- com.rapidminer.belt.table.ConvertOnWriteExampleTable$1$1.set(ConvertOnWriteExampleTable.java:188)
- com.rapidminer.example.table.AbstractAttribute.setValue(AbstractAttribute.java:192)
- com.rapidminer.example.table.DataRow.set(DataRow.java:84)
- com.rapidminer.example.Example.setValue(Example.java:142)
- com.rapidminer.example.Example.setConfidence(Example.java:214)
- com.rapidminer.operator.learner.meta.MetaCostModel.performPrediction(MetaCostModel.java:156)
- com.rapidminer.operator.learner.PredictionModel.apply(PredictionModel.java:117)
- com.rapidminer.operator.AbstractModel.apply(AbstractModel.java:82)
- com.rapidminer.operator.AbstractModel.apply(AbstractModel.java:34)
- com.rapidminer.operator.ModelApplier.applyModel(ModelApplier.java:140)
- com.rapidminer.operator.ModelApplier.doWork(ModelApplier.java:125)
- com.rapidminer.operator.Operator.execute(Operator.java:1023)
- com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
- com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:805)
- com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:800)
- java.security.AccessController.doPrivileged(Native Method)
- com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:800)
- com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:423)
- com.rapidminer.operator.Operator.execute(Operator.java:1023)
- com.rapidminer.Process.executeRoot(Process.java:1464)
- com.rapidminer.Process.lambda$executeRootInPool$5(Process.java:1443)
- com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext$AdaptedCallable.exec(AbstractConcurrencyContext.java:362)
- 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:175)
Tagged:
0
Best Answer
-
MartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,453
RM Data Scientist
Hi,I think it cannot work because LDA is one of the rare learners not returning a confidence but MetaCost needs it?
Still, we should throw a proper error message.Best,Martin- Sr. Director Data Solutions, Altair RapidMiner -
Dortmund, Germany0
Answers