adams.flow.transformer
Class WekaRandomSplit

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.transformer.AbstractTransformer
                  extended by adams.flow.transformer.WekaRandomSplit
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, Randomizable, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, ErrorHandler, InputConsumer, OutputProducer, ProvenanceSupporter, Serializable, Comparable

public class WekaRandomSplit
extends AbstractTransformer
implements Randomizable, ProvenanceSupporter

Splits a dataset into a training and test set according to a specified split percentage. Randomization can be suppressed using with 'preserve order'.
The training set can be accessed in the container with 'Train' and the test set with 'Test'.

Input/output:
- accepts:
   weka.core.Instances
- generates:
   adams.flow.container.TrainTestSetContainer

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: RandomSplit
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default:
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded
    as it is.
 
-preserve-order (property: preserveOrder)
    If set to true, then the order is preserved by suppressing randomization.
 
-seed <long> (property: seed)
    The seed value for the randomization.
    default: 1
 
-percentage <double> (property: percentage)
    The percentage for the split (between 0 and 1).
    default: 0.66
    minimum: 1.0E-4
    maximum: 0.9999
 

Version:
$Revision: 4584 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  double m_Percentage
          the percentage for the split (0-1).
protected  boolean m_PreserveOrder
          whether to preserve the order.
protected  long m_Seed
          the seed value.
 
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
 
Fields inherited from class adams.flow.core.AbstractActor
FILE_EXTENSION, FILE_EXTENSION_GZ, m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
WekaRandomSplit()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 Class[] generates()
          Returns the class of objects that it generates.
 double getPercentage()
          Returns the percentage (0-1).
 boolean getPreserveOrder()
          Returns whether to preserve order and suppress randomization.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 long getSeed()
          Returns the seed value.
 String globalInfo()
          Returns a string describing the object.
 String percentageTipText()
          Returns the tip text for this property.
 String preserveOrderTipText()
          Returns the tip text for this property.
 String seedTipText()
          Returns the tip text for this property.
 void setPercentage(double value)
          Sets the percentage (0-1).
 void setPreserveOrder(boolean value)
          Sets whether to preserve order and suppress randomization.
 void setSeed(long value)
          Sets the seed value.
 void updateProvenance(ProvenanceContainer cont)
          Updates the provenance information in the provided container.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
backupState, execute, hasPendingOutput, input, output, postExecute, reset, restoreState, wrapUp
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_PreserveOrder

protected boolean m_PreserveOrder
whether to preserve the order.


m_Seed

protected long m_Seed
the seed value.


m_Percentage

protected double m_Percentage
the percentage for the split (0-1).

Constructor Detail

WekaRandomSplit

public WekaRandomSplit()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Specified by:
accepts in interface InputConsumer
Returns:
weka.core.Instances.class

generates

public Class[] generates()
Returns the class of objects that it generates.

Specified by:
generates in interface OutputProducer
Returns:
adams.flow.container.TrainTestSetContainer.class

setPreserveOrder

public void setPreserveOrder(boolean value)
Sets whether to preserve order and suppress randomization.

Parameters:
value - if true then no randomization will happen

getPreserveOrder

public boolean getPreserveOrder()
Returns whether to preserve order and suppress randomization.

Returns:
true if to preserve order and suppress randomization

preserveOrderTipText

public String preserveOrderTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setSeed

public void setSeed(long value)
Sets the seed value.

Specified by:
setSeed in interface Randomizable
Parameters:
value - the seed

getSeed

public long getSeed()
Returns the seed value.

Specified by:
getSeed in interface Randomizable
Returns:
the seed

seedTipText

public String seedTipText()
Returns the tip text for this property.

Specified by:
seedTipText in interface Randomizable
Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setPercentage

public void setPercentage(double value)
Sets the percentage (0-1).

Parameters:
value - the percentage

getPercentage

public double getPercentage()
Returns the percentage (0-1).

Returns:
the percentage

percentageTipText

public String percentageTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message

updateProvenance

public void updateProvenance(ProvenanceContainer cont)
Updates the provenance information in the provided container.

Specified by:
updateProvenance in interface ProvenanceSupporter
Parameters:
cont - the provenance container to update


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.