import com.rapidminer.operator.learner.igss.utility.Utility; //导入依赖的package包/类
@Override
public List getParameterTypes() {
List types = super.getParameterTypes();
ParameterType type = new ParameterTypeInt(PARAMETER_ITERATIONS, "the number of iterations", 1, 50, 10);
type.setExpert(false);
types.add(type);
type = new ParameterTypeBoolean(PARAMETER_FORCE_ITERATIONS,
"make all iterations even if termination criterion is met", false);
type.setExpert(false);
types.add(type);
types.add(new ParameterTypeDouble(PARAMETER_EPSILON, "approximation parameter", 0.01, 1.0, 0.04));
types.add(new ParameterTypeDouble(PARAMETER_DELTA, "desired confidence", 0.01, 1.0, 0.1));
types.add(new ParameterTypeDouble(PARAMETER_MIN_UTILITY_PRUNING, "minimum utility used for pruning", -1.0d, 1.0d,
0.0d));
types.add(new ParameterTypeDouble(PARAMETER_MIN_UTILITY_USEFUL, "minimum utility for the usefulness of a rule",
-1.0, 1.0, 0.0d));
types.add(new ParameterTypeInt(PARAMETER_STEPSIZE, "the number of examples drawn before the next hypothesis update",
1, 10000, 100));
types.add(new ParameterTypeInt(PARAMETER_LARGE,
"the number of examples a hypothesis must cover before normal approximation is used", 1, 10000, 100));
types.add(new ParameterTypeInt(PARAMETER_MAX_COMPLEXITY, "the maximum complexity of hypothesis", 1, 10, 1));
types.add(new ParameterTypeInt(PARAMETER_MIN_COMPLEXITY, "the minimum complexity of hypothesis", 1, 10, 1));
types.add(new ParameterTypeBoolean(PARAMETER_USE_BINOMIAL,
"Switch to binomial utility funtion before increasing complexity", false));
types.add(new ParameterTypeCategory(PARAMETER_UTILITY_FUNCTION, "the utility function to be used",
Utility.UTILITY_TYPES, 4));
types.add(new ParameterTypeBoolean(PARAMETER_USE_KBS, "use kbs to reweight examples after each iteration", true));
types.add(new ParameterTypeBoolean(PARAMETER_REJECTION_SAMPLING,
"use rejection sampling instead of weighted examples", true));
types.add(new ParameterTypeCategory(PARAMETER_USEFUL_CRITERION,
"criterion to decide if the complexity is increased ", IteratingGSS.CRITERION_TYPES, 1));
types.add(new ParameterTypeDouble(PARAMETER_EXAMPLE_FACTOR,
"used by example criterion to determine usefulness of a hypothesis", 1.0, 5.0, 1.5));
types.add(new ParameterTypeBoolean(PARAMETER_GENERATE_ALL_HYPOTHESIS, "generate h->Y+/Y- or h->Y+ only.", false));
types.add(new ParameterTypeBoolean(PARAMETER_RESET_WEIGHTS, "Set weights back to 1 when complexity is increased.",
false));
return types;
}