Алгоритм CN2
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2012 г. ) |
Алгоритм индукции CN2 — это алгоритм обучения индукции правил . [ 1 ] Он предназначен для работы, даже если данные обучения несовершенны. Он основан на идеях алгоритма AQ и алгоритма ID3 . Как следствие, он создает набор правил, аналогичный созданному AQ, но может обрабатывать зашумленные данные, такие как ID3.
Описание алгоритма
[ редактировать ]Алгоритму необходимо предоставить набор примеров TrainingSet, которые уже классифицированы, чтобы сгенерировать список правил классификации. Набор условий SimpleConditionSet, который можно применять отдельно или в комбинации к любому набору примеров, предварительно определен для использования в классификации.
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
Ссылки
[ редактировать ]- ^ Кларк, П. и Ниблетт, Т (1989) Алгоритм индукции CN2. Машинное обучение 3(4):261-283.
Внешние ссылки
[ редактировать ]