- Year not given
CN2 and RIPPER algorithms
Short answer
CN2 grows rules by beam search, evaluating specializations with entropy and significance, producing an ordered list. RIPPER greedily adds conditions maximizing FOIL's information gain, prunes on a validation set, and optimizes the rule set. Evaluation measures include accuracy, Laplace estimate, m-estimate, FOIL's gain, and likelihood ratio statistic.
Describe CN2 and RIPPER algorithm for rule growing. What are the measures for Rule Evaluation?
Both algorithms learn rules by sequential covering: grow a rule for one class, remove the covered records, and repeat.
CN2
CN2 (Clark and Niblett) produces an ordered rule list (or unordered rules).
- Start with the most general rule
IF true THEN class. - Grow the rule by beam search: keep the best k (beam width) candidate rules; refine each by adding one attribute test (a "complex").
- Evaluate candidates by entropy (or Laplace accuracy); choose the one with the lowest entropy that is statistically significant (likelihood ratio test).
- Output the rule with the majority class of covered records, delete those records, repeat until no good rule is found; add a default rule.
RIPPER
RIPPER (Repeated Incremental Pruning to Produce Error Reduction, Cohen) works for two-class and multi-class data, ordering classes by frequency and learning from the least frequent.
- Grow a rule greedily from an empty rule, adding conditions with the best FOIL's information gain, until it covers no negative records.
- Prune the rule on a validation part of the data (delete trailing conditions to improve v = (p − n)/(p + n)).
- Add the rule; remove covered records; stop when the description length (MDL) of the rule set grows by more than a limit, or the error exceeds 50%.
- Optimise the rule set by revising or replacing each rule and keeping the better version.
Measures for rule evaluation
- Accuracy = n_correct/n_covers and coverage = n_covers/|D|.
- Laplace = (n_correct + 1)/(n_covers + k) for k classes.
- m-estimate = (n_correct + k·p)/(n_covers + k) with prior p.
- FOIL's information gain = p₁ (log₂ p₁/(p₁ + n₁) − log₂ p₀/(p₀ + n₀)), where p₀, n₀ are positive and negative records covered before, and p₁, n₁ after, adding the condition.
- Likelihood ratio statistic R = 2 Σ fᵢ log(fᵢ/eᵢ), used by CN2 for significance.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Rule based classifier; coverage and accuracy · Data Mining, chapter 3
- Sequential covering for rule induction · Data Mining, chapter 3
- Data types and classification of algorithms · Data Structure and Algorithm, chapter 1
- Measures of efficiency with standard curves · Data Structure and Algorithm, chapter 9
- DDA versus Bresenham line algorithm · Computer Graphics, chapter 2 · asked 6×
- Associative mapping and replacement algorithms · Computer Organization and Architecture, chapter 6 · asked 2×