私はSVMを初めて使用しています。私はマルチクラスの分類の問題のためにjlibsvmを使用しています。基本的に、私は文分類の問題をやっています。 3クラスがあります。私が理解していることは、私がやっていることです1対1すべての分類。私は比較的小さな電車を持っています。合計75文、25文が各クラスに属します。マルチクラス分類でjlibsvm予測確率を得る方法
私はトレーニングしながら、SVM_Aで、文章がクラスAに属し、3つのSVMを(その3種類のモデルが)、真のラベルを持って作っています、すなわち、およびその他の文章はを持っています - 1ラベル。これに対応してSVM_BおよびSVM_Cに対しても行われます。
文章の真のラベルを得るために、私は3つのモデルに文章を与えていますが、これらの3つのモデルで返されるの予測確率はです。どちらが最高を返すかは、文が属するクラスになります。
これは私がやっている方法です。しかし、すべてのモデルのテストセットのすべての文に対して同じ予測確率が得られます。
A predicted:0.012820514
B predicted:0.012820514
C predicted:0.012820514
これらの値は、トレーニングセット内のすべての文について繰り返されます。
次は私が訓練のためのパラメータを設定する方法である:私は間違っ
C_SVC svm = new C_SVC();
MutableBinaryClassificationProblemImpl problem;
ImmutableSvmParameterGrid.Builder builder = ImmutableSvmParameterGrid.builder();
// create training parameters ------------
HashSet<Float> cSet;
HashSet<LinearKernel> kernelSet;
cSet = new HashSet<Float>();
cSet.add(1.0f);
kernelSet = new HashSet<LinearKernel>();
kernelSet.add(new LinearKernel());
// configure finetuning parameters
builder.eps = 0.001f; // epsilon
builder.Cset = cSet; // C values used
builder.kernelSet = kernelSet; //Kernel used
builder.probability=true; // To get the prediction probability
ImmutableSvmParameter params = builder.build();
何をしているのですか?
マルチクラスの分類以外の方法がありますか?