libsvm.svm.sigmoid_predict()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(2.4k)|赞(0)|评价(0)|浏览(110)

本文整理了Java中libsvm.svm.sigmoid_predict()方法的一些代码示例,展示了svm.sigmoid_predict()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。svm.sigmoid_predict()方法的具体详情如下:
包路径:libsvm.svm
类名称:svm
方法名:sigmoid_predict

svm.sigmoid_predict介绍

暂无

代码示例

代码示例来源:origin: jzy3d/jzy3d-api

public static double svm_predict_probability(svm_model model, svm_node[] x, double[] prob_estimates)
{
  if ((model.param.svm_type == svm_parameter.C_SVC || model.param.svm_type == svm_parameter.NU_SVC) &&
    model.probA!=null && model.probB!=null)
  {
    int i;
    int nr_class = model.nr_class;
    double[] dec_values = new double[nr_class*(nr_class-1)/2];
    svm_predict_values(model, x, dec_values);
    double min_prob=1e-7;
    double[][] pairwise_prob=new double[nr_class][nr_class];
    
    int k=0;
    for(i=0;i<nr_class;i++)
      for(int j=i+1;j<nr_class;j++)
      {
        pairwise_prob[i][j]=Math.min(Math.max(sigmoid_predict(dec_values[k],model.probA[k],model.probB[k]),min_prob),1-min_prob);
        pairwise_prob[j][i]=1-pairwise_prob[i][j];
        k++;
      }
    multiclass_probability(nr_class,pairwise_prob,prob_estimates);
    int prob_max_idx = 0;
    for(i=1;i<nr_class;i++)
      if(prob_estimates[i] > prob_estimates[prob_max_idx])
        prob_max_idx = i;
    return model.label[prob_max_idx];
  }
  else 
    return svm_predict(model, x);
}

代码示例来源:origin: com.facebook.thirdparty/libsvm

public static double svm_predict_probability(svm_model model, svm_node[] x, double[] prob_estimates)
{
  if ((model.param.svm_type == svm_parameter.C_SVC || model.param.svm_type == svm_parameter.NU_SVC) &&
    model.probA!=null && model.probB!=null)
  {
    int i;
    int nr_class = model.nr_class;
    double[] dec_values = new double[nr_class*(nr_class-1)/2];
    svm_predict_values(model, x, dec_values);
    double min_prob=1e-7;
    double[][] pairwise_prob=new double[nr_class][nr_class];
    
    int k=0;
    for(i=0;i<nr_class;i++)
      for(int j=i+1;j<nr_class;j++)
      {
        pairwise_prob[i][j]=Math.min(Math.max(sigmoid_predict(dec_values[k],model.probA[k],model.probB[k]),min_prob),1-min_prob);
        pairwise_prob[j][i]=1-pairwise_prob[i][j];
        k++;
      }
    multiclass_probability(nr_class,pairwise_prob,prob_estimates);
    int prob_max_idx = 0;
    for(i=1;i<nr_class;i++)
      if(prob_estimates[i] > prob_estimates[prob_max_idx])
        prob_max_idx = i;
    return model.label[prob_max_idx];
  }
  else 
    return svm_predict(model, x);
}

代码示例来源:origin: tw.edu.ntu.csie/libsvm

for(int j=i+1;j<nr_class;j++)
  pairwise_prob[i][j]=Math.min(Math.max(sigmoid_predict(dec_values[k],model.probA[k],model.probB[k]),min_prob),1-min_prob);
  pairwise_prob[j][i]=1-pairwise_prob[i][j];
  k++;

相关文章