I am trying to use the LibSVM and GridSearch packages. I am using weka-dev-3.7.13.jar and the gridsearch and libsvm jars from http://mvnrepository.com/artifact/nz...idSearch/1.0.7
Here is a code snippet (this is in Scala):
However, this results in the following exception:
I had to download some additional dependencies for GridSearch, and it looks like I am still missing something. Where am I going wrong?
Here is a code snippet (this is in Scala):
Code:
val svm = new LibSVM()
svm.setSVMType(new SelectedTag(LibSVM.SVMTYPE_ONE_CLASS_SVM, LibSVM.TAGS_SVMTYPE))
svm.setSVMType(new SelectedTag(LibSVM.KERNELTYPE_RBF, LibSVM.TAGS_KERNELTYPE))
val search = new GridSearch()
val accuracyIndex = 6
val evaluation = new SelectedTag(accuracyIndex, GridSearch.TAGS_EVALUATION)
search.setEvaluation(evaluation)
search.setXProperty("classifier.nu")
search.setXMin(0.01)
search.setXMax(1.0)
search.setXStep(0.01)
search.setXBase(10.0)
search.setXExpression("I")
search.setYProperty("classifier.kernel.gamma")
search.setYMin(-5.0)
search.setYMax(2.0)
search.setYStep(1.0)
search.setYBase(10.0)
search.setYExpression("pow(BASE,I)")
search.setClassifier(svm)
search.buildClassifier(trainingSet)
val detector = search.getBestClassifier()
Code:
java.beans.IntrospectionException: Method not found: isClassifier at java.beans.PropertyDescriptor.<init>(Unknown Source)
at java.beans.PropertyDescriptor.<init>(Unknown Source)
at weka.core.PropertyPath.find(PropertyPath.java:386)
at weka.core.PropertyPath.getPropertyDescriptor(PropertyPath.java:432)
at weka.core.PropertyPath.getPropertyDescriptor(PropertyPath.java:448)
at weka.classifiers.meta.GridSearch$SetupGenerator.setValue(GridSearch.java:1836)
at weka.classifiers.meta.GridSearch$SetupGenerator.setup(GridSearch.java:1878)
at weka.classifiers.meta.GridSearch$EvaluationTask.run(GridSearch.java:1970)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception in thread "main" java.lang.NullPointerException
at weka.classifiers.meta.GridSearch$SetupGenerator.setValue(GridSearch.java:1837)
at weka.classifiers.meta.GridSearch$SetupGenerator.setup(GridSearch.java:1878)
at weka.classifiers.meta.GridSearch$EvaluationTask.run(GridSearch.java:1970)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)