如何在Weka中以编程方式为SVM进行网格搜索

时间:2015-01-16 15:03:45

标签: machine-learning weka svm libsvm

在Weka中,我可以使用什么来使用LibSVM对SVM参数进行网格搜索?

目前,我可以使用以下代码仅搜索1个参数的良好值:

LibSVM svm = new LibSVM();
    svm.setKernelType(new SelectedTag(2, LibSVM.TAGS_KERNELTYPE));
    svm.setDegree(2);
    //Run a cross validation to select the right parameters
    CVParameterSelection ps = new CVParameterSelection();
    ps.setClassifier(svm);
    ps.setNumFolds(5);  // using 5-fold CV
    ps.addCVParameter("G 0.1 10 100");

1 个答案:

答案 0 :(得分:0)

这似乎是一个可靠的API: http://java-ml.sourceforge.net/api/0.1.6/libsvm/GridSearch.html

GridSearch构造函数接受LibSVM对象,Dataset对象和表示用于网格搜索的折叠数的整数。然后可以在GridSearch对象上调用搜索方法。此方法的输入是初始SVM参数(包括C和Gamma),输出是最佳C和Gamma值。