decisiontree
This package provides an implementation of an algorithm that creates a decision tree.
It provides the following features
- Classification of multiple classes of instances
- Handling attributes with continuous values (A bit clunky for the timebeing)
- Function for selecting attributes can be modified by changing the *attribute-selection-function* variable
Usage
To train a decision tree call the function create-classifier
function. This function requires a list of training instances.
A training instance can be created by calling the macro define-instance.
This macro requires the first argument to be the name of the class to
which the instance belongs and the rest are list of attribute values.
The create-classifier returns the root
node of the decision tree. This inturn is used by
the classify function that classifies new
instances.
Continuous values
Before passing a list of continous values to
the create-classifier function the
continous values need to be removed. As of now this is what the
algorithm that I have written does.
- It sorts the instances based on the values of the attribute in
ascending order
- Then for every instance in the list it check the value of the
attribute and the class and identifies ranges where the classes are same
- It then replaces all the continuous values with symbols that were
idenified by the previous step
- It returns a list of ranges and the corresponding symbols
This is done by the
function generate-range-symbols. When
trying to classify any new instance the continuous values need to be
replaced, this is done by the
function replace-continuous-values. This
function requires the range list generated by
the generate-range-symbols function, the
instance and the attribute that is supposed to be continous
Todo
- Addition of rule post pruning
- A set of newer attribute selection functions
- Better method to define and use attributes with continous values
(requesting suggestions)
- I want to know if there is a means by which I can define
instances with continous values such that when defining new
instances the continous values are replaced automatically.
If there are any suggestions/bugs please mail me at reuben dot cornel at gmail dot com. Thank you!!!
Download ASDF package from http://rfcornel.freeshell.org/decisiontree-1.0.tar.gz
Artificial Intelligence
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively