Package weka.classifiers.rules
Class OneR
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.rules.OneR
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances instances)Generates the classifier.doubleclassifyInstance(Instance inst)Classifies a given instance.CapabilitiesgetCapabilities()Returns default capabilities of the classifier.intgetMinBucketSize()Get the value of minBucketSize.java.lang.String[]getOptions()Gets the current settings of the OneR classifier.java.lang.StringgetRevision()Returns the revision string.TechnicalInformationgetTechnicalInformation()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.java.lang.StringglobalInfo()Returns a string describing classifierjava.util.EnumerationlistOptions()Returns an enumeration describing the available options..static voidmain(java.lang.String[] argv)Main method for testing this classjava.lang.StringminBucketSizeTipText()Returns the tip text for this propertyweka.classifiers.rules.OneR.OneRRulenewNominalRule(Attribute attr, Instances data, int[] missingValueCounts)Create a rule branching on this nominal attribute.weka.classifiers.rules.OneR.OneRRulenewNumericRule(Attribute attr, Instances data, int[] missingValueCounts)Create a rule branching on this numeric attributeweka.classifiers.rules.OneR.OneRRulenewRule(Attribute attr, Instances data)Create a rule branching on this attribute.voidsetMinBucketSize(int v)Set the value of minBucketSize.voidsetOptions(java.lang.String[] options)Parses a given list of options.java.lang.StringtoSource(java.lang.String className)Returns a string that describes the classifier as source.java.lang.StringtoString()Returns a description of the classifier-
Methods inherited from class weka.classifiers.Classifier
debugTipText, distributionForInstance, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
classifyInstance
public double classifyInstance(Instance inst) throws java.lang.Exception
Classifies a given instance.- Overrides:
classifyInstancein classClassifier- Parameters:
inst- the instance to be classified- Returns:
- the classification of the instance
- Throws:
java.lang.Exception- if an error occurred during the prediction
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classClassifier- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances instances) throws java.lang.Exception
Generates the classifier.- Specified by:
buildClassifierin classClassifier- Parameters:
instances- the instances to be used for building the classifier- Throws:
java.lang.Exception- if the classifier can't be built successfully
-
newRule
public weka.classifiers.rules.OneR.OneRRule newRule(Attribute attr, Instances data) throws java.lang.Exception
Create a rule branching on this attribute.- Parameters:
attr- the attribute to branch ondata- the data to be used for creating the rule- Returns:
- the generated rule
- Throws:
java.lang.Exception- if the rule can't be built successfully
-
newNominalRule
public weka.classifiers.rules.OneR.OneRRule newNominalRule(Attribute attr, Instances data, int[] missingValueCounts) throws java.lang.Exception
Create a rule branching on this nominal attribute.- Parameters:
attr- the attribute to branch ondata- the data to be used for creating the rulemissingValueCounts- to be filled in- Returns:
- the generated rule
- Throws:
java.lang.Exception- if the rule can't be built successfully
-
newNumericRule
public weka.classifiers.rules.OneR.OneRRule newNumericRule(Attribute attr, Instances data, int[] missingValueCounts) throws java.lang.Exception
Create a rule branching on this numeric attribute- Parameters:
attr- the attribute to branch ondata- the data to be used for creating the rulemissingValueCounts- to be filled in- Returns:
- the generated rule
- Throws:
java.lang.Exception- if the rule can't be built successfully
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options..- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classClassifier- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses a given list of options. Valid options are:-B <minimum bucket size> The minimum number of objects in a bucket (default: 6).
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classClassifier- Parameters:
options- the list of options as an array of strings- Throws:
java.lang.Exception- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the OneR classifier.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classClassifier- Returns:
- an array of strings suitable for passing to setOptions
-
toSource
public java.lang.String toSource(java.lang.String className) throws java.lang.ExceptionReturns 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:
where the arraypublic static double classify(Object[] i);icontains elements that are either Double, String, with missing values represented as null. The generated code is public domain and comes with no warranty.
-
toString
public java.lang.String toString()
Returns a description of the classifier- Overrides:
toStringin classjava.lang.Object- Returns:
- a string representation of the classifier
-
minBucketSizeTipText
public java.lang.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 java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classClassifier- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class- Parameters:
argv- the commandline options
-
-