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
UsageTo 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 valuesBefore 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
- Addition of rule post pruning
- A set of newer attribute selection functions
- Better method to define and use attributes with continous values
- 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!!!