|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.rapidminer.operator.Operator
com.rapidminer.operator.OperatorChain
com.rapidminer.operator.meta.ParameterIteratingOperatorChain
com.rapidminer.operator.meta.ParameterOptimizationOperator
com.rapidminer.operator.meta.EvolutionaryParameterOptimizationOperator
public class EvolutionaryParameterOptimizationOperator
This operator finds the optimal values for a set of parameters using an evolutionary
strategies approach which is often more appropriate than a grid search or a greedy search
like the quadratic programming approach and leads to better results. The parameter
parameters is a list of key value pairs
where the keys are of the form operator_name.parameter_name and
the value for each parameter must be a semicolon separated pair of a minimum and a maximum value
in squared parantheses, e.g. [10;100] for a range of 10 until 100.
The operator returns an
optimal ParameterSet which can as well be written to a file with a
ParameterSetWriter. This parameter set
can be read in another process using a
ParameterSetLoader.
The file format of the parameter set file is straightforward and can easily be
generated by external applications. Each line is of the form
operator_name.parameter_name = value
| Field Summary | |
|---|---|
static java.lang.String |
PARAMETER_CROSSOVER_PROB
The parameter name for "The probability for crossover. |
static java.lang.String |
PARAMETER_GENERATIONS_WITHOUT_IMPROVAL
The parameter name for "Stop after this number of generations without improvement (-1: optimize until max_iterations). |
static java.lang.String |
PARAMETER_KEEP_BEST
The parameter name for "Indicates if the best individual should survive (elititst selection). |
static java.lang.String |
PARAMETER_LOCAL_RANDOM_SEED
The parameter name for "Use the given random seed instead of global random numbers (-1: use global). |
static java.lang.String |
PARAMETER_MAX_GENERATIONS
The parameter name for "Stop after this many evaluations" |
static java.lang.String |
PARAMETER_MUTATION_TYPE
The parameter name for "The type of the mutation operator. |
static java.lang.String |
PARAMETER_POPULATION_SIZE
The parameter name for "The population size (-1: number of examples)" |
static java.lang.String |
PARAMETER_SELECTION_TYPE
The parameter name for "The type of the selection operator. |
static java.lang.String |
PARAMETER_SHOW_CONVERGENCE_PLOT
The parameter name for "Indicates if a dialog with a convergence plot should be drawn. |
static java.lang.String |
PARAMETER_TOURNAMENT_FRACTION
The parameter name for "The fraction of the population used for tournament selection. |
| Fields inherited from class com.rapidminer.operator.meta.ParameterIteratingOperatorChain |
|---|
PARAMETER_PARAMETERS, PARAMETER_VALUES, VALUE_MODE_CONTINUOUS, VALUE_MODE_DISCRETE |
| Constructor Summary | |
|---|---|
EvolutionaryParameterOptimizationOperator(OperatorDescription description)
|
|
| Method Summary | |
|---|---|
IOObject[] |
apply()
Applies all inner operators. |
protected ESOptimization |
createOptimizer(RandomGenerator random)
This method creates a apropriate optimizer |
double |
getCurrentBestPerformance()
|
int |
getNumberOfOptimizationParameters()
|
ESOptimization |
getOptimization()
|
IOContainer |
getOptimizationInput()
|
Operator[] |
getOptimizationOperators()
|
java.lang.String[] |
getOptimizationParameters()
|
OptimizationValueType[] |
getOptimizationValueTypes()
|
java.util.List<ParameterType> |
getParameterTypes()
Returns a list of ParameterTypes describing the parameters of this operator. |
int |
getParameterValueMode()
Has to return one of the predefined modes which indicate whether the operator takes discrete values or intervals as basis for optimization. |
PerformanceVector |
setParametersAndEvaluate(Individual individual)
|
| Methods inherited from class com.rapidminer.operator.meta.ParameterOptimizationOperator |
|---|
getInnerOperatorCondition, getInputClasses, getOutputClasses, getPerformance, getPerformance |
| Methods inherited from class com.rapidminer.operator.meta.ParameterIteratingOperatorChain |
|---|
getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, parseParameterValues, shouldAddNonConsumedInput |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String PARAMETER_MAX_GENERATIONS
public static final java.lang.String PARAMETER_GENERATIONS_WITHOUT_IMPROVAL
public static final java.lang.String PARAMETER_POPULATION_SIZE
public static final java.lang.String PARAMETER_TOURNAMENT_FRACTION
public static final java.lang.String PARAMETER_KEEP_BEST
public static final java.lang.String PARAMETER_MUTATION_TYPE
public static final java.lang.String PARAMETER_SELECTION_TYPE
public static final java.lang.String PARAMETER_CROSSOVER_PROB
public static final java.lang.String PARAMETER_LOCAL_RANDOM_SEED
public static final java.lang.String PARAMETER_SHOW_CONVERGENCE_PLOT
| Constructor Detail |
|---|
public EvolutionaryParameterOptimizationOperator(OperatorDescription description)
| Method Detail |
|---|
public IOContainer getOptimizationInput()
public Operator[] getOptimizationOperators()
public java.lang.String[] getOptimizationParameters()
public OptimizationValueType[] getOptimizationValueTypes()
public int getParameterValueMode()
ParameterIteratingOperatorChain
getParameterValueMode in class ParameterIteratingOperatorChainpublic double getCurrentBestPerformance()
getCurrentBestPerformance in class ParameterOptimizationOperator
public IOObject[] apply()
throws OperatorException
OperatorChain
apply in class OperatorChainOperatorException
protected ESOptimization createOptimizer(RandomGenerator random)
throws UndefinedParameterError
UndefinedParameterErrorpublic ESOptimization getOptimization()
public PerformanceVector setParametersAndEvaluate(Individual individual)
throws OperatorException
OperatorExceptionpublic java.util.List<ParameterType> getParameterTypes()
Operator
getParameterTypes in interface ParameterHandlergetParameterTypes in class ParameterIteratingOperatorChainpublic int getNumberOfOptimizationParameters()
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||