マルチクラス問題で SVM アルゴリズムを実行するために、Java-ML(LibSVM) を使用しています。
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 に等しい値が 1 つあります)。
java-ml - http://java-ml.sourceforge.net/