private static Problem constructProblem()

in liblinear-addon/src/main/java/LiblinearTrainer.java [68:97]


  private static Problem constructProblem(List<Double> vy, List<Feature[]> vx, int maxIndex, double bias) {
    
    // Initialize problem
    Problem problem = new Problem();
    problem.l = vy.size();
    problem.n = maxIndex;
    problem.bias = bias;

    if (bias >= 0) {
      problem.n++;
    }

    problem.x = new Feature[problem.l][];

    for (int i = 0; i < problem.l; i++) {
      problem.x[i] = vx.get(i);

      if (bias >= 0) {
        problem.x[i][problem.x[i].length - 1] = new FeatureNode(maxIndex + 1, bias);
      }
    }

    problem.y = new double[problem.l];

    for (int i = 0; i < problem.l; i++) {
      problem.y[i] = vy.get(i);
    }
    
    return problem;
  }