Основанный на правилах классификатор использует набор правил IF-THEN для классификации. Мы можем выразить правило в следующем из —
Рассмотрим правило R1,
R1: IF age = youth AND student = yes THEN buy_computer = yes
Нужно помнить
-
IF часть правила называется antecedent или предварительное условие правила .
-
ТОГДА часть правила называется правилом последовательной .
-
Предыдущая часть условия состоит из одного или нескольких атрибутных тестов, и эти тесты логически объединяются.
-
Последующая часть состоит из предсказания класса.
IF часть правила называется antecedent или предварительное условие правила .
ТОГДА часть правила называется правилом последовательной .
Предыдущая часть условия состоит из одного или нескольких атрибутных тестов, и эти тесты логически объединяются.
Последующая часть состоит из предсказания класса.
Примечание. Мы также можем написать правило R1 следующим образом:
R1: (age = youth) ^ (student = yes))(buys computer = yes)
Если условие выполняется для данного кортежа, то предшествующий элемент удовлетворяется.
Правило извлечения
Здесь мы узнаем, как построить классификатор на основе правил, извлекая правила IF-THEN из дерева решений.
Нужно помнить
Чтобы извлечь правило из дерева решений —
-
Одно правило создается для каждого пути от корневого до конечного узла.
-
Чтобы сформировать предшествующее правило, каждый критерий разбиения логически AND.
-
Конечный узел содержит прогноз класса, формируя правило, являющееся следствием.
Одно правило создается для каждого пути от корневого до конечного узла.
Чтобы сформировать предшествующее правило, каждый критерий разбиения логически AND.
Конечный узел содержит прогноз класса, формируя правило, являющееся следствием.
Индукция правил с использованием алгоритма последовательного покрытия
Последовательный алгоритм покрытия может быть использован для извлечения IF-THEN правил из обучающих данных. Мы не требуем сначала создавать дерево решений. В этом алгоритме каждое правило для данного класса охватывает множество кортежей этого класса.
Некоторыми из последовательных алгоритмов покрытия являются AQ, CN2 и RIPPER. Согласно общей стратегии правила изучаются по одному. При каждом изучении правил кортеж, на который распространяется правило, удаляется, и процесс продолжается для остальных кортежей. Это связано с тем, что путь к каждому листу в дереве решений соответствует правилу.
Примечание . Индукцию дерева решений можно рассматривать как изучение набора правил одновременно.
Ниже приведен алгоритм последовательного обучения, в котором правила изучаются для одного класса за раз. При изучении правила из класса Ci мы хотим, чтобы правило охватывало все кортежи только из класса C, и никакой кортеж из какого-либо другого класса отсутствовал.
Algorithm: Sequential Covering Input: D, a data set class-labeled tuples, Att_vals, the set of all attributes and their possible values. Output: A Set of IF-THEN rules. Method: Rule_set={ }; // initial set of rules learned is empty for each class c do repeat Rule = Learn_One_Rule(D, Att_valls, c); remove tuples covered by Rule form D; until termination condition; Rule_set=Rule_set+Rule; // add a new rule to rule-set end for return Rule_Set;
Правило Обрезка
Правило сокращено по следующей причине —
-
Оценка качества производится по оригинальному набору обучающих данных. Правило может хорошо работать с данными обучения, но хуже с последующими данными. Вот почему правило обрезки обязательно.
-
Правило сокращено, удаляя соединение. Правило R сокращается, если сокращенная версия R имеет большее качество, чем то, что было оценено на независимом наборе кортежей.
Оценка качества производится по оригинальному набору обучающих данных. Правило может хорошо работать с данными обучения, но хуже с последующими данными. Вот почему правило обрезки обязательно.
Правило сокращено, удаляя соединение. Правило R сокращается, если сокращенная версия R имеет большее качество, чем то, что было оценено на независимом наборе кортежей.
FOIL — это один из простых и эффективных методов обрезки правил. Для данного правила R,
где pos и neg — число положительных кортежей, покрытых R, соответственно.
Примечание. Это значение будет увеличиваться с точностью R на наборе обрезки. Следовательно, если значение FOIL_Prune выше для сокращенной версии R, то мы сокращаем R.