Class M5Base

    • Constructor Detail

      • M5Base

        public M5Base()
        Constructor
    • Method Detail

      • getTechnicalInformation

        public TechnicalInformation getTechnicalInformation()
        Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
        Specified by:
        getTechnicalInformation in interface TechnicalInformationHandler
        Returns:
        the technical information about this class
      • setOptions

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Parses a given list of options.

        Valid options are:

        -U
        Use unsmoothed predictions.

        -R
        Build a regression tree rather than a model tree.

        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class AbstractClassifier
        Parameters:
        options - the list of options as an array of strings
        Throws:
        java.lang.Exception - if an option is not supported
      • getOptions

        public java.lang.String[] getOptions()
        Gets the current settings of the classifier.
        Specified by:
        getOptions in interface OptionHandler
        Overrides:
        getOptions in class AbstractClassifier
        Returns:
        an array of strings suitable for passing to setOptions
      • unprunedTipText

        public java.lang.String unprunedTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setUnpruned

        public void setUnpruned​(boolean unpruned)
        Use unpruned tree/rules
        Parameters:
        unpruned - true if unpruned tree/rules are to be generated
      • getUnpruned

        public boolean getUnpruned()
        Get whether unpruned tree/rules are being generated
        Returns:
        true if unpruned tree/rules are to be generated
      • generateRulesTipText

        public java.lang.String generateRulesTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • useUnsmoothedTipText

        public java.lang.String useUnsmoothedTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setUseUnsmoothed

        public void setUseUnsmoothed​(boolean s)
        Use unsmoothed predictions
        Parameters:
        s - true if unsmoothed predictions are to be used
      • getUseUnsmoothed

        public boolean getUseUnsmoothed()
        Get whether or not smoothing is being used
        Returns:
        true if unsmoothed predictions are to be used
      • buildRegressionTreeTipText

        public java.lang.String buildRegressionTreeTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getBuildRegressionTree

        public boolean getBuildRegressionTree()
        Get the value of regressionTree.
        Returns:
        Value of regressionTree.
      • setBuildRegressionTree

        public void setBuildRegressionTree​(boolean newregressionTree)
        Set the value of regressionTree.
        Parameters:
        newregressionTree - Value to assign to regressionTree.
      • minNumInstancesTipText

        public java.lang.String minNumInstancesTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setMinNumInstances

        public void setMinNumInstances​(double minNum)
        Set the minimum number of instances to allow at a leaf node
        Parameters:
        minNum - the minimum number of instances
      • getMinNumInstances

        public double getMinNumInstances()
        Get the minimum number of instances to allow at a leaf node
        Returns:
        a double value
      • buildClassifier

        public void buildClassifier​(Instances data)
                             throws java.lang.Exception
        Generates the classifier.
        Specified by:
        buildClassifier in interface Classifier
        Parameters:
        data - set of instances serving as training data
        Throws:
        java.lang.Exception - if the classifier has not been generated successfully
      • classifyInstance

        public double classifyInstance​(Instance inst)
                                throws java.lang.Exception
        Calculates a prediction for an instance using a set of rules or an M5 model tree
        Specified by:
        classifyInstance in interface Classifier
        Overrides:
        classifyInstance in class AbstractClassifier
        Parameters:
        inst - the instance whos class value is to be predicted
        Returns:
        the prediction
        Throws:
        java.lang.Exception - if a prediction can't be made.
      • toString

        public java.lang.String toString()
        Returns a description of the classifier
        Overrides:
        toString in class java.lang.Object
        Returns:
        a description of the classifier as a String
      • enumerateMeasures

        public java.util.Enumeration<java.lang.String> enumerateMeasures()
        Returns an enumeration of the additional measure names
        Specified by:
        enumerateMeasures in interface AdditionalMeasureProducer
        Returns:
        an enumeration of the measure names
      • getMeasure

        public double getMeasure​(java.lang.String additionalMeasureName)
        Returns the value of the named measure
        Specified by:
        getMeasure in interface AdditionalMeasureProducer
        Parameters:
        additionalMeasureName - the name of the measure to query for its value
        Returns:
        the value of the named measure
        Throws:
        java.lang.Exception - if the named measure is not supported
      • measureNumRules

        public double measureNumRules()
        return the number of rules
        Returns:
        the number of rules (same as # linear models & # leaves in the tree)
      • getM5RootNode

        public RuleNode getM5RootNode()