📐 10. Sistemas Basados en Reglas

Ejemplos: RuleFit, Árboles de Decisión con reglas, lógica difusa.
Uso: Estos sistemas son ideales cuando la interpretabilidad es absolutamente crucial, como en decisiones legales o médicas donde entender el “porqué” es tan importante como el “qué”. También son perfectos para incorporar conocimiento experto humano directamente en el modelo.
Ventajas: Son notablemente fáciles de entender y auditar, lo que los hace transparentes y confiables en entornos regulados.
Limitaciones: Su principal desventaja es que no suelen ser tan precisos como otros métodos más complejos cuando se enfrentan a datos muy intrincados o patrones no lineales.


Associative Classification (e.g., CBA, CMAR, FP-Growth based methods)

CN2 Algorithm

Decision List/Decision Tree to Rules

Decision Rules

Las Reglas de Decisión no son un algoritmo de Machine Learning en sí mismas, sino una forma de representar un modelo predictivo que es altamente interpretable y fácil de entender. Son una de las formas más intuitivas de expresar el conocimiento extraído de los datos. Una regla de decisión típicamente toma la forma de una declaración “SI-ENTONCES” (IF-THEN), donde la parte “SI” (antecedente) describe las condiciones que deben cumplirse y la parte “ENTONCES” (consecuente) especifica la predicción o la acción a tomar.

Estructura de una Regla de Decisión:

Una regla de decisión básica tiene la siguiente forma:

SI condición 1 Y condición 2 YY condición N ENTONCES predicción / clase / valor

Ejemplos:

  • Para Clasificación:
    • SI Edad > 30 Y Ingreso < 50,000 ENTONCES Clase: Riesgo Bajo
    • SI Clima = Soleado Y Humedad > 70% ENTONCES Acción: No Jugar Tenis
  • Para Regresión:
    • SI Tamaño_Casa > 150 m² Y Num_Habitaciones = 3 ENTONCES Precio_Estimado: $300,000

Características Clave:

  • Interpretabilidad: Son inherentemente fáciles de entender por los humanos, incluso por aquellos sin conocimientos técnicos profundos.
  • Modularidad: Un modelo completo puede estar compuesto por un conjunto de reglas. Cada regla es independiente y fácil de examinar.
  • No Linealidad: Aunque cada regla es una declaración lógica simple, un conjunto de reglas puede modelar relaciones no lineales complejas en los datos, ya que cada regla cubre una región diferente del espacio de características.
  • Selección de Características Implícita: Al construir reglas, solo las características relevantes para la condición se incluyen, lo que realiza una selección implícita de características.
  • Robustez: A menudo son bastante robustas a los outliers y a los datos ruidosos si las reglas se derivan y podan correctamente.

Algoritmos que Generan Reglas de Decisión:

Si bien las reglas de decisión son la forma de representación, varios algoritmos de Machine Learning se especializan en aprender estas reglas a partir de los datos:

  • Árboles de Decisión: Cada ruta desde la raíz hasta una hoja en un árbol de decisión se puede traducir directamente en una regla de decisión.
  • Algoritmos Basados en Reglas:
    • OneR: Genera una única regla basada en el atributo más predictivo.
    • RIPPER: Produce conjuntos de reglas optimizados para la clasificación, con énfasis en la poda y la simplicidad.
    • RuleFit: Combina reglas extraídas de ensamblajes de árboles con características originales en un modelo lineal regularizado.
  • Sistemas de Lógica Difusa: Utilizan reglas difusas para manejar la incertidumbre y la imprecisión.

Aprendizaje Global vs. Local:

Los modelos basados en Reglas de Decisión combinan de manera muy efectiva aspectos de aprendizaje global y local.

  • Aspecto Local (Cada Regla Individual):
    • Cada regla de decisión es intrínsecamente local. Define una región específica (un subespacio, a menudo un hiperrectángulo) en el espacio de características. Dentro de esta región, la regla hace una predicción particular. Por ejemplo, la regla “SI Edad > 30 Y Ingreso < 50,000” solo se aplica a un subconjunto específico de instancias.
    • La naturaleza “local” de cada regla permite al modelo adaptarse a relaciones no lineales y complejas. Diferentes reglas pueden activarse en distintas partes del espacio de datos, capturando patrones que varían significativamente de una región a otra, similar a una “regresión (o clasificación) ponderada localmente” donde cada regla representa un modelo simple para su región.
  • Aspecto Global (El Conjunto de Reglas):
    • Aunque las reglas individuales son locales, el conjunto completo de reglas que conforma el modelo se aplica para cubrir todo el espacio de características relevante. Este conjunto de reglas forma un modelo predictivo global que puede clasificar o predecir un valor para cualquier nueva instancia.
    • Los algoritmos que generan estos conjuntos de reglas (como RIPPER) a menudo optimizan la colección de reglas para un rendimiento global, buscando un equilibrio entre la precisión y la complejidad del modelo en su conjunto.
Guía rápida para elegir decision rules
Decision Rules
Criterio Aplica Detalles
Tipo de modelo ✅ Supervisado (clasificación o regresión) Modelos que usan reglas lógicas para realizar predicciones, fácilmente entendibles.
Variable respuesta ✅ Numérica o categórica Permite predecir tanto clases (clasificación) como valores numéricos (regresión).
Variables predictoras ✅ Numéricas y categóricas Acepta tanto variables categóricas como numéricas como predictores.
Relación entre variables ✅ Basado en reglas (if-then) que segmentan el espacio predictor Segmenta el espacio en regiones mediante reglas que dividen las variables predictoras.
Normalidad de residuos ❌ No aplica directamente (no es un modelo paramétrico) No genera residuos ni supone distribución de error como modelos paramétricos.
Independencia de errores ⚠️ Asume independencia de observaciones Las reglas asumen que las observaciones son independientes.
Homoscedasticidad ❌ No aplica No aplica homoscedasticidad porque no es un modelo estadístico clásico.
Sensible a outliers ⚠️ Moderadamente sensible, outliers pueden crear reglas poco útiles Outliers pueden influir en la generación de reglas, creando reglas poco generalizables.
Multicolinealidad entre predictores ⚠️ No afecta directamente, pero reglas redundantes pueden complicar modelo La multicolinealidad no afecta directamente, pero puede generar reglas redundantes.
Interpretabilidad ✅ Muy interpretable, reglas claras y simples La fortaleza es la interpretabilidad clara y sencilla de las reglas obtenidas.
Velocidad y eficiencia ✅ Rápido para datasets pequeños y medianos Generalmente eficiente, pero depende del número de reglas y complejidad del dataset.
Validación cruzada ✅ Compatible con validación cruzada Se recomienda validar con métodos como k-fold para evitar sobreajuste.
No funciona bien si... ❌ Puede sobreajustar si hay mucho ruido o datos muy complejos No es ideal para datasets con mucho ruido o cuando la relación es muy compleja o sutil.
Fuente: Elaboración propia

Lógica Difusa (Fuzzy Logic)

La Lógica Difusa (Fuzzy Logic) no es un algoritmo de Machine Learning en sí mismo, sino un paradigma de computación basado en la noción de “grado de verdad” en lugar de los valores binarios “verdadero o falso” (1 o 0) de la lógica booleana clásica. Permite modelar el razonamiento humano, que a menudo involucra información imprecisa, ambigua o vaga. Es un marco para representar y manipular el conocimiento que es inherentemente incierto o subjetivo.

La idea central de la lógica difusa es que un elemento puede pertenecer a un conjunto en un cierto grado (entre 0 y 1), en lugar de pertenecer completamente o no pertenecer en absoluto. Por ejemplo, una persona puede ser “alta” en un grado de 0.8 y “mediana” en un grado de 0.2, en lugar de ser estrictamente alta o estrictamente mediana.

Los componentes clave de un sistema de lógica difusa suelen incluir:

  1. Conjuntos Difusos (Fuzzy Sets): Definen el grado de pertenencia de un elemento a una categoría. Por ejemplo, un conjunto difuso para “temperatura alta” podría tener una función de pertenencia que asigne un valor de 0 a 10 grados, 0.5 a 20 grados, y 1 a 30 grados.
  2. Variables Lingüísticas: Son variables cuyos valores son palabras o oraciones del lenguaje natural (ej., “temperatura”, cuyos valores pueden ser “frío”, “tibio”, “caliente”).
  3. Funciones de Pertenencia (Membership Functions): Gráficos que definen matemáticamente el grado de pertenencia de un elemento a un conjunto difuso.
  4. Reglas Difusas (Fuzzy Rules): Reglas de tipo “SI-ENTONCES” que utilizan variables lingüísticas y conjuntos difusos. Por ejemplo: “SI la temperatura es caliente Y la humedad es alta ENTONCES la velocidad del ventilador es rápida”.
  5. Fuzificación: Proceso de convertir valores de entrada nítidos (crisp inputs) en grados de pertenencia a conjuntos difusos.
  6. Motor de Inferencia: Aplica las reglas difusas para producir una salida difusa.
  7. Defuzificación: Proceso de convertir la salida difusa en un valor de salida nítido (crisp output) que pueda ser utilizado en el mundo real.

La lógica difusa es ampliamente utilizada en sistemas de control (ej., lavadoras, sistemas de frenos ABS, cámaras de video), sistemas expertos y en el procesamiento de información imprecisa.

Aprendizaje Global vs. Local:

La Lógica Difusa, como paradigma, tiene la capacidad de integrar aspectos de modelado global y local, dependiendo de cómo se implemente y se “entrene” (o sintonice).

  • Aspecto Local (Granularidad de las Reglas y Conjuntos Difusos):
    • Las reglas difusas operan sobre condiciones locales (ej., “SI la temperatura es caliente”). Cada regla cubre una porción específica del espacio de entrada/salida. Los conjuntos difusos y sus funciones de pertenencia particionan el espacio de características en regiones “borrosas” o traslapadas, lo que permite que el modelo se adapte a las características de los datos en vecindarios específicos. Es decir, la respuesta del sistema se construye a partir de la activación ponderada de varias reglas locales, cada una representando un comportamiento en una región del espacio de entrada. Esto es muy similar a una “regresión ponderada localmente”, donde la contribución de cada regla (o modelo implícito) se pondera por el grado en que la entrada actual pertenece a la región de esa regla. Esta granularidad y superposición le permiten manejar relaciones no lineales y complejas al aproximarlas con una combinación de estas contribuciones locales.
  • Aspecto Global (Coherencia del Sistema y Cobertura):
    • Aunque las reglas son locales, un sistema de lógica difusa bien diseñado cubre todo el espacio de entrada relevante y proporciona una respuesta global coherente. El conjunto de todas las reglas y funciones de pertenencia, junto con el motor de inferencia, forma un sistema global que puede mapear cualquier entrada a una salida. La defuzificación final produce un valor nítido que es el resultado de la combinación de todas las activaciones de las reglas.
  • Aprendizaje y Sintonización: Cuando se combinan con técnicas de Machine Learning (como redes neuronales o algoritmos genéticos), los sistemas difusos pueden “aprender” o “sintonizar” sus funciones de pertenencia y reglas. Este proceso de aprendizaje puede optimizar el rendimiento del sistema a nivel global (minimizando un error general), pero los ajustes siguen afectando las propiedades locales de las reglas y conjuntos difusos.
Guía rápida para elegir decision fuzzy rules
Fuzzy Rules
Criterio Aplica Detalles
Tipo de modelo ✅ Supervisado o no supervisado (depende del sistema) Sistemas que usan lógica difusa para manejar incertidumbre y aproximación en los datos.
Variable respuesta ✅ Variables de salida pueden ser continuas o categóricas (fuzzy sets) Las variables respuesta pueden ser valores continuos o categorías definidas mediante conjuntos difusos.
Variables predictoras ✅ Variables numéricas o categóricas, modeladas como grados de pertenencia Los predictores se transforman en grados de pertenencia a conjuntos difusos para evaluar reglas.
Relación entre variables ✅ Modela relaciones imprecisas, no binarias, usando lógica difusa Permite modelar relaciones vagamente definidas, imprecisas o con fronteras difusas.
Normalidad de residuos ❌ No aplica (no modelo estadístico tradicional) No se basa en supuestos estadísticos clásicos, por eso no aplica normalidad.
Independencia de errores ⚠️ Puede asumir independencia pero depende del diseño del sistema La independencia depende de cómo se diseñen las reglas y sistemas difusos.
Homoscedasticidad ❌ No aplica No es un modelo paramétrico clásico, por eso homoscedasticidad no aplica.
Sensible a outliers ⚠️ Moderadamente sensible, depende de la función de membresía Outliers pueden afectar las funciones de pertenencia y la lógica aplicada.
Multicolinealidad entre predictores ⚠️ No afecta directamente pero variables correlacionadas pueden complicar reglas Variables altamente correlacionadas pueden hacer que las reglas sean redundantes o complejas.
Interpretabilidad ✅ Interpretación basada en reglas lingüísticas y grados de verdad Los resultados se interpretan mediante reglas tipo 'Si... entonces...' con grados de verdad.
Velocidad y eficiencia ⚠️ Puede ser lento con muchos conjuntos difusos y reglas complejas La complejidad crece con número de variables y reglas, afectando velocidad.
Validación cruzada ⚠️ Validación cruzada posible, pero no estándar en lógica difusa Validar es menos estándar, se usan métodos específicos según la aplicación.
No funciona bien si... ❌ No es adecuado si los datos son muy exactos y no presentan incertidumbre No es útil para datos precisos donde no existe incertidumbre o imprecisión.
Fuente: Elaboración propia

Minsky’s Perceptron

One Rule (OneR)

One Rule (OneR) es un algoritmo de clasificación supervisada notable por su simplicidad y alta interpretabilidad. Fue propuesto por Robert Holte en 1993 y, a pesar de su sencillez, a menudo logra una precisión sorprendentemente buena en comparación con algoritmos mucho más complejos, sirviendo como una excelente línea base (benchmark) para el rendimiento del modelo.

La idea central de OneR es construir un clasificador que se base en una única regla para tomar decisiones. Esta regla se deriva de un solo atributo (característica) del conjunto de datos que es el más predictivo de la clase de salida.

El funcionamiento del algoritmo OneR es el siguiente:

  1. Iterar a Través de Cada Atributo: Para cada atributo en el conjunto de datos de entrenamiento (se asume que los atributos son categóricos; si son continuos, primero deben discretizarse):
    • Crear una Regla para Cada Valor: Para cada valor único que puede tomar ese atributo, se construye una regla.
    • Encontrar la Clase Más Frecuente: Para cada una de estas reglas, se cuenta cuántas veces aparece cada clase de destino cuando el atributo toma ese valor. La clase que ocurre con mayor frecuencia se convierte en la predicción para esa regla.
    • Calcular el Error de la Regla: Se calcula el número de errores que comete esta regla (es decir, el número de instancias para las cuales la clase predicha no coincide con la clase real).
  2. Seleccionar el Mejor Atributo: Una vez que se han generado reglas y calculado los errores para todos los atributos, OneR selecciona el atributo (y su conjunto de reglas asociadas) que tiene el menor error total. Si hay un empate entre varios atributos, se puede elegir el primero o usar un criterio secundario (como el test de chi-cuadrado).
  3. El Modelo Final: El conjunto de reglas derivado de este atributo seleccionado se convierte en el modelo final de clasificación.

Por ejemplo, si tenemos un atributo “Clima” con valores “Soleado”, “Nublado”, “Lluvioso” y una clase “Jugar al Golf” (Sí/No): * Si Clima = Soleado: La mayoría juega golf (Sí). Error: 2 (de 5) * Si Clima = Nublado: La mayoría juega golf (Sí). Error: 0 (de 4) * Si Clima = Lluvioso: La mayoría NO juega golf (No). Error: 1 (de 5) * Error total para “Clima” = 2 + 0 + 1 = 3.

Este proceso se repetiría para otros atributos como “Temperatura”, “Humedad”, etc., y el atributo con el menor error total sería el elegido.

Aprendizaje Global vs. Local:

One Rule (OneR) es un modelo de aprendizaje fundamentalmente global, aunque la regla que aprende implica una partición del espacio de características.

  • Aspecto Global: OneR evalúa todos los atributos en su totalidad y selecciona el único atributo que es globalmente el más predictivo para la tarea de clasificación sobre todo el conjunto de datos. La regla elegida y sus condiciones se aplican uniformemente a cualquier nueva instancia en el espacio de características. No se construyen modelos separados o locales para diferentes regiones del espacio de características. El algoritmo busca la mejor regla única que resuma el patrón más fuerte en todos los datos.

  • Partición del Espacio (Reglas): Aunque el modelo es global, la “regla” que genera sí que particiona el espacio de características. Por ejemplo, si el atributo seleccionado es “Color” y tiene valores “Rojo”, “Azul”, “Verde”, el modelo crea una regla para cada uno de estos valores. Esto crea “regiones” en el espacio de datos (instancias donde Color=Rojo, donde Color=Azul, etc.). Sin embargo, la predicción dentro de cada una de estas regiones es simplemente la clase mayoritaria observada en esa región, y el modelo en su conjunto es una única estructura de decisión global basada en ese único atributo. No es un ajuste dinámico o ponderado localmente de parámetros como en otros modelos de aprendizaje local.

Guía rápida para elegir decision OneR
One Rule (OneR)
Criterio Aplica Detalles
Tipo de modelo ✅ Supervisado (clasificación) Modelo supervisado para clasificación basado en la regla más simple y efectiva de un solo predictor.
Variable respuesta ✅ Variable respuesta categórica (clases) Predice la clase de salida basándose en el valor de una única variable predictora.
Variables predictoras ✅ Variables predictoras numéricas o categóricas Acepta variables categóricas o numéricas (estas se discretizan para generar reglas).
Relación entre variables ✅ Relación simple basada en una sola regla (una variable predictora) Genera una regla simple: 'Si predictor X tiene valor Y, entonces clase Z'.
Normalidad de residuos ❌ No aplica (no es modelo estadístico paramétrico) No es un modelo paramétrico ni estadístico tradicional, no evalúa residuos.
Independencia de errores ❌ No aplica No considera errores ni supuestos de independencia.
Homoscedasticidad ❌ No aplica No aplica el supuesto de homoscedasticidad.
Sensible a outliers ⚠️ Puede ser sensible a outliers si afectan la regla Outliers pueden influir si cambian la regla seleccionada.
Multicolinealidad entre predictores ⚠️ No afecta directamente (usa solo una variable para la regla) Como usa solo un predictor, la multicolinealidad no es un problema.
Interpretabilidad ✅ Muy interpretable: una regla sencilla basada en un solo predictor Fácil de entender y explicar, ideal para explicar decisiones simples.
Velocidad y eficiencia ✅ Muy rápido y eficiente, especialmente en datasets pequeños o medianos Muy rápido de entrenar y evaluar, útil para benchmarks o como baseline.
Validación cruzada ✅ Se puede usar validación cruzada para evaluar rendimiento Se recomienda evaluar mediante validación cruzada para evitar sobreajuste.
No funciona bien si... ❌ No funciona bien si las relaciones son complejas y requieren múltiples variables No es útil para problemas que requieren modelar interacciones complejas entre variables.
Fuente: Elaboración propia

Repeated Incremental Pruning to Produce Error Reduction (RIPPER)

RIPPER (Repeated Incremental Pruning to Produce Error Reduction) es un algoritmo de clasificación supervisada muy conocido, desarrollado por William W. Cohen. Es una extensión del algoritmo de reglas IREP y es especialmente valorado por su capacidad para generar conjuntos de reglas de clasificación precisos y de alta calidad que son a menudo más simples e interpretables que los modelos de árbol de decisión complejos, al tiempo que es muy eficiente en términos computacionales, incluso con grandes conjuntos de datos.

RIPPER construye un conjunto de reglas IF-THEN para cada clase de forma secuencial. Opera con un enfoque de “divide y vencerás”, pero con un fuerte énfasis en la poda (pruning) para evitar el sobreajuste.

El proceso general de RIPPER para construir reglas para una clase específica es el siguiente:

  1. Generación de Reglas (Growing):
    • Comienza con una regla vacía.
    • Añade términos (condiciones) a la regla que maximicen alguna métrica de calidad (por ejemplo, el ratio de ganancia de información) hasta que la regla cubre un cierto número de ejemplos positivos (ejemplos de la clase actual) y pocos ejemplos negativos.
  2. Poda de Reglas (Pruning):
    • Una vez que una regla ha sido generada, se somete a un proceso de poda incremental. Se eliminan términos de la regla que no mejoran significativamente el error de la regla en un conjunto de validación separado (el “conjunto de poda”). Esto ayuda a generalizar la regla y evitar el sobreajuste.
  3. Adición de Reglas:
    • Después de podar una regla, se añade al conjunto de reglas para la clase actual.
    • Los ejemplos cubiertos por esta nueva regla se eliminan del conjunto de entrenamiento.
    • Se repiten los pasos 1-3 para construir nuevas reglas para la misma clase hasta que no queden suficientes ejemplos de la clase o no se puedan generar más reglas que cumplan ciertos criterios.
  4. Optimización Global y Re-poda:
    • Una vez que se ha generado un conjunto inicial de reglas para una clase, RIPPER realiza varias pasadas de optimización.
    • En cada pasada, se intenta reemplazar o modificar reglas para reducir aún más el error total del conjunto de reglas. Esto incluye estrategias como la sustitución de reglas (reemplazar una regla existente por una mejor), la reversión de reglas (eliminar una regla), y la combinación de reglas.
    • Se utiliza una métrica como la descripción mínima de la longitud (MDL - Minimum Description Length) para penalizar la complejidad del modelo.

El proceso se repite para todas las clases, y las reglas se organizan en un orden de prioridad.

Aprendizaje Global vs. Local:

RIPPER es un algoritmo que combina de manera muy efectiva aspectos de aprendizaje global y local, pero con un fuerte énfasis en la generación de reglas locales que se combinan en un modelo global.

  • Aspecto Local (Generación de Reglas Individuales): Cada regla que RIPPER aprende es esencialmente un modelo local que cubre una región específica del espacio de características. Las condiciones de la regla (IF A AND B THEN Class X) definen un hiperrectángulo (o una región más compleja) en el espacio de características. La regla se aprende para predecir correctamente los puntos dentro de esa región. La poda de reglas, en particular, se enfoca en optimizar el rendimiento de la regla en su “vecindario” de datos cubiertos, evitando el sobreajuste a puntos de entrenamiento individuales. Las reglas se ajustan a patrones y relaciones locales dentro de los datos.

  • Aspecto Global (Conjunto de Reglas y Priorización): Aunque las reglas individuales son locales, el conjunto final de reglas para todas las clases, y su orden de prioridad, forman un modelo de clasificación global que cubre todo el espacio de características. Cuando una nueva instancia necesita ser clasificada, se evalúa contra todas las reglas en orden hasta que una se activa, y esa regla dicta la predicción. La optimización global del conjunto de reglas, mediante la repoda y las fases de reemplazo de reglas, asegura que el modelo final sea coherente y preciso a nivel de todo el conjunto de datos.

Guía rápida para elegir decision RIPPER
Repeated Incremental Pruning to Produce Error Reduction (RIPPER)
Criterio Aplica Detalles
Tipo de modelo ✅ Supervisado (clasificación) Algoritmo supervisado para clasificación que genera reglas de decisión con poda incremental para reducir error.
Variable respuesta ✅ Variable respuesta categórica Predice clases usando conjuntos de reglas de decisión extraídas y podadas iterativamente.
Variables predictoras ✅ Variables predictoras numéricas o categóricas Soporta variables numéricas y categóricas, con discretización interna si es necesario.
Relación entre variables ✅ Relación no lineal basada en reglas de decisión Captura relaciones no lineales y complejas mediante reglas combinadas.
Normalidad de residuos ❌ No aplica (no es modelo paramétrico) No utiliza modelos estadísticos clásicos, por lo que no aplica análisis de residuos.
Independencia de errores ❌ No aplica No asume independencia entre observaciones.
Homoscedasticidad ❌ No aplica No requiere homoscedasticidad ni otros supuestos de regresión.
Sensible a outliers ⚠️ Moderadamente sensible a outliers, depende de la calidad de datos Outliers pueden afectar la calidad y la complejidad de las reglas generadas.
Multicolinealidad entre predictores ⚠️ No afecta directamente, pero multicolinealidad puede confundir reglas Multicolinealidad no afecta directamente, pero puede inducir reglas redundantes.
Interpretabilidad ⚠️ Interpretación mediante reglas, más complejas que OneR pero aún legibles Las reglas generadas son más interpretables que árboles complejos, pero menos simples que OneR.
Velocidad y eficiencia ⚠️ Moderada, puede ser lento en datasets muy grandes El proceso iterativo y poda pueden ser computacionalmente costosos en grandes datasets.
Validación cruzada ✅ Se puede validar con métodos de validación cruzada Validación cruzada es recomendada para evaluar generalización y evitar sobreajuste.
No funciona bien si... ❌ No funciona bien si las reglas no separan claramente las clases o en datos muy ruidosos No es adecuado para datos con ruido elevado o donde no existen reglas claras para separar clases.
Fuente: Elaboración propia

Rule Fit

RuleFit es un potente y, al mismo tiempo, interpretable algoritmo de aprendizaje automático desarrollado por Jerome H. Friedman y Bogdan Popescu. Está diseñado para combinar la precisión de los métodos de ensamblaje (como el gradient boosting o los random forests) con la interpretabilidad de los modelos lineales y las reglas de decisión. RuleFit es particularmente útil cuando necesita un modelo que funcione bien y que le permita comprender el “porqué” detrás de sus predicciones.

La idea central de RuleFit es aprender un modelo lineal disperso que utiliza tanto las características de entrada originales como un conjunto de “características de regla” recién generadas como predictores. Estas características de regla se derivan de un ensamblaje de árboles de decisión.

Así es como funciona RuleFit:

  1. Generación del Ensamblaje de Árboles:
    • Primero, RuleFit entrena un ensamblaje de árboles de decisión poco profundos en el conjunto de datos. Esto se puede hacer utilizando algoritmos como Gradient Boosting Machines (GBM) o Random Forests. Los árboles suelen mantenerse poco profundos (por ejemplo, una profundidad máxima de 3-5) para producir reglas más simples e interpretables.
    • Estos árboles se entrenan para predecir la variable objetivo, lo que significa que sus divisiones son significativas para la tarea.
  2. Extracción de Reglas:
    • Cada ruta desde la raíz hasta un nodo hoja en cualquiera de los árboles de decisión generados se extrae y se convierte en una regla de decisión binaria.
    • Por ejemplo, si una ruta en un árbol es “si (Característica1 > 10) Y (Característica2 < 5)”, esto se convierte en una regla.
    • Cada regla se trata entonces como una nueva característica binaria para cada instancia de datos: toma un valor de 1 si la instancia satisface todas las condiciones de la regla, y 0 en caso contrario.
  3. Ajuste del Modelo Lineal con Regularización:
    • Las características originales del conjunto de datos se combinan con estas características de regla binarias recién creadas.
    • Luego, se ajusta un modelo lineal disperso (normalmente una regresión Lasso, que utiliza regularización L1) a este conjunto de características expandido.
    • La regularización Lasso realiza automáticamente la selección de características, estableciendo los coeficientes de las características originales y de las características de regla menos importantes en cero. Esto da como resultado un modelo final más simple e interpretable que solo incluye los términos más relevantes.

El modelo RuleFit final es una ecuación lineal: \(\text{predicción} = \beta_0 + \sum_{j=1}^{p} \beta_j X_j + \sum_{k=1}^{R} \alpha_k r_k(X)\)

Donde: * \(\beta_0\) es el intercepto. * \(\beta_j X_j\) son los términos para las características lineales originales \(X_j\). * \(\alpha_k r_k(X)\) son los términos para las características de regla binarias \(r_k(X)\).

Los coeficientes (\(\beta_j\) y \(\alpha_k\)) indican la importancia y la dirección del efecto de cada característica original y de cada regla en la predicción.

Aprendizaje Global vs. Local:

RuleFit es un excelente ejemplo de un algoritmo que combina perfectamente las características de aprendizaje global y local.

  • Aspecto Global (Modelo Lineal Final y Estructura General):
    • La etapa final de RuleFit consiste en ajustar un único modelo lineal global (con regularización Lasso). Este modelo lineal es un predictor global que combina las características originales y todas las características de regla generadas. Los coeficientes en este modelo lineal global definen la relación general entre las características de entrada (originales y basadas en reglas) y la variable objetivo en todo el conjunto de datos.
    • Este modelo lineal proporciona una comprensión global de la importancia de las características y de cómo contribuyen colectivamente a la predicción.
  • Aspecto Local (Características de Regla y Efectos de Interacción):
    • El poder de RuleFit para manejar relaciones no lineales e interacciones proviene de su aspecto local: las reglas de decisión. Cada regla, extraída de una ruta en un árbol de decisión, define una subregión específica o “vecindario” del espacio de características. Por ejemplo, una regla “SI la edad es > 30 Y el ingreso es < 50k” captura una condición local muy específica.
    • Al incluir estas características de regla binarias, el modelo lineal puede aprender efectivamente diferentes relaciones lineales dentro de diferentes regiones locales definidas por las reglas. Estas reglas capturan explícitamente los efectos de interacción entre características que un modelo lineal estándar pasaría por alto.
    • Esto es similar a tener un modelo local (implícitamente, una constante o un modelo lineal simple dentro de la región de la regla) que se activa cuando se cumplen sus condiciones, lo que permite que el modelo lineal global adapte sus predicciones basándose en estos patrones locales.
Guía rápida para elegir decision rule fit
Rule Fit
Criterio Aplica Detalles
Tipo de modelo ✅ Supervisado (clasificación y regresión) Combina árboles de decisión para generar reglas y luego aplica regresión lineal para asignar pesos a estas reglas.
Variable respuesta ✅ Numérica o categórica según el tipo de problema Puede usarse para problemas de regresión o clasificación.
Variables predictoras ✅ Variables numéricas y categóricas Admite variables categóricas y numéricas sin grandes restricciones.
Relación entre variables ✅ Modela relaciones no lineales a través de reglas y combinaciones lineales Captura tanto efectos lineales como interacciones no lineales vía reglas extraídas.
Normalidad de residuos ❌ No es modelo paramétrico clásico, no se evalúa normalidad No asume distribución normal de errores.
Independencia de errores ❌ No aplica directamente No requiere independencia estricta entre observaciones.
Homoscedasticidad ❌ No aplica No requiere homoscedasticidad.
Sensible a outliers ⚠️ Puede ser sensible a outliers, pero menos que modelos lineales puros Puede mitigar el impacto de outliers mediante regularización.
Multicolinealidad entre predictores ⚠️ Puede verse afectado, se recomienda análisis previo Multicolinealidad puede afectar coeficientes pero el modelo regulariza para evitarlo.
Interpretabilidad ⚠️ Interpretabilidad moderada: combina reglas fáciles con coeficientes lineales Las reglas extraídas facilitan la interpretación frente a otros modelos complejos.
Velocidad y eficiencia ⚠️ Moderado, depende del número de reglas generadas La eficiencia depende del número de reglas y tamaño de datos.
Validación cruzada ✅ Se puede validar con validación cruzada Validación cruzada ayuda a evitar sobreajuste y seleccionar hiperparámetros.
No funciona bien si... ❌ No funciona bien en datasets muy pequeños o con relaciones altamente complejas sin reglas claras Puede fallar si las reglas generadas no capturan bien la relación o en datos ruidosos.
Fuente: Elaboración propia

Zero Rule (ZeroR)

Zero Rule (ZeroR) es el algoritmo de clasificación supervisada más simple imaginable. No utiliza ninguna de las características predictoras en el conjunto de datos para hacer sus predicciones. En su lugar, simplemente predice la clase más frecuente (mayoritaria) que se observa en el conjunto de datos de entrenamiento.

Cómo funciona ZeroR:

  1. Conteo de Frecuencias: El algoritmo cuenta las ocurrencias de cada clase en el conjunto de datos de entrenamiento.
  2. Identificación de la Clase Mayoritaria: Identifica la clase que tiene la mayor frecuencia (es decir, la clase que aparece más veces).
  3. Predicción Universal: Para cualquier nueva instancia, ZeroR simplemente predice esta clase mayoritaria.

Ejemplo: Si en un conjunto de datos para predecir si un cliente “comprará” o “no comprará” un producto, el 70% de los clientes en el conjunto de entrenamiento “no compraron” y el 30% “compraron”, ZeroR predecirá “no comprará” para todos los nuevos clientes. Su precisión en el conjunto de entrenamiento sería del 70%.

¿Por qué es importante ZeroR?

Aunque ZeroR no tiene ningún poder predictivo real en el sentido de aprender patrones complejos de los datos, es fundamentalmente importante en Machine Learning como una línea base (benchmark).

  • Punto de Referencia: Cualquier algoritmo de clasificación más sofisticado debe superar la precisión de ZeroR para ser considerado útil. Si un modelo complejo tiene una precisión inferior a la de ZeroR, significa que el modelo no está aprendiendo nada significativo de los datos, o incluso está aprendiendo patrones incorrectos.
  • Detección de Sesgos de Clase: En conjuntos de datos desequilibrados (donde una clase es mucho más frecuente que otras), ZeroR puede lograr una precisión aparentemente alta. Esto resalta la importancia de usar métricas de evaluación más allá de la simple precisión en esos casos (como precisión, recall, F1-score, o AUC-ROC), ya que una alta precisión de ZeroR podría ser engañosa.
  • Simplicidad Extrema: Sirve como el punto de partida más básico para entender cómo los algoritmos de clasificación intentan mejorar sobre una suposición trivial.

Aprendizaje Global vs. Local:

ZeroR es un modelo de aprendizaje puramente global.

  • Aspecto Global: ZeroR calcula una única estadística (la clase mayoritaria) a partir de todo el conjunto de datos de entrenamiento y aplica esta predicción uniformemente a todas las instancias, sin importar sus características individuales o su ubicación en el espacio de datos. No hay ninguna adaptación local o consideración de subregiones del espacio de características. El modelo es una única regla global e inmutable.

  • Sin Modelado de Relaciones: Al ignorar todas las características de entrada, ZeroR no modela ninguna relación, lineal o no lineal, entre los predictores y la variable objetivo. Su conocimiento se limita a la distribución marginal de la clase de salida.

En resumen, ZeroR es el clasificador más simple y sirve como un punto de referencia crucial para evaluar el rendimiento de modelos de Machine Learning más avanzados. Su naturaleza es inherentemente global, ya que aplica una única decisión derivada del patrón más frecuente en todo el conjunto de datos.

Guía rápida para elegir decision ZeroR
Zero Rule (ZeroR)
Criterio Aplica Detalles
Tipo de modelo ✅ Supervisado (clasificación y regresión) Modelo supervisado trivial que predice el valor más frecuente (clasificación) o promedio (regresión) de la variable respuesta.
Variable respuesta ✅ Categórica (modo) o numérica (media) Funciona para variable respuesta categórica (modo) o continua (media).
Variables predictoras ❌ No utiliza predictores No utiliza ninguna variable predictora; solo la respuesta.
Relación entre variables ❌ No considera relaciones, predice constante No aprende relaciones, útil solo como línea base de comparación.
Normalidad de residuos ❌ No aplica (no hay residuos de regresión) No genera residuos, pues predice una constante.
Independencia de errores ❌ No aplica (no hay modelo estructurado) No hay estructura de error o modelo que se evalúe.
Homoscedasticidad ❌ No aplica No hay dispersión de errores porque no hay ajuste.
Sensible a outliers ❌ No aplica (no hay influencia de valores atípicos) Outliers no afectan porque el modelo predice una constante global.
Multicolinealidad entre predictores ❌ No aplica (no hay predictores) No existe relación entre predictores, así que no aplica multicolinealidad.
Interpretabilidad ✅ Alta, ya que solo predice un valor fijo Fácil de interpretar: siempre predice lo mismo.
Velocidad y eficiencia ✅ Extremadamente rápido Modelo extremadamente simple y rápido de calcular.
Validación cruzada ⚠️ Se puede usar como baseline en validación Sirve como línea base para comparar modelos más complejos.
No funciona bien si... ❌ No debe usarse como modelo final salvo como referencia base Inútil para hacer predicciones significativas; solo sirve como referencia comparativa.
Fuente: Elaboración propia