Algorytm CN2

Algorytm indukcji CN2 jest algorytmem uczącym się do indukcji reguł . Został zaprojektowany do pracy nawet wtedy, gdy dane treningowe są niedoskonałe. Opiera się na pomysłach algorytmu AQ i algorytmu ID3 . W konsekwencji tworzy zestaw reguł podobny do tego stworzonego przez AQ, ale jest w stanie obsłużyć hałaśliwe dane, takie jak ID3.

Opis algorytmu

Algorytm musi otrzymać zestaw przykładów TrainingSet, które zostały już sklasyfikowane w celu wygenerowania listy reguł klasyfikacyjnych. Zestaw warunków, SimpleConditionSet, który można zastosować samodzielnie lub w połączeniu z dowolnym zestawem przykładów, jest predefiniowany do wykorzystania w klasyfikacji.

 rutyna CN2(TrainingSet) niech ClassificationRuleList będzie pusta powtórz niech BestConditionExpression będzie Find_BestConditionExpression(TrainingSet) jeśli BestConditionExpression nie jest zerowe to niech TrainingSubset będzie przykładami objętymi przez BestConditionExpression usuń z TrainingSet przykłady w TrainingSubset niech MostCommonClass będzie najczęstsza klasa przykładów w TrainingSubset dołącz do ClassificationRuleList regułę 'jeśli ' the BestConditionExpression ' to klasą jest ' MostCommonClass dopóki TrainingSet nie będzie pusty lub BestConditionExpression będzie zerowe zwróć procedurę ClassificationRuleList Find_BestConditionExpression(TrainingSet) niech ConditionalExpressionSet będzie 
 pusty niech BestConditionExpression będzie zerowe, niech TrialConditionalExpressionSet będzie zbiorem wyrażeń warunkowych, {x i y, gdzie x należy do ConditionalExpressionSet, a y należy do SimpleConditionSet}. usuń wszystkie formuły w zestawie TrialConditionalExpressionSet, które znajdują się w zestawie ConditionalExpressionSet (tj. niewyspecjalizowane) lub null (np. big = y i big = n) dla każdego wyrażenia F w zestawie TrialConditionalExpressionSet, jeśli F jest statystycznie istotne, a F jest lepsze niż BestConditionExpression według kryteriów zdefiniowanych przez użytkownika podczas testowania na TrainingSet następnie zamień bieżącą wartość BestConditionExpression na F podczas gdy liczba wyrażeń w TrialConditionalExpressionSet > zdefiniowane przez użytkownika maksimum usuń najgorsze wyrażenie z TrialConditionalExpressionSet niech ConditionalExpressionSet będzie TrialConditionalExpressionSet do ConditionalExpressionSet jest pusty, zwróć BestConditionExpression  
  1. ^ Clark, P. i Niblett, T (1989) Algorytm indukcji CN2. Uczenie maszynowe 3(4):261-283.

Linki zewnętrzne