One-Class SVM
Hi all,
I have a problem while trying to build a model with LibSVM (One-class SVM) operator.
Label is Polynomial, but i transformed it in Binominal, and later (like from stackoverflow) had Filtered dataset to show only those cases which are "true". After Filter examples, I used Map operator, and then libSVM.
On test side of CrossValidation, after ApplyModel, I used Map operator where the selected attribute is prediction, and values for mapping are: inside -> true, and outside -> false.
Unfortunately, every time I start the process, I get an error: "java.lang.UnsupportedOperationException".
Thanks in advance for your help!
Best wishes,
Milos Panic
More detail about error:
(
Exception: java.lang.UnsupportedOperationException
Message: java.lang.UnsupportedOperationException: java.lang.UnsupportedOperationException
Stack trace:
sun.reflect.GeneratedConstructorAccessor294.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:422)
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:185)
com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.call(StudioConcurrencyContext.java:127)
com.rapidminer.extension.concurrency.execution.BackgroundExecutionService.executeOperatorTasks(BackgroundExecutionService.java:385)
com.rapidminer.extension.concurrency.operator.process_control.loops.LoopOperator.performParallelLoop(LoopOperator.java:173)
com.rapidminer.extension.concurrency.operator.process_control.loops.LoopOperator.doWork(LoopOperator.java:85)
com.rapidminer.operator.Operator.execute(Operator.java:1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
java.security.AccessController.doPrivileged(Native Method)
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.run(Process.java:1315)
com.rapidminer.Process.run(Process.java:1179)
com.rapidminer.Process.run(Process.java:1132)
com.rapidminer.Process.run(Process.java:1127)
com.rapidminer.Process.run(Process.java:1117)
com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
Cause
Exception: java.lang.UnsupportedOperationException
Message: java.lang.UnsupportedOperationException
Stack trace:
sun.reflect.GeneratedConstructorAccessor294.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:422)
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:185)
com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.call(StudioConcurrencyContext.java:127)
com.rapidminer.extension.concurrency.execution.BackgroundExecutionService.executeOperatorTasks(BackgroundExecutionService.java:385)
com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.performParallelValidation(CrossValidationOperator.java:428)
com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.doWork(CrossValidationOperator.java:280)
com.rapidminer.operator.Operator.execute(Operator.java:1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
java.security.AccessController.doPrivileged(Native Method)
com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
com.rapidminer.extension.concurrency.operator.process_control.loops.LoopOperator.doIteration(LoopOperator.java:240)
com.rapidminer.extension.concurrency.operator.process_control.loops.LoopOperator.access$300(LoopOperator.java:42)
com.rapidminer.extension.concurrency.operator.process_control.loops.LoopOperator$2.call(LoopOperator.java:165)
com.rapidminer.extension.concurrency.operator.process_control.loops.LoopOperator$2.call(LoopOperator.java:156)
com.rapidminer.extension.concurrency.execution.BackgroundExecutionService$ExecutionCallable.call(BackgroundExecutionService.java:349)
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:1689)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Cause
Exception: java.lang.UnsupportedOperationException
Message: null
Stack trace:
java.util.AbstractList.remove(AbstractList.java:161)
java.util.AbstractList$Itr.remove(AbstractList.java:374)
java.util.AbstractList.removeRange(AbstractList.java:571)
java.util.AbstractList.clear(AbstractList.java:234)
com.rapidminer.operator.learner.functions.kernel.LibSVMModel.performPrediction(LibSVMModel.java:169)
com.rapidminer.operator.learner.PredictionModel.apply(PredictionModel.java:116)
com.rapidminer.operator.ModelApplier.doWork(ModelApplier.java:134)
com.rapidminer.operator.Operator.execute(Operator.java:1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
java.security.AccessController.doPrivileged(Native Method)
com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.test(CrossValidationOperator.java:473)
com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.access$300(CrossValidationOperator.java:59)
com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator$8.call(CrossValidationOperator.java:418)
com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator$8.call(CrossValidationOperator.java:402)
com.rapidminer.extension.concurrency.execution.BackgroundExecutionService$ExecutionCallable.call(BackgroundExecutionService.java:349)
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:1689)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Answers
Do you have a process to share?
Dear Thomas,
Here is the process:
If it could help, i can upload .rmp or .csv file.
Thank you,
Milos Panic
Ok, do can you give an example of the data structure?
Dear Thomas,
Sure. This dataset is from one of competitions on Kaggle.
And it is reduced to 30% of cases.
Thanks in advance,
Milos Panic
...Anyone?