Classifier systems play a major role in machine learning and knowledge-based systems, and Ross Quinlan's work on ID3 and C4.5 is widely acknowledged to have made some of the most significant contributions to their development. This book is a complete guide to the C4.5 system as implemented in C for the UNIX environment. It contains a comprehensive guide to the system's use , the source code (about 8,800 lines), and implementation notes. The source code and sample datasets are also available for download (see below).

C4.5 starts with large sets of cases belonging to known classes. The cases, described by any mixture of nominal and numeric properties, are scrutinized for patterns that allow the classes to be reliably discriminated. These patterns are then expressed as models, in the form of decision trees or sets of if-then rules, that can be used to classify new cases, with emphasis on making the models understandable as well as accurate. The system has been applied successfully to tasks involving tens of thousands of cases described by hundreds of properties. The book starts from simple core learning methods and shows how they can be elaborated and extended to deal with typical problems such as missing data and over hitting. Advantages and disadvantages of the C4.5 approach are discussed and illustrated with several case studies.

This book and software should be of interest to developers of classification-based intelligent systems and to students in machine learning and expert systems courses.

Table of Contents

C4.5: Programs for Machine Learning
by J. Ross Quinlan
    How to Obtain the C4.5 Software
    1 Introduction
      1.1 Example: Labor negotiation settlements
      1.2 Other kinds of classification models
      1.3 What lies ahead

    2 Constructing Decision Trees
      2.1 Divide and Conquer
      2.2 Evaluating tests
      2.3 Possible tests considered
      2.4 Tests on continuous attributes

    3 Unknown Attribute Values
      3.1 Adapting the previous algorithms
      3.2 Play/Don't Play example again
      3.3 Recapitulation

    4 Pruning Decision Trees
      4.1 When to simplify?
      4.2 Error-based pruning
      4.3 Example: Democrats and Republicans
      4.4 Estimating error rates for trees

    5 From Trees to Rules
      5.1 Generalizing single rules
      5.2 Class rulesets
      5.3 Ranking classes and choosing a default
      5.4 Summary

    6 Windowing
      6.1 Example: Hypothyroid conditions revisited
      6.2 Why retain windowing?
      6.3 Example: The multiplexor

    7 Grouping Attribute Values
      7.1 Finding value groups by merging
      7.2 Example: Soybean diseases
      7.3 When to form groups
      7.4 Example: The Monk's problems
      7.5 Uneasy reflections

About the author

J. Quinlan

J. Ross Quinlan, University of New South Wales