Class ASEvaluator

  • All Implemented Interfaces:
    Serializable, BaseStepExtender, Step

    @KFStep(name="ASEvaluator",
            category="AttSelection",
            toolTipText="Weka attribute selection evaluator wrapper",
            iconPath="",
            resourceIntensive=true)
    public class ASEvaluator
    extends WekaAlgorithmWrapper
    Step that wraps a Weka attribute or subset evaluator. Handles training and test set connections. Requires an ASSearchStrategy step to be connected via an "info" connection. Will output both attribute selection results (via text connections) and transformed data (via outgoing train or test set connections). When processing multiple incoming training and test folds, the step can either output a cross-validation style summary over all the folds or individual attribute selection results for each fold.
    Version:
    $Revision: $
    Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
    See Also:
    ASSearchStrategy, Serialized Form
    • Constructor Detail

      • ASEvaluator

        public ASEvaluator()
    • Method Detail

      • getEvaluator

        public ASEvaluation getEvaluator()
        Get the evaluator wrapped by this step
        Returns:
        the attribute or subset evaluator wrapped by this step
      • setEvaluator

        @ProgrammaticProperty
        public void setEvaluator​(ASEvaluation eval)
        Set the evaluator to wrap (just calls setWrappedAlgorithm)
        Parameters:
        eval - the evaluator to use
      • setTreatXValFoldsSeparately

        @OptionMetadata(displayName="Treat x-val folds separately",
                        description="Output separate attribute selection results for each fold of a cross-validation (rather than averaging across folds)")
        public void setTreatXValFoldsSeparately​(boolean treatSeparately)
        Set whether to output separate results for each fold of a cross-validation, rather than averaging over folds.
        Parameters:
        treatSeparately - true if each fold will have results output
      • getTreatXValFoldsSeparately

        public boolean getTreatXValFoldsSeparately()
        Get whether to output separate results for each fold of a cross-validation, rather than averaging over folds.
        Returns:
        true if each fold will have results output
      • stepInit

        public void stepInit()
                      throws WekaException
        Initialize at the start of a run
        Throws:
        WekaException - if there is an illegal configuration (i.e. Ranker search with subset evaluator or regular search with attribute evaluator
      • getIncomingConnectionTypes

        public List<String> getIncomingConnectionTypes()
        Get incoming connections accepted given the current state of the step
        Returns:
        a list of acceptable incoming connections
      • getOutgoingConnectionTypes

        public List<String> getOutgoingConnectionTypes()
        Get a list of output connections that can be produced given the current state of the step
        Returns:
        a list of output connections