CN2 algoritm
CN2 -induktionsalgoritmen är en inlärningsalgoritm för regelinduktion . Den är designad för att fungera även när träningsdatan är ofullständig. Den är baserad på idéer från AQ-algoritmen och ID3-algoritmen . Som en konsekvens skapar den en regeluppsättning som den som skapas av AQ men kan hantera bullriga data som ID3.
Beskrivning av algoritm
Algoritmen måste ges en uppsättning exempel, TrainingSet, som redan har klassificerats för att generera en lista med klassificeringsregler. En uppsättning villkor, SimpleConditionSet, som kan tillämpas, ensamma eller i kombination, på valfri uppsättning exempel är fördefinierade för att användas för klassificeringen.
rutin CN2(TrainingSet) låt ClassificationRuleList vara tom upprepa låt BestConditionExpression vara Find_BestConditionExpression(TrainingSet) om BestConditionExpression inte är noll, låt TrainingSubset vara exemplen som täcks av BestConditionExpression ta bort från TrainingSet exemplen i TrainingSubset låt MostCommonClass vara vanligaste klassen av exempel i TrainingSubset lägg till i ClassificationRuleList regeln 'if' the BestConditionExpression ' så är klassen ' the MostCommonClass tills TrainingSet är tom eller BestConditionExpression är noll returnera ClassificationRuleList-rutinen Find_BestConditionExpression(TrainingSet) låt ConditionalExpressionSet vara
tomt låt BestConditionalExpression vara noll upprepa låt TrialConditionalExpressionSet vara uppsättningen av villkorliga uttryck, {x och y där x tillhör ConditionalExpressionSet och y tillhör SimpleConditionSet}. ta bort alla formler i TrialConditionalExpressionSet som antingen finns i ConditionalExpressionSet (dvs de ospecialiserade) eller null (t.ex. big = y och big = n) för varje uttryck, F, i TrialConditionalExpressionSet om F är statistiskt signifikant och F är bättre än BestConditionalExpressionSet efter användardefinierade kriterier när det testas på TrainingSet, ersätt sedan det nuvarande värdet av BestConditionalExpression med F medan antalet uttryck i TrialConditionalExpressionSet > användardefinierat maximum tar bort det sämsta uttrycket från TrialConditionalExpressionSet låt ConditionalExpressionSet vara TrialConditionalExpressionSet tills ConditionalExpressionSet är tomt returnera BestConditionExpression
- ^ Clark, P. och Niblett, T (1989) CN2-induktionsalgoritmen. Machine Learning 3(4):261-283.
externa länkar