Package weka.classifiers.rules

# Class OneR

java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.rules.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:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class weka.classifiers.AbstractClassifier

  `BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OneR()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildClassifier(Instances instances)`
  Generates the classifier.
  `double`
  `classifyInstance(Instance inst)`
  Classifies a given instance.
  `Capabilities`
  `getCapabilities()`
  Returns default capabilities of the classifier.
  `int`
  `getMinBucketSize()`
  Get the value of minBucketSize.
  `String[]`
  `getOptions()`
  Gets the current settings of the OneR classifier.
  `String`
  `getRevision()`
  Returns the revision string.
  `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.
  `String`
  `globalInfo()`
  Returns a string describing classifier
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options..
  `static void`
  `main(String[] argv)`
  Main method for testing this class
  `String`
  `minBucketSizeTipText()`
  Returns the tip text for this property
  `weka.classifiers.rules.OneR.OneRRule`
  `newNominalRule(Attribute attr, Instances data, int[] missingValueCounts)`
  Create a rule branching on this nominal attribute.
  `weka.classifiers.rules.OneR.OneRRule`
  `newNumericRule(Attribute attr, Instances data, int[] missingValueCounts)`
  Create a rule branching on this numeric attribute
  `weka.classifiers.rules.OneR.OneRRule`
  `newRule(Attribute attr, Instances data)`
  Create a rule branching on this attribute.
  `void`
  `setMinBucketSize(int v)`
  Set the value of minBucketSize.
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `String`
  `toSource(String className)`
  Returns a string that describes the classifier as source.
  `String`
  `toString()`
  Returns a description of the classifier

  ### Methods inherited from class weka.classifiers.AbstractClassifier

  `batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## 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:
      - `Capabilities`

  - ### 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