Minería de datos: clasificación basada en reglas

Reglas IF-THEN

El clasificador basado en reglas hace uso de un conjunto de reglas SI-ENTONCES para la clasificación. Podemos expresar una regla de la siguiente manera:

SI condición ENTONCES conclusión

Consideremos una regla R1,

R1: IF age = youth AND student = yes 
   THEN buy_computer = yes

Points to remember −

  • La parte SI de la regla se llama rule antecedent o precondition.

  • La parte ENTONCES de la regla se llama rule consequent.

  • La parte antecedente de la condición consta de una o más pruebas de atributo y estas pruebas son lógicamente AND.

  • La parte consiguiente consiste en la predicción de clases.

Note - También podemos escribir la regla R1 de la siguiente manera -

R1: (age = youth) ^ (student = yes))(buys computer = yes)

Si la condición se cumple para una tupla determinada, se cumple el antecedente.

Extracción de reglas

Aquí aprenderemos cómo construir un clasificador basado en reglas extrayendo reglas IF-THEN de un árbol de decisiones.

Points to remember −

Para extraer una regla de un árbol de decisiones:

  • Se crea una regla para cada ruta desde la raíz hasta el nodo hoja.

  • Para formar un antecedente de regla, cada criterio de división es lógicamente AND.

  • El nodo hoja contiene la predicción de clase, formando la regla consecuente.

Inducción de reglas usando algoritmo de cobertura secuencial

El algoritmo de cobertura secuencial se puede utilizar para extraer las reglas SI-ENTONCES de los datos de entrenamiento. No necesitamos generar primero un árbol de decisiones. En este algoritmo, cada regla de una clase determinada cubre muchas de las tuplas de esa clase.

Algunos de los algoritmos de cobertura secuenciales son AQ, CN2 y RIPPER. Según la estrategia general, las reglas se aprenden una a la vez. Por cada vez que se aprenden las reglas, se elimina una tupla cubierta por la regla y el proceso continúa para el resto de las tuplas. Esto se debe a que la ruta a cada hoja en un árbol de decisión corresponde a una regla.

Note - La inducción del árbol de decisión puede considerarse como el aprendizaje simultáneo de un conjunto de reglas.

El siguiente es el algoritmo de aprendizaje secuencial donde las reglas se aprenden para una clase a la vez. Al aprender una regla de una clase Ci, queremos que la regla cubra todas las tuplas de la clase C únicamente y ninguna tupla de ninguna otra clase.

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;

Poda de reglas

La regla se poda se debe a la siguiente razón:

  • La evaluación de la calidad se realiza sobre el conjunto original de datos de formación. La regla puede funcionar bien en los datos de entrenamiento, pero menos en los datos posteriores. Por eso se requiere la poda regla.

  • La regla se poda quitando conjunt. La regla R se poda, si la versión podada de R tiene una calidad mayor que la que se evaluó en un conjunto independiente de tuplas.

FOIL es uno de los métodos simples y efectivos para podar reglas. Para una regla R dada,

FOIL_Prune = pos - neg / pos + neg

donde pos y neg es el número de tuplas positivas cubiertas por R, respectivamente.

Note- Este valor aumentará con la precisión de R en el conjunto de poda. Por lo tanto, si el valor de FOIL_Prune es más alto para la versión podada de R, entonces podamos R.