Мы используем Java-ML (LibSVM) для выполнения алгоритма SVM над проблемой с несколькими классами
Classifier clas = new LibSVM();
clas.buildClassifier(data);
Dataset dataForClassification= FileHandler.loadDataset(new File(.), 0, ",");
/* Counters for correct and wrong predictions. */
int correct = 0, wrong = 0;
/* Classify all instances and check with the correct class values */
for (Instance inst : dataForClassification) {
Object predictedClassValue = clas.classify(inst);
Map<Object,Double> map = clas.classDistribution(inst);
Object realClassValue = inst.classValue();
if (predictedClassValue.equals(realClassValue))
correct++;
else
wrong++;
}
classDistributtion()
возвращает стандартный вектор (то есть все значения равны 0, кроме одного)значение, равное 1)
java-ml - http://java -ml.sourceforge.net /