Cug*_*uga 4 java machine-learning probability svm libsvm
我正在使用libsvm,文档让我相信有一种方法可以输出输出分类准确性的可信概率.是这样吗?如果是这样,任何人都可以提供一个如何在代码中执行此操作的明确示例吗?
目前,我正在以下列方式使用Java库
SvmModel model = Svm.svm_train(problem, parameters);
SvmNode x[] = getAnArrayOfSvmNodesForProblem();
double predictedValue = Svm.svm_predict(model, x);
Run Code Online (Sandbox Code Playgroud)
鉴于你的代码片段,我会假设你想使用打包的Java API LIBSVM,而不是提供了更详细的一个jlibsvm.
要使用概率估计启用预测,请将svm_parameter字段 概率 设置为1的模型进行训练.然后,只需更改代码,使其调用svm方法svm_predict_probability而不是svm_predict.
修改您的代码段,我们有:
parameters.probability = 1;
svm_model model = svm.svm_train(problem, parameters);
svm_node x[] = problem.x[0]; // let's try the first data pt in problem
double[] prob_estimates = new double[NUM_LABEL_CLASSES];
svm.svm_predict_probability(model, x, prob_estimates);
Run Code Online (Sandbox Code Playgroud)
值得了解的是,使用多类概率估计进行训练可以改变分类器所做的预测.有关此问题的更多信息,请参阅计算与LibSVM的最近匹配/平均值/ Stddev配对的问题.
| 归档时间: |
|
| 查看次数: |
4820 次 |
| 最近记录: |