public static Parameter getSVMParamter() { Parameter param = new Parameter(SolverType.L2R_L2LOSS_SVC_DUAL, 1, Double.POSITIVE_INFINITY, 0.1); if (param.getEps() == Double.POSITIVE_INFINITY) { switch (param.getSolverType()) { case L2R_LR: case L2R_L2LOSS_SVC: param.setEps(0.01); break; case L2R_L2LOSS_SVR: param.setEps(0.001); break; case L2R_L2LOSS_SVC_DUAL: case L2R_L1LOSS_SVC_DUAL: case MCSVM_CS: case L2R_LR_DUAL: param.setEps(0.1); break; case L1R_L2LOSS_SVC: case L1R_LR: param.setEps(0.01); break; case L2R_L1LOSS_SVR_DUAL: case L2R_L2LOSS_SVR_DUAL: param.setEps(0.1); break; default: throw new IllegalStateException("unknown solver type: " + param.getSolverType()); } } return param; }
public Parameter getParamsCopy() { Parameter p2 = new Parameter(params.getSolverType(), params.getC(), params.getEps()); if (weights != null) { p2.setWeights(params.getWeights(), params.getWeightLabels()); } p2.setEps(params.getEps()); return p2; }
public void setWeights(double[] weights) { this.weights = weights; params.setWeights(weights, weightLabels); doWeightLabels = true; }
public void setEps(double eps) { this.eps = eps; params.setEps(eps); }