【问题标题】:svm_predict_probability returning array of zerossvm_predict_probability 返回零数组
【发布时间】:2014-12-01 11:21:32
【问题描述】:

我正在尝试为 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 谁能告诉我这有什么问题,我怎样才能得到概率?

【问题讨论】:

    标签: java libsvm


    【解决方案1】:

    我发现为了使用 svm_predict_probability,您应该在训练之前在其模型中将“概率”属性的值设置为 1。 (model.param.probability=1)。这将在模型中生成 probA 和 probB,它们将用于 svm_predict_probability。如果模型中没有 probA 和 probB,那么 svm_predict_probability 将简单地调用 svm_predict,它不会给你概率估计!

    【讨论】:

      猜你喜欢
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多