CN2 is an instance of sequential covering algorithm family. It modifies standard Sequential Covering Algorithm in some points:
  • It learns rules that cover all classes of training examples.
  • It accepts rules with certain accuracy, hence it can handle noises.
  • Its Learn One Rule procedure is not dependend on any particular monitoring example.
  • It generates either ordered or unordered set of rules.

Ordered and Unordered set of rules

CN2 has a choice to generate ordered or unordered set of rules as their final result there are good and bad points in both options.
  • The unordered set look like:
    if A then Yes
    if B then No ....
  • If the example that satisfies A of the rule will be considered Yes, no matter the other rules. The advantage is that any rule alone makes some senses in the target function (set of rule). The disadvantage is that the rules may contradict to each other. For example, a rule reports a example to be Yes while another answers No.
  • The ordered set look like 
    if A then Yes 
    else if B then No
        else ...
  • This apparently overcomes the contradiction, however, any rule in the set alone does not make any sense. They only work when they are combined in that specific fashion.

 Developed by Canh Hao Nguyen and Hong Chung Nguyen.