public class CrossValidationResultProducer extends java.lang.Object implements ResultProducer, OptionHandler, AdditionalMeasureProducer, RevisionHandler
-X <number of folds> The number of folds to use for the cross-validation. (default 10)
-D Save raw split evaluator output.
-O <file/directory name/path> The filename where raw output will be stored. If a directory name is specified then then individual outputs will be gzipped, otherwise all output will be zipped to the named file. Use in conjuction with -D. (default splitEvalutorOut.zip)
-W <class name> The full class name of a SplitEvaluator. eg: weka.experiment.ClassifierSplitEvaluator
Options specific to split evaluator weka.experiment.ClassifierSplitEvaluator:
-W <class name> The full class name of the classifier. eg: weka.classifiers.bayes.NaiveBayes
-C <index> The index of the class for which IR statistics are to be output. (default 1)
-I <index> The index of an attribute to output in the results. This attribute should identify an instance in order to know which instances are in the test set of a cross validation. if 0 no output (default 0).
-P Add target and prediction columns to the result for each fold.
Options specific to classifier weka.classifiers.rules.ZeroR:
-D If set, classifier is run in debug mode and may output additional info to the consoleAll options after -- will be passed to the split evaluator.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DATASET_FIELD_NAME
The name of the key field containing the dataset name
|
static java.lang.String |
FOLD_FIELD_NAME
The name of the key field containing the fold number
|
static java.lang.String |
RUN_FIELD_NAME
The name of the key field containing the run number
|
static java.lang.String |
TIMESTAMP_FIELD_NAME
The name of the result field containing the timestamp
|
Constructor and Description |
---|
CrossValidationResultProducer() |
Modifier and Type | Method and Description |
---|---|
void |
doRun(int run)
Gets the results for a specified run number.
|
void |
doRunKeys(int run)
Gets the keys for a specified run number.
|
java.util.Enumeration |
enumerateMeasures()
Returns an enumeration of any additional measure names that might be in the
SplitEvaluator
|
java.lang.String |
getCompatibilityState()
Gets a description of the internal settings of the result producer,
sufficient for distinguishing a ResultProducer instance from another with
different settings (ignoring those settings set through this interface).
|
java.lang.String[] |
getKeyNames()
Gets the names of each of the columns produced for a single run.
|
java.lang.Object[] |
getKeyTypes()
Gets the data types of each of the columns produced for a single run.
|
double |
getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measure
|
int |
getNumFolds()
Get the value of NumFolds.
|
java.lang.String[] |
getOptions()
Gets the current settings of the result producer.
|
java.io.File |
getOutputFile()
Get the value of OutputFile.
|
boolean |
getRawOutput()
Get if raw split evaluator output is to be saved
|
java.lang.String[] |
getResultNames()
Gets the names of each of the columns produced for a single run.
|
java.lang.Object[] |
getResultTypes()
Gets the data types of each of the columns produced for a single run.
|
java.lang.String |
getRevision()
Returns the revision string.
|
SplitEvaluator |
getSplitEvaluator()
Get the SplitEvaluator.
|
static java.lang.Double |
getTimestamp()
Gets a Double representing the current date and time.
|
java.lang.String |
globalInfo()
Returns a string describing this result producer
|
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options..
|
static void |
main(java.lang.String[] args)
Quick test of timestamp
|
java.lang.String |
numFoldsTipText()
Returns the tip text for this property
|
java.lang.String |
outputFileTipText()
Returns the tip text for this property
|
void |
postProcess()
Perform any postprocessing.
|
void |
preProcess()
Prepare to generate results.
|
java.lang.String |
rawOutputTipText()
Returns the tip text for this property
|
void |
setAdditionalMeasures(java.lang.String[] additionalMeasures)
Set a list of method names for additional measures to look for in
SplitEvaluators.
|
void |
setInstances(Instances instances)
Sets the dataset that results will be obtained for.
|
void |
setNumFolds(int newNumFolds)
Set the value of NumFolds.
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setOutputFile(java.io.File newOutputFile)
Set the value of OutputFile.
|
void |
setRawOutput(boolean d)
Set to true if raw split evaluator output is to be saved
|
void |
setResultListener(ResultListener listener)
Sets the object to send results of each run to.
|
void |
setSplitEvaluator(SplitEvaluator newSplitEvaluator)
Set the SplitEvaluator.
|
java.lang.String |
splitEvaluatorTipText()
Returns the tip text for this property
|
java.lang.String |
toString()
Gets a text descrption of the result producer.
|
public static java.lang.String DATASET_FIELD_NAME
public static java.lang.String RUN_FIELD_NAME
public static java.lang.String FOLD_FIELD_NAME
public static java.lang.String TIMESTAMP_FIELD_NAME
public java.lang.String globalInfo()
public void setInstances(Instances instances)
setInstances
in interface ResultProducer
instances
- a value of type 'Instances'.public void setResultListener(ResultListener listener)
setResultListener
in interface ResultProducer
listener
- a value of type 'ResultListener'public void setAdditionalMeasures(java.lang.String[] additionalMeasures)
setAdditionalMeasures
in interface ResultProducer
additionalMeasures
- an array of measure names, null if nonepublic java.util.Enumeration enumerateMeasures()
enumerateMeasures
in interface AdditionalMeasureProducer
public double getMeasure(java.lang.String additionalMeasureName)
getMeasure
in interface AdditionalMeasureProducer
additionalMeasureName
- the name of the measure to query for its valuejava.lang.IllegalArgumentException
- if the named measure is not supportedpublic static java.lang.Double getTimestamp()
public void preProcess() throws java.lang.Exception
preProcess
in interface ResultProducer
java.lang.Exception
- if an error occurs during preprocessing.public void postProcess() throws java.lang.Exception
postProcess
in interface ResultProducer
java.lang.Exception
- if an error occurspublic void doRunKeys(int run) throws java.lang.Exception
doRunKeys
in interface ResultProducer
run
- the run number to get keys for.java.lang.Exception
- if a problem occurs while getting the keyspublic void doRun(int run) throws java.lang.Exception
doRun
in interface ResultProducer
run
- the run number to get results for.java.lang.Exception
- if a problem occurs while getting the resultspublic java.lang.String[] getKeyNames()
getKeyNames
in interface ResultProducer
public java.lang.Object[] getKeyTypes()
getKeyTypes
in interface ResultProducer
public java.lang.String[] getResultNames()
getResultNames
in interface ResultProducer
public java.lang.Object[] getResultTypes()
getResultTypes
in interface ResultProducer
public java.lang.String getCompatibilityState()
getCompatibilityState
in interface ResultProducer
public java.lang.String outputFileTipText()
public java.io.File getOutputFile()
public void setOutputFile(java.io.File newOutputFile)
newOutputFile
- Value to assign to OutputFile.public java.lang.String numFoldsTipText()
public int getNumFolds()
public void setNumFolds(int newNumFolds)
newNumFolds
- Value to assign to NumFolds.public java.lang.String rawOutputTipText()
public boolean getRawOutput()
public void setRawOutput(boolean d)
d
- true if output is to be savedpublic java.lang.String splitEvaluatorTipText()
public SplitEvaluator getSplitEvaluator()
public void setSplitEvaluator(SplitEvaluator newSplitEvaluator)
newSplitEvaluator
- new SplitEvaluator to use.public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-X <number of folds> The number of folds to use for the cross-validation. (default 10)
-D Save raw split evaluator output.
-O <file/directory name/path> The filename where raw output will be stored. If a directory name is specified then then individual outputs will be gzipped, otherwise all output will be zipped to the named file. Use in conjuction with -D. (default splitEvalutorOut.zip)
-W <class name> The full class name of a SplitEvaluator. eg: weka.experiment.ClassifierSplitEvaluator
Options specific to split evaluator weka.experiment.ClassifierSplitEvaluator:
-W <class name> The full class name of the classifier. eg: weka.classifiers.bayes.NaiveBayes
-C <index> The index of the class for which IR statistics are to be output. (default 1)
-I <index> The index of an attribute to output in the results. This attribute should identify an instance in order to know which instances are in the test set of a cross validation. if 0 no output (default 0).
-P Add target and prediction columns to the result for each fold.
Options specific to classifier weka.classifiers.rules.ZeroR:
-D If set, classifier is run in debug mode and may output additional info to the consoleAll options after -- will be passed to the split evaluator.
setOptions
in interface OptionHandler
options
- the list of options as an array of stringsjava.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
public static void main(java.lang.String[] args)
args
- the commandline options