Class OneR

All Implemented Interfaces:
Serializable, Cloneable, Classifier, Sourcable, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class OneR extends AbstractClassifier implements TechnicalInformationHandler, Sourcable
Class for building and using a 1R classifier; in other words, uses the minimum-error attribute for prediction, discretizing numeric attributes. For more information, see:

R.C. Holte (1993). Very simple classification rules perform well on most commonly used datasets. Machine Learning. 11:63-91.

BibTeX:

 @article{Holte1993,
    author = {R.C. Holte},
    journal = {Machine Learning},
    pages = {63-91},
    title = {Very simple classification rules perform well on most commonly used datasets},
    volume = {11},
    year = {1993}
 }
 

Valid options are:

 -B <minimum bucket size>
  The minimum number of objects in a bucket (default: 6).
 
Version:
$Revision: 10153 $
Author:
Ian H. Witten (ihw@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • OneR

      public OneR()
  • 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
    • classifyInstance

      public double classifyInstance(Instance inst) throws Exception
      Classifies a given instance.
      Specified by:
      classifyInstance in interface Classifier
      Overrides:
      classifyInstance in class AbstractClassifier
      Parameters:
      inst - the instance to be classified
      Returns:
      the classification of the instance
      Throws:
      Exception - if an error occurred during the prediction
    • getCapabilities

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

      public void buildClassifier(Instances instances) throws Exception
      Generates the classifier.
      Specified by:
      buildClassifier in interface Classifier
      Parameters:
      instances - the instances to be used for building the classifier
      Throws:
      Exception - if the classifier can't be built successfully
    • newRule

      public weka.classifiers.rules.OneR.OneRRule newRule(Attribute attr, Instances data) throws Exception
      Create a rule branching on this attribute.
      Parameters:
      attr - the attribute to branch on
      data - the data to be used for creating the rule
      Returns:
      the generated rule
      Throws:
      Exception - if the rule can't be built successfully
    • newNominalRule

      public weka.classifiers.rules.OneR.OneRRule newNominalRule(Attribute attr, Instances data, int[] missingValueCounts) throws Exception
      Create a rule branching on this nominal attribute.
      Parameters:
      attr - the attribute to branch on
      data - the data to be used for creating the rule
      missingValueCounts - to be filled in
      Returns:
      the generated rule
      Throws:
      Exception - if the rule can't be built successfully
    • newNumericRule

      public weka.classifiers.rules.OneR.OneRRule newNumericRule(Attribute attr, Instances data, int[] missingValueCounts) throws Exception
      Create a rule branching on this numeric attribute
      Parameters:
      attr - the attribute to branch on
      data - the data to be used for creating the rule
      missingValueCounts - to be filled in
      Returns:
      the generated rule
      Throws:
      Exception - if the rule can't be built successfully
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options..
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class AbstractClassifier
      Returns:
      an enumeration of all the available options.
    • setOptions

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

      Valid options are:

       -B <minimum bucket size>
        The minimum number of objects in a bucket (default: 6).
       
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class AbstractClassifier
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

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

      public String toSource(String className) throws Exception
      Returns a string that describes the classifier as source. The classifier will be contained in a class with the given name (there may be auxiliary classes), and will contain a method with the signature:
       
       public static double classify(Object[] i);
       
       
      where the array i contains elements that are either Double, String, with missing values represented as null. The generated code is public domain and comes with no warranty.
      Specified by:
      toSource in interface Sourcable
      Parameters:
      className - the name that should be given to the source class.
      Returns:
      the object source described by a string
      Throws:
      Exception - if the souce can't be computed
    • toString

      public String toString()
      Returns a description of the classifier
      Overrides:
      toString in class Object
      Returns:
      a string representation of the classifier
    • minBucketSizeTipText

      public String minBucketSizeTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getMinBucketSize

      public int getMinBucketSize()
      Get the value of minBucketSize.
      Returns:
      Value of minBucketSize.
    • setMinBucketSize

      public void setMinBucketSize(int v)
      Set the value of minBucketSize.
      Parameters:
      v - Value to assign to minBucketSize.
    • getRevision

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

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