The CN2 induction algorithm is a learning algorithm for rule induction.[1] It is designed to work even when the training data is imperfect. It is based on ideas from the AQ algorithm and the ID3 algorithm. As a consequence it creates a rule set like that created by AQ but is able to handle noisy data like ID3.

Description of algorithm

edit

The algorithm must be given a set of examples, TrainingSet, which have already been classified in order to generate a list of classification rules. A set of conditions, SimpleConditionSet, which can be applied, alone or in combination, to any set of examples is predefined to be used for the classification.

routine CN2(TrainingSet)
   let the ClassificationRuleList be empty
   repeat
      let the BestConditionExpression be Find_BestConditionExpression(TrainingSet)
      if the BestConditionExpression is not nil
         then
            let the TrainingSubset be the examples covered by the BestConditionExpression
            remove from the TrainingSet the examples in the TrainingSubset
            let the MostCommonClass be the most common class of examples in the TrainingSubset
            append to the ClassificationRuleList the rule
               'if ' the BestConditionExpression ' then the class is ' the MostCommonClass
   until the TrainingSet is empty or the BestConditionExpression is nil
return the ClassificationRuleList
routine Find_BestConditionExpression(TrainingSet)
   let the ConditionalExpressionSet be empty
   let the BestConditionExpression be nil
   repeat
      let the TrialConditionalExpressionSet be the set of conditional expressions,
         {x and y where x belongs to the ConditionalExpressionSet and y belongs to the SimpleConditionSet}.
      remove all formulae in the TrialConditionalExpressionSet that are either in the ConditionalExpressionSet (i.e.,
          the unspecialized ones) or null (e.g., big = y and big = n)
      for every expression, F, in the TrialConditionalExpressionSet
         if
            F is statistically significant
               and F is better than the BestConditionExpression
               by user-defined criteria when tested on the TrainingSet
            then
               replace the current value of the BestConditionExpression by F
      while the number of expressions in the TrialConditionalExpressionSet > user-defined maximum
         remove the worst expression from the TrialConditionalExpressionSet
      let the ConditionalExpressionSet be the TrialConditionalExpressionSet
   until the ConditionalExpressionSet is empty
return the BestConditionExpression

References

edit
  1. ^ Clark, P. and Niblett, T (1989) The CN2 induction algorithm. Machine Learning 3(4):261-283.
edit


📚 Artikel Terkait di Wikipedia

CN2

CN2 may refer to: CN2 algorithm for rule induction cn|2, a weather, sports and political news cable channel owned by Time Warner Cable in former Insight

List of artificial intelligence algorithms

Alternating decision tree Apriori algorithm Bayesian optimization Bootstrap aggregating BrownBoost C4.5 algorithm CN2 algorithm Constructing skill trees DBSCAN

Outline of machine learning

recurrent backpropagation ALOPEX Backpropagation Bootstrap aggregating CN2 algorithm Constructing skill trees Decision tree learning Dehaene–Changeux model

Rule induction

Programming Boolean decomposition (Feldman) Some rule induction algorithms are: Charade Rulex Progol CN2 Evangelos Triantaphyllou; Giovanni Felici (10 September

Dedekind–MacNeille completion

in the covering relation; it takes time O(cn2). In later work, the same authors showed that the algorithm could be made fully incremental (capable of

Astronomical seeing

rapidly The distribution of atmospheric seeing through the atmosphere (the CN2 profile described below) causes the image quality in adaptive optics systems

Ramsey's theorem

the complexity for searching all possible graphs (via brute force) is O(cn2) for c colourings and at most n nodes. The situation is unlikely to improve

Elliptic integral

for all |k| ≤ 1. To speed up computation further, the relation cn + 1 = ⁠cn2/4an + 1⁠ can be used. Furthermore, if k2 = λ(i√r) and r ∈ Q + {\displaystyle