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 | sí | anís | estrechándose | disperso | pastos |
venenoso | convexo | escamoso | sí | acre | agrandando | varios | pastos |
comestible | convexo | suave | sí | almendra | agrandando | numeroso | pastos |
comestible | convexo | escamoso | sí | almendra | estrechándose | disperso | prados |
comestible | plano | fibroso | sí | anís | agrandando | varios | bosque |
comestible | plano | fibroso | no | ninguna | agrandando | varios | urbano |
venenoso | cónico | escamoso | sí | acre | agrandando | disperso | urbano |
comestible | plano | suave | sí | anís | agrandando | numeroso | prados |
venenoso | convexo | suave | sí | 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:
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