Class IB1

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

    public class IB1
    extends Classifier
    implements UpdateableClassifier, TechnicalInformationHandler
    Nearest-neighbour classifier. Uses normalized Euclidean distance to find the training instance closest to the given test instance, and predicts the same class as this training instance. If multiple instances have the same (smallest) distance to the test instance, the first one found is used.

    For more information, see

    D. Aha, D. Kibler (1991). Instance-based learning algorithms. Machine Learning. 6:37-66.

    BibTeX:

     @article{Aha1991,
        author = {D. Aha and D. Kibler},
        journal = {Machine Learning},
        pages = {37-66},
        title = {Instance-based learning algorithms},
        volume = {6},
        year = {1991}
     }
     

    Valid options are:

     -D
      If set, classifier is run in debug mode and
      may output additional info to the console
    Version:
    $Revision: 5525 $
    Author:
    Stuart Inglis (singlis@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • IB1

        public IB1()
    • 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 - set of instances serving as training data
        Throws:
        java.lang.Exception - if the classifier has not been generated successfully
      • updateClassifier

        public void updateClassifier​(Instance instance)
                              throws java.lang.Exception
        Updates the classifier.
        Specified by:
        updateClassifier in interface UpdateableClassifier
        Parameters:
        instance - the instance to be put into the classifier
        Throws:
        java.lang.Exception - if the instance could not be included successfully
      • classifyInstance

        public double classifyInstance​(Instance instance)
                                throws java.lang.Exception
        Classifies the given test instance.
        Overrides:
        classifyInstance in class Classifier
        Parameters:
        instance - the instance to be classified
        Returns:
        the predicted class for the instance
        Throws:
        java.lang.Exception - if the instance can't be classified
      • 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.
      • 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).