Clasificador basado en reglas: aprendizaje automático

Los clasificadores basados ​​en reglas son solo otro tipo de clasificador que hace que la decisión de la clase dependa del uso de varias reglas «if..else». Estas reglas son fácilmente interpretables y, por lo tanto, estos clasificadores generalmente se usan para generar modelos descriptivos. La condición utilizada con «si» se denomina antecedente y la clase predicha de cada regla se denomina consecuente

Propiedades de los clasificadores basados ​​en reglas: 
 

  • Cobertura: El porcentaje de registros que satisfacen las condiciones antecedentes de una regla particular.
  • Las reglas generadas por los clasificadores basados ​​en reglas generalmente no se excluyen mutuamente, es decir, muchas reglas pueden cubrir el mismo registro.
  • Las reglas generadas por los clasificadores basados ​​en reglas pueden no ser exhaustivas, es decir, puede haber algunos registros que no estén cubiertos por ninguna de las reglas.
  • Los límites de decisión creados por ellos son lineales, pero pueden ser mucho más complejos que el árbol de decisión porque muchas reglas se activan para el mismo registro.

Una pregunta obvia, que viene a la mente después de saber que las reglas no son mutuamente excluyentes, es cómo se decidiría la clase en caso de que diferentes reglas con diferentes consecuentes cubran el registro. 

Hay dos soluciones al problema anterior: 
 

  • Cualquiera de las reglas se puede ordenar , es decir, la clase correspondiente a la regla de mayor prioridad activada se toma como la clase final.
  • De lo contrario, podemos asignar votos para cada clase en función de algunos de sus pesos, es decir, las reglas quedan desordenadas.

Ejemplo: 
a continuación se muestra el conjunto de datos para clasificar los hongos como comestibles o venenosos: 

Clase Forma de tapa Superficie de la tapa Contusiones Olor Forma de tallo Población Hábitat
comestible plano escamoso anís estrechándose disperso pastos
venenoso convexo escamoso acre agrandando varios pastos
comestible convexo suave almendra agrandando numeroso pastos
comestible convexo escamoso almendra estrechándose disperso prados
comestible plano fibroso anís agrandando varios bosque
comestible plano fibroso no ninguna agrandando varios urbano
venenoso cónico escamoso acre agrandando disperso urbano
comestible plano suave anís agrandando numeroso prados
venenoso convexo suave acre agrandando varios urbano
Rules: 

Odour = pungent and habitat = urban -> Class = poisonous
Bruises = yes -> Class = edible : This rules covers both negative and positive records.

The given rules are not mutually exclusive.

Cómo generar una regla: 
 

Diagram to show sequential rule generation.

Generación de reglas secuenciales.

Las reglas se pueden generar utilizando un enfoque general a específico o un enfoque específico a general . En el enfoque general a específico , comience con una regla sin antecedentes y continúe agregándole condiciones hasta que veamos mejoras importantes en nuestras métricas de evaluación. Mientras que para el otro seguimos eliminando las condiciones de una regla que cubre un caso muy específico. La métrica de evaluación puede ser precisión, ganancia de información, relación de probabilidad, etc. 

Algoritmo para generar el modelo de forma incremental: 

El algoritmo que se muestra a continuación genera un modelo con reglas desordenadas y clases ordenadas, es decir, podemos decidir a qué clase dar prioridad mientras generamos las reglas. 

A <-Conjunto de atributos 
T <-Conjunto de registros de entrenamiento 
Y <-Conjunto de clases 
Y’ <-Y ordenadas según relevancia 
R <-Conjunto de reglas generadas, inicialmente a una lista vacía 
para cada clase y en Y’ 
mientras que el la mayoría de los registros de la clase y no están cubiertos 
generar una nueva regla para la clase y, usando los métodos dados anteriormente 
Agregar esta regla a R 
Eliminar los registros cubiertos por esta regla de T 
end while 
end for 
Agregar regla {}->y’ donde y’ es la clase predeterminada 
 

Clasificación de un registro: 
el algoritmo de clasificación que se describe a continuación asume que las reglas no están ordenadas y las clases están ponderadas. 

R <-Conjunto de reglas generadas mediante el entrenamiento Conjunto 
T <-Registro de prueba 
W <-nombre de clase para mapeo de peso, predefinido, dado como entrada 
F <-nombre de clase para mapeo de voto, generado para cada registro de prueba, que se calculará 
para cada regla r en R 
verifique si r cubre T, 
si es así, agregue W de predicted_class a F de predicted_class 
end para 
generar la clase con el voto calculado más alto en F 
 

Nota: El conjunto de reglas también se puede crear indirectamente mediante la poda (simplificación) de otros modelos ya generados, como un árbol de decisión.
 

Publicación traducida automáticamente

Artículo escrito por SauravVirmani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *