Package weka.classifiers.trees
Class Id3
java.lang.Object
weka.classifiers.Classifier
weka.classifiers.trees.Id3
- All Implemented Interfaces:
Serializable
,Cloneable
,Sourcable
,CapabilitiesHandler
,OptionHandler
,RevisionHandler
,TechnicalInformationHandler
Class for constructing an unpruned decision tree based on the ID3 algorithm. Can only deal with nominal attributes. No missing values allowed. Empty leaves may result in unclassified instances. For more information see:
R. Quinlan (1986). Induction of decision trees. Machine Learning. 1(1):81-106. BibTeX:
R. Quinlan (1986). Induction of decision trees. Machine Learning. 1(1):81-106. BibTeX:
@article{Quinlan1986, author = {R. Quinlan}, journal = {Machine Learning}, number = {1}, pages = {81-106}, title = {Induction of decision trees}, volume = {1}, year = {1986} }Valid options are:
-D If set, classifier is run in debug mode and may output additional info to the console
- Version:
- $Revision: 6404 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
buildClassifier
(Instances data) Builds Id3 decision tree classifier.double
classifyInstance
(Instance instance) Classifies a given test instance using the decision tree.double[]
distributionForInstance
(Instance instance) Computes class distribution for instance using decision tree.Returns default capabilities of the classifier.Returns the revision string.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.Returns a string describing the classifier.static void
Main method.Returns a string that describes the classifier as source.toString()
Prints the decision tree using the private toString method from below.Methods inherited from class weka.classifiers.Classifier
debugTipText, forName, getDebug, getOptions, listOptions, makeCopies, makeCopy, setDebug, setOptions
-
Constructor Details
-
Id3
public Id3()
-
-
Method Details
-
globalInfo
Returns a string describing the classifier.- Returns:
- a description suitable for the GUI.
-
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 interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classClassifier
- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Builds Id3 decision tree classifier.- Specified by:
buildClassifier
in classClassifier
- Parameters:
data
- the training data- Throws:
Exception
- if classifier can't be built successfully
-
classifyInstance
Classifies a given test instance using the decision tree.- Overrides:
classifyInstance
in classClassifier
- Parameters:
instance
- the instance to be classified- Returns:
- the classification
- Throws:
NoSupportForMissingValuesException
- if instance has missing values
-
distributionForInstance
public double[] distributionForInstance(Instance instance) throws NoSupportForMissingValuesException Computes class distribution for instance using decision tree.- Overrides:
distributionForInstance
in classClassifier
- Parameters:
instance
- the instance for which distribution is to be computed- Returns:
- the class distribution for the given instance
- Throws:
NoSupportForMissingValuesException
- if instance has missing values
-
toString
Prints the decision tree using the private toString method from below. -
toSource
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:
where the arraypublic static double classify(Object[] i);
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.
Note: works only if class attribute is the last attribute in the dataset. -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifier
- Returns:
- the revision
-
main
Main method.- Parameters:
args
- the options for the classifier
-