Package weka.classifiers.rules

# Class OneR

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.rules.OneR

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Sourcable`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `TechnicalInformationHandler`

public class OneR extends Classifier 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: 9918 $
Author:
  Ian H. Witten (ihw@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## 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`
`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.Classifier

`debugTipText, distributionForInstance, forName, getDebug, makeCopies, makeCopy, setDebug`

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

Overrides:
  `classifyInstance` in class `Classifier`
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`
Overrides:
  `getCapabilities` in class `Classifier`
Returns:
  the capabilities of this classifier
See Also:
  - `Capabilities`

### buildClassifier

public void buildClassifier(Instances instances) throws Exception
Generates the classifier.

Specified by:
  `buildClassifier` in class `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 listOptions()
Returns an enumeration describing the available options..

Specified by:
  `listOptions` in interface `OptionHandler`
Overrides:
  `listOptions` in class `Classifier`
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 `Classifier`
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 `Classifier`
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 `Classifier`
Returns:
  the revision

### main

public static void main(String[] argv)
Main method for testing this class

Parameters:
  `argv` - the commandline options