weka.experiment
Interface SplitEvaluator

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
ClassifierSplitEvaluator, RegressionSplitEvaluator

public interface SplitEvaluator
extends java.io.Serializable

Interface to objects able to generate a fixed set of results for a particular split of a dataset. The set of results should contain fields related to any settings of the SplitEvaluator (not including the dataset name. For example, one field for the classifier used to get the results, another for the classifier options, etc).

Possible implementations of SplitEvaluator:

Version:
$Revision: 1.6 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)

Method Summary
 java.lang.Object[] getKey()
          Gets the key describing the current SplitEvaluator.
 java.lang.String[] getKeyNames()
          Gets the names of each of the key columns produced for a single run.
 java.lang.Object[] getKeyTypes()
          Gets the data types of each of the key columns produced for a single run.
 java.lang.String getRawResultOutput()
          Returns the raw output for the most recent call to getResult.
 java.lang.Object[] getResult(Instances train, Instances test)
          Gets the results for the supplied train and test datasets.
 java.lang.String[] getResultNames()
          Gets the names of each of the result columns produced for a single run.
 java.lang.Object[] getResultTypes()
          Gets the data types of each of the result columns produced for a single run.
 void setAdditionalMeasures(java.lang.String[] additionalMeasures)
          Sets a list of method names for additional measures to look for in SplitEvaluators.
 

Method Detail

setAdditionalMeasures

public void setAdditionalMeasures(java.lang.String[] additionalMeasures)
Sets a list of method names for additional measures to look for in SplitEvaluators.

Parameters:
additionalMeasures - a list of method names

getKeyNames

public java.lang.String[] getKeyNames()
Gets the names of each of the key columns produced for a single run. The names should not contain spaces (use '_' instead for easy translation.) The number of key fields must be constant for a given SplitEvaluator.

Returns:
an array containing the name of each key column

getKeyTypes

public java.lang.Object[] getKeyTypes()
Gets the data types of each of the key columns produced for a single run. The number of key fields must be constant for a given SplitEvaluator.

Returns:
an array containing objects of the type of each key column. The objects should be Strings, or Doubles.

getResultNames

public java.lang.String[] getResultNames()
Gets the names of each of the result columns produced for a single run. The names should not contain spaces (use '_' instead for easy translation.) The number of result fields must be constant for a given SplitEvaluator.

Returns:
an array containing the name of each result column

getResultTypes

public java.lang.Object[] getResultTypes()
Gets the data types of each of the result columns produced for a single run. The number of result fields must be constant for a given SplitEvaluator.

Returns:
an array containing objects of the type of each result column. The objects should be Strings, or Doubles.

getKey

public java.lang.Object[] getKey()
Gets the key describing the current SplitEvaluator. For example This may contain the name of the classifier used for classifier predictive evaluation. The number of key fields must be constant for a given SplitEvaluator.

Returns:
a value of type 'Object'

getResult

public java.lang.Object[] getResult(Instances train,
                                    Instances test)
                             throws java.lang.Exception
Gets the results for the supplied train and test datasets.

Parameters:
train - the training Instances.
test - the testing Instances.
Returns:
the results stored in an array. The objects stored in the array may be Strings, Doubles, or null (for the missing value).
Throws:
java.lang.Exception - if a problem occurs while getting the results

getRawResultOutput

public java.lang.String getRawResultOutput()
Returns the raw output for the most recent call to getResult. Useful for debugging splitEvaluators.

Returns:
the raw output corresponding to the most recent call to getResut