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;
}