@Override public AnalysisCollector analyze(CollectionReader cr) throws AnalyzerFailureException { svm_problem svmProblem = loadData(cr); svm_problem sampled = null; if (findBestParameters) { if (sample < 1d) { logger.debug("Sampling."); sampled = do_sample(svmProblem); } logger.debug("Performing grid search."); do_find_best_parameters(sampled != null ? sampled : svmProblem); } svm_parameter svmParam = getDefaultSvmParameters(); svmParam.probability = 1; svmParam.C = c; svmParam.gamma = gamma; setWeights(svmParam); logger.debug("Training with C=" + c + " gamma=" + gamma); svm_model model = svm.svm_train(svmProblem, svmParam); logger.debug("Done!"); return new SingletonAnalysisCollector( new LibSvmTrainerAnalysis(model, scaler, labelList, c, gamma)); }
public svm_parameter getDefaultSvmParameters() { svm_parameter param = new svm_parameter(); // default values param.svm_type = svm_parameter.C_SVC; param.kernel_type = svm_parameter.RBF; param.degree = 3; param.gamma = 0; // 1/num_features param.coef0 = 0; param.nu = 0.5; param.cache_size = 100; param.C = 1; param.eps = 1e-3; param.p = 0.1; param.shrinking = 1; param.probability = 0; param.nr_weight = 0; param.weight_label = new int[0]; param.weight = new double[0]; return param; }