SDCADensity<double[]> sdca = new SDCADensity<double[]>(k);
sdca.setC(100);
sdca.train(train);
DoubleGaussianMixtureModel gmm = new DoubleGaussianMixtureModel(1);
gmm.train(train);
SimpleMKLDensity<double[]> mkl = new SimpleMKLDensity<double[]>();
for (int x = 0; x < dimension; x++) {
mkl.addKernel(new IndexDoubleGaussL2(x));
}
mkl.setC(100);
mkl.train(train);
ArrayList<double[]> test = new ArrayList<double[]>();
// 4. generate positive test samples
for (int i = 0; i < nbPosTest; i++) {
double[] t = new double[dimension];
for (int x = 0; x < dimension; x++) {
t[x] = ran.nextGaussian();
}
test.add(t);
}
// 6. test svm
for (double[] t : test) {
double value = svm.valueOf(t);
double pvalue = parzen.valueOf(t);
double dvalue = sdca.valueOf(t);
double gvalue = gmm.valueOf(t);
double mvalue = mkl.valueOf(t);
System.out.println("smo: " + value + ", parzen: "
+ pvalue + ", sdca: " + dvalue + " , gmm: "
+ gvalue + " , mkl: " + mvalue);