我试图为libsvm使用java绑定,它为我的分类的大多数测试实例做了所有的训练并给出了校正标签,但是当我试图使用svm_predict_probability()方法来获得概率和预测的标签时,它给我的概率数组都是零。(尽管预测/返回的值在大多数情况下仍然是正确的!)。这是我的代码中调用方法的部分:
double[] prob_estimates= new double[26];
double label=svm.svm_predict_probability(model, nodes, prob_estimates);
for(int i=0;i<prob_estimates.length;i++)
System.out.print("\t"+i+":"+prob_estimates[i]);输出是: 0:0.0 1:0.0 2:0.0 . 25:0.0有人能告诉我这是怎么回事吗?
发布于 2014-12-01 03:12:15
我认为,为了使用svm_predict_probability,您应该在训练前将其模型中的“概率”属性的值设置为1。(model.param.probability=1)。这将在模型中生成probA和probB,并在svm_predict_probability中使用。如果模型中没有probA和probB,那么svm_predict_probability只会调用svm_predict,这不会给出概率估计!
https://stackoverflow.com/questions/27219709
复制相似问题