Class J48

    • Constructor Detail

      • J48

        public J48()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing classifier
        Returns:
        a description suitable for displaying in the explorer/experimenter gui
      • 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
      • buildClassifier

        public void buildClassifier​(Instances instances)
                             throws java.lang.Exception
        Generates the classifier.
        Specified by:
        buildClassifier in class Classifier
        Parameters:
        instances - the data to train the classifier with
        Throws:
        java.lang.Exception - if classifier can't be built successfully
      • classifyInstance

        public double classifyInstance​(Instance instance)
                                throws java.lang.Exception
        Classifies an instance.
        Overrides:
        classifyInstance in class Classifier
        Parameters:
        instance - the instance to classify
        Returns:
        the classification for the instance
        Throws:
        java.lang.Exception - if instance can't be classified successfully
      • distributionForInstance

        public final double[] distributionForInstance​(Instance instance)
                                               throws java.lang.Exception
        Returns class probabilities for an instance.
        Overrides:
        distributionForInstance in class Classifier
        Parameters:
        instance - the instance to calculate the class probabilities for
        Returns:
        the class probabilities
        Throws:
        java.lang.Exception - if distribution can't be computed successfully
      • graphType

        public int graphType()
        Returns the type of graph this classifier represents.
        Specified by:
        graphType in interface Drawable
        Returns:
        Drawable.TREE
      • graph

        public java.lang.String graph()
                               throws java.lang.Exception
        Returns graph describing the tree.
        Specified by:
        graph in interface Drawable
        Returns:
        the graph describing the tree
        Throws:
        java.lang.Exception - if graph can't be computed
      • prefix

        public java.lang.String prefix()
                                throws java.lang.Exception
        Returns tree in prefix order.
        Specified by:
        prefix in interface Matchable
        Returns:
        the tree in prefix order
        Throws:
        java.lang.Exception - if something goes wrong
      • toSource

        public java.lang.String toSource​(java.lang.String className)
                                  throws java.lang.Exception
        Returns tree as an if-then statement.
        Specified by:
        toSource in interface Sourcable
        Parameters:
        className - the name of the Java class
        Returns:
        the tree as a Java if-then type statement
        Throws:
        java.lang.Exception - if something goes wrong
      • listOptions

        public java.util.Enumeration listOptions()
        Returns an enumeration describing the available options. Valid options are:

        -U
        Use unpruned tree.

        -C confidence
        Set confidence threshold for pruning. (Default: 0.25)

        -M number
        Set minimum number of instances per leaf. (Default: 2)

        -R
        Use reduced error pruning. No subtree raising is performed.

        -N number
        Set number of folds for reduced error pruning. One fold is used as the pruning set. (Default: 3)

        -B
        Use binary splits for nominal attributes.

        -S
        Don't perform subtree raising.

        -L
        Do not clean up after the tree has been built. -A
        If set, Laplace smoothing is used for predicted probabilites.

        -Q
        The seed for reduced-error pruning.

        Specified by:
        listOptions in interface OptionHandler
        Overrides:
        listOptions in class Classifier
        Returns:
        an enumeration of all the available options.
      • setOptions

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

         -U
          Use unpruned tree.
         -C <pruning confidence>
          Set confidence threshold for pruning.
          (default 0.25)
         -M <minimum number of instances>
          Set minimum number of instances per leaf.
          (default 2)
         -R
          Use reduced error pruning.
         -N <number of folds>
          Set number of folds for reduced error
          pruning. One fold is used as pruning set.
          (default 3)
         -B
          Use binary splits only.
         -S
          Don't perform subtree raising.
         -L
          Do not clean up after the tree has been built.
         -A
          Laplace smoothing for predicted probabilities.
         -Q <seed>
          Seed for random data shuffling (default 1).
        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class Classifier
        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 Classifier
        Returns:
        an array of strings suitable for passing to setOptions
      • seedTipText

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

        public int getSeed()
        Get the value of Seed.
        Returns:
        Value of Seed.
      • setSeed

        public void setSeed​(int newSeed)
        Set the value of Seed.
        Parameters:
        newSeed - Value to assign to Seed.
      • useLaplaceTipText

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

        public boolean getUseLaplace()
        Get the value of useLaplace.
        Returns:
        Value of useLaplace.
      • setUseLaplace

        public void setUseLaplace​(boolean newuseLaplace)
        Set the value of useLaplace.
        Parameters:
        newuseLaplace - Value to assign to useLaplace.
      • 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
      • toSummaryString

        public java.lang.String toSummaryString()
        Returns a superconcise version of the model
        Specified by:
        toSummaryString in interface Summarizable
        Returns:
        a summary of the model
      • measureTreeSize

        public double measureTreeSize()
        Returns the size of the tree
        Returns:
        the size of the tree
      • measureNumLeaves

        public double measureNumLeaves()
        Returns the number of leaves
        Returns:
        the number of leaves
      • measureNumRules

        public double measureNumRules()
        Returns the number of rules (same as number of leaves)
        Returns:
        the number of rules
      • enumerateMeasures

        public java.util.Enumeration 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.IllegalArgumentException - if the named measure is not supported
      • 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
      • getUnpruned

        public boolean getUnpruned()
        Get the value of unpruned.
        Returns:
        Value of unpruned.
      • setUnpruned

        public void setUnpruned​(boolean v)
        Set the value of unpruned. Turns reduced-error pruning off if set.
        Parameters:
        v - Value to assign to unpruned.
      • confidenceFactorTipText

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

        public float getConfidenceFactor()
        Get the value of CF.
        Returns:
        Value of CF.
      • setConfidenceFactor

        public void setConfidenceFactor​(float v)
        Set the value of CF.
        Parameters:
        v - Value to assign to CF.
      • minNumObjTipText

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

        public int getMinNumObj()
        Get the value of minNumObj.
        Returns:
        Value of minNumObj.
      • setMinNumObj

        public void setMinNumObj​(int v)
        Set the value of minNumObj.
        Parameters:
        v - Value to assign to minNumObj.
      • reducedErrorPruningTipText

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

        public boolean getReducedErrorPruning()
        Get the value of reducedErrorPruning.
        Returns:
        Value of reducedErrorPruning.
      • setReducedErrorPruning

        public void setReducedErrorPruning​(boolean v)
        Set the value of reducedErrorPruning. Turns unpruned trees off if set.
        Parameters:
        v - Value to assign to reducedErrorPruning.
      • numFoldsTipText

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

        public int getNumFolds()
        Get the value of numFolds.
        Returns:
        Value of numFolds.
      • setNumFolds

        public void setNumFolds​(int v)
        Set the value of numFolds.
        Parameters:
        v - Value to assign to numFolds.
      • binarySplitsTipText

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

        public boolean getBinarySplits()
        Get the value of binarySplits.
        Returns:
        Value of binarySplits.
      • setBinarySplits

        public void setBinarySplits​(boolean v)
        Set the value of binarySplits.
        Parameters:
        v - Value to assign to binarySplits.
      • subtreeRaisingTipText

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

        public boolean getSubtreeRaising()
        Get the value of subtreeRaising.
        Returns:
        Value of subtreeRaising.
      • setSubtreeRaising

        public void setSubtreeRaising​(boolean v)
        Set the value of subtreeRaising.
        Parameters:
        v - Value to assign to subtreeRaising.
      • saveInstanceDataTipText

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

        public boolean getSaveInstanceData()
        Check whether instance data is to be saved.
        Returns:
        true if instance data is saved
      • setSaveInstanceData

        public void setSaveInstanceData​(boolean v)
        Set whether instance data is to be saved.
        Parameters:
        v - true if instance data is to be saved
      • main

        public static void main​(java.lang.String[] argv)
        Main method for testing this class
        Parameters:
        argv - the commandline options