ID3 builds
a decision tree from a fixed set of examples.
The resulting tree is used to classify future
samples. The example has several attributes and
belongs to a class (like yes or no). The leaf
nodes of the decision tree contain the class name
whereas a non-leaf node is a decision node. The
decision node is an attribute test with each branch
(to another decision tree) being a possible value
of the attribute. ID3 uses information gain to
help it decide which attribute goes into a decision
node. The advantage of learning a decision tree
is that a program, rather than a knowledge engineer,
elicits knowledge from an expert.
J. Ross Quinlan originally developed ID3 at the
University of Sydney. He first presented ID3 in
1975 in a book, Machine Learning, vol. 1, no.
1. ID3 is based off the Concept Learning System
(CLS) algorithm.
ID3 is a
nonincremental algorithm, meaning it derives its
classes from a fixed set of training instances.
An incremental algorithm revises the current concept
definition, if necessary, with a new sample. The
classes created by ID3 are inductive, that is,
given a small set of training instances, the specific
classes created by ID3 are expected to work for
all future instances. The distribution of the
unknowns must be the same as the test cases. Induction
classes cannot be proven to work in every case
since they may classify an infinite number of
instances. Note that ID3 (or any inductive algorithm)
may misclassify data.
Dictionary
Requirements
The sample data used by ID3 has certain requirements,
which are:
Attribute-value description - the same attributes
must describe each example and have a fixed number
of values.
Predefined classes - an example's attributes must
already be defined, that is, they are not learned
by ID3.
Discrete classes - classes must be sharply delineated.
Continuous classes broken up into vague categories
such as a metal being "hard, quite hard,
flexible, soft, quite soft" are suspect.
Sufficient examples - since inductive generalization
is used (i.e. not provable) there must be enough
test cases to distinguish valid patterns from
chance occurrences.
<<
<<
Back to Dictionary
...........................
Decision tree
(IF-ELSE CODE)
|