Class IB1

All Implemented Interfaces:
Serializable, 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:
  • Constructor Details

    • IB1

      public IB1()
  • Method Details

    • globalInfo

      public 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
    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class Classifier
      Returns:
      the capabilities of this classifier
      See Also:
    • buildClassifier

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

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

      public double classifyInstance(Instance instance) throws 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:
      Exception - if the instance can't be classified
    • toString

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

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class Classifier
      Returns:
      the revision
    • main

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