Class NNge

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, UpdateableClassifier, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

    public class NNge
    extends Classifier
    implements UpdateableClassifier, OptionHandler, TechnicalInformationHandler
    Nearest-neighbor-like algorithm using non-nested generalized exemplars (which are hyperrectangles that can be viewed as if-then rules). For more information, see

    Brent Martin (1995). Instance-Based learning: Nearest Neighbor With Generalization. Hamilton, New Zealand.

    Sylvain Roy (2002). Nearest Neighbor With Generalization. Christchurch, New Zealand.

    BibTeX:

     @mastersthesis{Martin1995,
        address = {Hamilton, New Zealand},
        author = {Brent Martin},
        school = {University of Waikato},
        title = {Instance-Based learning: Nearest Neighbor With Generalization},
        year = {1995}
     }
     
     @unpublished{Roy2002,
        address = {Christchurch, New Zealand},
        author = {Sylvain Roy},
        school = {University of Canterbury},
        title = {Nearest Neighbor With Generalization},
        year = {2002}
     }
     

    Valid options are:

     -G <value>
      Number of attempts of generalisation.
     
     -I <value>
      Number of folder for computing the mutual information.
     
    Version:
    $Revision: 5529 $
    Author:
    Brent Martin (bim20@cosc.canterbury.ac.nz), Sylvain Roy (sro33@student.canterbury.ac.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • NNge

        public NNge()
    • 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 data)
                             throws java.lang.Exception
        Generates a classifier. Must initialize all fields of the classifier that are not being set via options (ie. multiple calls of buildClassifier must always lead to the same result). Must not change the dataset in any way.
        Specified by:
        buildClassifier in class 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 instance)
                                throws java.lang.Exception
        Classifies a given instance.
        Overrides:
        classifyInstance in class Classifier
        Parameters:
        instance - the instance to be classified
        Returns:
        index of the predicted class as a double
        Throws:
        java.lang.Exception - if instance could not be classified successfully
      • updateClassifier

        public void updateClassifier​(Instance instance)
                              throws java.lang.Exception
        Updates the classifier using the given instance.
        Specified by:
        updateClassifier in interface UpdateableClassifier
        Parameters:
        instance - the instance to include
        Throws:
        java.lang.Exception - if instance could not be incorporated successfully
      • toString

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

        public java.util.Enumeration listOptions()
        Returns an enumeration of all the available options..
        Specified by:
        listOptions in interface OptionHandler
        Overrides:
        listOptions in class Classifier
        Returns:
        an enumeration of all available options.
      • setOptions

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Sets the OptionHandler's options using the given list. All options will be set (or reset) during this call (i.e. incremental setting of options is not possible).

        Valid options are:

         -G <value>
          Number of attempts of generalisation.
         
         -I <value>
          Number of folder for computing the mutual information.
         
        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 option settings for the OptionHandler.
        Specified by:
        getOptions in interface OptionHandler
        Overrides:
        getOptions in class Classifier
        Returns:
        the list of current option settings as an array of strings
      • numAttemptsOfGeneOptionTipText

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

        public int getNumAttemptsOfGeneOption()
        Gets the number of attempts for generalisation.
        Returns:
        the value of the option G
      • setNumAttemptsOfGeneOption

        public void setNumAttemptsOfGeneOption​(int newIntParameter)
        Sets the number of attempts for generalisation.
        Parameters:
        newIntParameter - the new value.
      • numFoldersMIOptionTipText

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

        public int getNumFoldersMIOption()
        Gets the number of folder for mutual information.
        Returns:
        the value of the option I
      • setNumFoldersMIOption

        public void setNumFoldersMIOption​(int newIntParameter)
        Sets the number of folder for mutual information.
        Parameters:
        newIntParameter - the new value.
      • main

        public static void main​(java.lang.String[] argv)
        Main method for testing this class.
        Parameters:
        argv - should contain command line arguments for evaluation (see Evaluation).