@Override public Map<Object, Double> classDistribution(Instance instance) { return optimal.classDistribution(instance); }
@Override public Object classify(Instance instance) { return optimal.classify(instance); }
public double[] getWeights() { return optimal.getWeights(); }
svm = new SelfOptimizingLinearLibSVM(-4, 4, internalFolds); else { svm = new LibSVM(); svm.getParameters().C=1; svm.buildClassifier(training); double[] weights = svm.getWeights();
public void buildClassifier(Dataset data) { double[] result = new double[upperC - lowerC]; for (int i = lowerC; i < upperC; i++) { LibSVM svm = new LibSVM(); svm.getParameters().C = Math.pow(2, i); CrossValidation cv = new CrossValidation(svm); Map<Object, PerformanceMeasure> score = cv.crossValidation(data, folds, rg); try { for (Object o : score.keySet()) result[i - lowerC] += score.get(o).getFMeasure(); } catch (RuntimeException e) { // TODO Auto-generated catch block // System.out.println(positiveClass.getClass()); System.err.println(score.keySet().iterator().next().getClass()); // System.err.println(positiveClass); System.err.println(score); // System.err.println(score.get(positiveClass)); e.printStackTrace(); System.exit(-1); } } fmeasures = result; int index = ArrayUtils.maxIndex(result); optimal = new LibSVM(); optimalC = Math.pow(2, index + lowerC); optimal.getParameters().C = optimalC; optimal.buildClassifier(data); }
public double[] rawDecisionValues(Instance i) { return svm_predict_raw(model, convert(i)); }
this.classifier.setParameters(this.svmParameters); double averageAccuracy = 0;
super.buildClassifier(data); this.data = data; svm_problem p = transformDataset(data);