Class WekaRandomSplit

  • All Implemented Interfaces:
    AdditionalInformationHandler, ArrayProvider, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, Randomizable, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, InstancesViewCreator, VariableChangeListener, Actor, ArrayProvider, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

    public class WekaRandomSplit
    extends AbstractArrayProvider
    implements Randomizable, InstancesViewCreator
    Splits a dataset into a training and test set according to a specified split percentage. Randomization can be suppressed using the 'preserve order' option.
    The training set can be accessed in the container with 'Train' and the test set with 'Test'.
    Depending on the split generator in use, more than one container may be output.

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


    Container information:
    - adams.flow.container.WekaTrainTestSetContainer: Train, Test, Seed, FoldNumber, FoldCount, Train original indices, Test original indices

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: WekaRandomSplit
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default:
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow execution at this level gets stopped in case this
        actor encounters an error; the error gets propagated; useful for critical
        actors.
        default: false
     
    -silent <boolean> (property: silent)
        If enabled, then no errors are output in the console; Note: the enclosing
        actor handler must have this enabled as well.
        default: false
     
    -output-array <boolean> (property: outputArray)
        If enabled, the splits are output as array rather than one-by-one.
        default: false
     
    -preserve-order <boolean> (property: preserveOrder)
        If set to true, then the order is preserved by suppressing randomization;
         overrides the value defined by the split generator scheme.
        default: false
     
    -seed <long> (property: seed)
        The seed value for the randomization; overrides the value defined by the
        split generator scheme.
        default: 1
     
    -percentage <double> (property: percentage)
        The percentage for the split (between 0 and 1); overrides the value defined
        by the split generator scheme.
        default: 0.66
        minimum: 1.0E-4
        maximum: 0.9999
     
    -create-view <boolean> (property: createView)
        If enabled, views of the dataset are created instead of actual copies; overrides
        the value defined by the split generator scheme.
        default: false
     
    -generator <weka.classifiers.RandomSplitGenerator> (property: generator)
        The scheme to use for generating the split; the actor options take precedence
        over the scheme's ones.
        default: weka.classifiers.DefaultRandomSplitGenerator
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • 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).
      • m_CreateView

        protected boolean m_CreateView
        whether to create a view only.
      • m_ActualGenerator

        protected transient RandomSplitGenerator m_ActualGenerator
        the currently active generator.
    • Constructor Detail

      • WekaRandomSplit

        public WekaRandomSplit()
    • Method Detail

      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Specified by:
        accepts in interface InputConsumer
        Returns:
        weka.core.Instances.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.
      • setCreateView

        public void setCreateView​(boolean value)
        Sets whether to create a view only.
        Specified by:
        setCreateView in interface InstancesViewCreator
        Parameters:
        value - true if to create a view only
      • getCreateView

        public boolean getCreateView()
        Returns whether to create only a view.
        Specified by:
        getCreateView in interface InstancesViewCreator
        Returns:
        true if to create view only
      • createViewTipText

        public String createViewTipText()
        Returns the tip text for this property.
        Specified by:
        createViewTipText in interface InstancesViewCreator
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setGenerator

        public void setGenerator​(RandomSplitGenerator value)
        Sets the scheme for generating the split.
        Parameters:
        value - the generator
      • getGenerator

        public RandomSplitGenerator getGenerator()
        Returns the scheme for generating the split.
        Returns:
        the generator
      • generatorTipText

        public String generatorTipText()
        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