edu.udo.cs.yale.operator.meta
Class GridSearchParameterOptimizationOperator
java.lang.Object
edu.udo.cs.yale.operator.Operator
edu.udo.cs.yale.operator.OperatorChain
edu.udo.cs.yale.operator.meta.ParameterOptimizationOperator
edu.udo.cs.yale.operator.meta.GridSearchParameterOptimizationOperator
- All Implemented Interfaces:
- ConfigurationListener
- Direct Known Subclasses:
- QuadraticParameterOptimizationOperator
public class GridSearchParameterOptimizationOperator
- extends ParameterOptimizationOperator
This operator finds the optimal values for a set of parameters using a grid
search. The parameter parameters is a list of key value pairs
where the keys are of the form operator_name.parameter_name
and
the value is a comma separated list of values.
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 experiment 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
Please refer to section
Advanced experiments/Parameter and performance analysis
for an example application.
- Version:
- $Id: GridSearchParameterOptimizationOperator.java,v 1.9 2006/03/21
15:35:49 ingomierswa Exp $
- Author:
- Simon Fischer, Helge Homburg, Ingo Mierswa
Methods inherited from class edu.udo.cs.yale.operator.OperatorChain |
addAddListener, addOperator, addOperator, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, clearStepCounter, cloneOperator, countStep, createExperimentTree, delete, experimentFinished, experimentStarts, getAllInnerOperators, getCurrentStep, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfChildrensSteps, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, isEnabled, performAdditionalChecks, removeAddListener, removeOperator, setEnabled, setExperiment, shouldReturnInnerOutput |
Methods inherited from class edu.udo.cs.yale.operator.Operator |
addError, addValue, addWarning, apply, createExperimentTree, createFromXML, createMarkedExperimentTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getErrorList, getExperiment, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsInt, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isParameterSet, logMessage, register, remove, rename, resume, setBreakpoint, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, writeXML |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
parameterList
protected java.util.List parameterList
operators
protected Operator[] operators
parameters
protected java.lang.String[] parameters
values
protected java.lang.String[][] values
currentIndex
protected int[] currentIndex
numberOfCombinations
protected int numberOfCombinations
best
private ParameterSet best
GridSearchParameterOptimizationOperator
public GridSearchParameterOptimizationOperator(OperatorDescription description)
getParametersToOptimize
public void getParametersToOptimize()
throws OperatorException
- Throws:
OperatorException
getCurrentBestPerformance
public double getCurrentBestPerformance()
- Specified by:
getCurrentBestPerformance
in class ParameterOptimizationOperator
apply
public IOObject[] apply()
throws OperatorException
- Description copied from class:
OperatorChain
- Applies all inner operators. The input to this operator becomes the input
of the first inner operator. The latter's output is passed to the second
inner operator and so on. Note to subclassers: If subclasses (for example
wrappers) want to make use of this method remember to call exactly this
method (super.apply()) and do not call
super.apply(IOContainer) erroneously which will result in an
infinite loop. Subclasses who override this method without invoking
super.apply() should at least invoke the method
OperatorChain.clearStepCounter()
.
- Overrides:
apply
in class OperatorChain
- Returns:
- the last inner operator's output or the input itself if the chain
is empty.
- Throws:
OperatorException
Copyright © 2001-2006