Publicación: 9 de junio de 2024
Colaboradores: Joshua Noble
El algoritmo Apriori es un algoritmo de machine learning no supervisado que se utiliza para el aprendizaje de reglas de asociación. El aprendizaje de reglas de asociación es una técnica de minería de datos que identifica patrones frecuentes, conexiones y dependencias entre distintos grupos de elementos denominados itemsets en los datos. Algunos casos de uso habituales son el pronóstico de enfermedades y los sistemas de recomendación, como el análisis de la cesta de la compra para plataformas de comercio electrónico.
Introducido en 1994 por Rakesh Agrawal y Ramakrishnan Srikant (enlace externo a ibm.com) el nombre, 'Apriori' reconoce el conocimiento previo de conjuntos de elementos frecuentes que el algoritmo utiliza en la computación. El algoritmo ejecuta iteraciones sobre los datos para identificar k-itemsets, es decir, k elementos que frecuentemente ocurren juntos. Luego utiliza los k-itemsets para identificar los conjuntos de elementos k+1. El algoritmo Apriori se basa en la idea de que agregar artículos a un grupo comprado con frecuencia solo puede hacerlo menos frecuente, no más. El proceso se basa en la propiedad Apriori que establece que si un conjunto de elementos aparece con frecuencia en un conjunto de datos, todos sus subconjuntos también deben ser frecuentes. Por el contrario, si un conjunto de elementos se identifica como poco frecuente, todos sus superconjuntos se consideran poco frecuentes.
El algoritmo Apriori es aplicable a todo tipo de conjuntos de datos, especialmente los generados por bases de datos transaccionales, y a menudo se emplea para el análisis de la cesta de la compra para respaldar los sistemas de recomendación. Por ejemplo, cuando se emplea una plataforma de comercio electrónico que vende ropa y zapatos, un comprador busca zapatos y decide agregar un par de zapatos negros formales a su carrito de compras. Luego, el comprador nota que la interfaz recomienda otros artículos para comprar, como calcetines. Una de las formas en que funciona este sistema de recomendación es conocer los patrones de compra de los clientes y asociar artículos que tienen un historial de probable compra conjunta.
Una de los mayores beneficios de emplear el algoritmo Apriori es su sencillez y adaptabilidad. Sin embargo, los algoritmos Apriori no son tan eficientes cuando se manejan grandes conjuntos de datos. El proceso de iteración múltiple de generación de candidatos a itemset puede resultar costoso desde el punto de vista informático y consumir mucha memoria. Apriori suele combinar con otras técnicas para mitigar estos problemas.
La función Apriori está integrada en muchos lenguajes de programación populares, incluidos Python, Java y R, lo que facilita la generación de reglas de asociación de calidad junto con conjuntos de elementos frecuentes en aplicaciones o sistemas existentes.
Cada uno de los pasos clave del algoritmo Apriori busca identificar conjuntos de elementos y todos sus posibles superconjuntos en busca de los más frecuentes para crear las reglas de asociación.
Paso 1: Generación frecuente de conjuntos de elementos
El algoritmo primero identifica los elementos únicos, a veces denominados conjuntos de elementos 1, en el conjunto de datos junto con sus frecuencias. Luego, combina los elementos que aparecen junto con una probabilidad por encima de un umbral especificado en conjuntos de elementos candidatos y filtra los conjuntos de elementos poco frecuentes para reducir el costo de cómputo en pasos adicionales. Este proceso, conocido como minería frecuente de conjuntos de elementos, busca solo conjuntos de objetos con frecuencias significativas.
Paso 2: Expandir y luego podar los conjuntos de elementos
Empleando la propiedad Apriori, el algoritmo combina los itemsets frecuentes para formar itemsets más grandes. Se podan las combinaciones de itemset más grandes con una probabilidad más baja. Esto reduce aún más el espacio de búsqueda y hace que el cálculo sea más eficiente.
Paso 3: Repita los pasos 1 y 2
El algoritmo repite los pasos 1 y 2 hasta que todos los conjuntos de elementos frecuentes que cumplen con el umbral de probabilidad definido se generan exhaustivamente. Cada iteración genera asociaciones más complejas y completas en los conjuntos de elementos.
Una vez que A priori creó los conjuntos de elementos, se puede investigar la fuerza de las asociaciones y relaciones generadas.
Conozca las barreras para la adopción de IA, en particular la falta de soluciones de gobernanza y gestión de riesgos de IA.
Regístrese para obtener la guía sobre modelos fundacionales
El algoritmo Apriori emplea las métricas de soporte, confianza y elevación para definir sus criterios operativos y mejorar la eficiencia del rendimiento.
El apoyo se define como la relación entre el número de veces que un elemento aparece en las transacciones y el número total de transacciones. Esta métrica define así la probabilidad de que se produzca cada elemento individual en las transacciones. La misma lógica puede extender a los itemsets.
donde IA es el elemento A, Occ(IA) es el número de ocurrencias del elemento A y S(IA) = soporte del elemento A
Por ejemplo, en una tienda de venta minorista, 250 de 2000 transacciones realizadas en un día podrían incluir una compra de manzanas. Usando la fórmula:
Este resultado implica que hay un 12.5 % de probabilidades de que se hayan comprado manzanas ese día.
Puede indicar un umbral de soporte mínimo requerido al aplicar el algoritmo Apriori. Esto significa que cualquier elemento o conjunto de elementos con soporte inferior al soporte mínimo especificado se considerará poco frecuente.
La métrica de confianza identifica la probabilidad de que los elementos o conjuntos de elementos ocurran juntos en los conjuntos de elementos. Por ejemplo, si hay dos artículos en una transacción, se supone que la existencia de un artículo maneja al otro. El primer elemento o conjunto de elementos es el antecedente y el segundo es el consecuente. Por lo tanto, la confianza se define como la relación entre el número de transacciones que tienen tanto el antecedente como el consecuente, con el número de transacciones que solo tienen el antecedente. Este escenario se representa como:
donde A es el antecedente, B es el consecuente y C(A,B) es la confianza de que A lleva a B.
Ampliando el ejemplo anterior, supongamos que hay 150 transacciones en las que se compraron manzanas y plátanos juntos. La confianza se calcula como:
Este resultado indica un 60 % de posibilidades de que una compra de manzanas de lugar a una compra de plátanos. Del mismo modo, si suponemos un total de 500 transacciones de plátanos, la confianza de que una compra de plátanos lleve a una compra de manzanas se calcula como:
Aquí, solo hay un 30% de posibilidades de que una compra de bananos lleve a una compra de manzanas.
Si bien la confianza es una buena medida de probabilidad, no es una garantía de una asociación clara entre los elementos. El valor de la confianza puede ser alto por otras razones. Por esta razón, se aplica un umbral de confianza mínimo para filtrar asociaciones débilmente probables durante la minería con reglas de asociación.
El aumento es el factor por el cual la probabilidad de que el elemento A maneje al elemento B es mayor que la probabilidad del elemento A. Esta métrica cuantifica la fuerza de la asociación entre A y B. Puede ayudar a indicar si existe una relación real entre los elementos en el conjunto de elementos o se agrupan por coincidencia.
Donde LA,B es el aumento del elemento A que maneja al elemento B, CA,B es la confianza de que el elemento A maneja al elemento B, SA es el soporte del elemento A.
Para el ejemplo anterior, podemos ver que:
El valor de elevación alto indica que la probabilidad de que las manzanas y los plátanos se compren juntos es 4.8 veces mayor que la de comprar manzanas solas. Además, se puede observar que:
El valor de elevación bajo aquí indica que una compra de bananos que lleva a una compra de manzanas podría ser solo una coincidencia.
En muchos casos, aplicar un enfoque de fuerza bruta (enlace externo a ibm.com) para calcular los umbrales de soporte y confianza para cada regla y luego eliminar las reglas que no alcanzan un umbral puede ser computacionalmente prohibitivo. Para que la aplicación del algoritmo Apriori sea más eficiente, a menudo se combina con otras técnicas de minería de reglas de asociación. Dos de los más comunes son el algoritmo FP-growth (enlace externo a ibm.com) y su variante FP-Max para reducir las limitaciones de memoria y cálculo. El algoritmo Apriori también se puede combinar con decision trees, donde el algoritmo Apriori identifica el conjunto de elementos frecuente, y la técnica de decision trees ayuda a identificar las reglas de asociación.
Otra variante popular del algoritmo Apriori es el conteo dinámico de conjuntos de elementos (DIC) (enlace externo a ibm.com), que comienza a contar los conjuntos de elementos potenciales antes de tiempo, sin esperar a que se registren todas las transacciones. DIC divide el conjunto de datos en segmentos más pequeños y procesa cada segmento por separado. Esta segmentación permite la detención temprana cuando el algoritmo no puede identificar ningún conjunto de elementos frecuente, pero la partición de los datos también ayuda a reducir significativamente el costo de cálculo.
Los algoritmos a priori también pueden ser útiles en aplicaciones de inteligencia artificial basadas en el aprendizaje no monitorear, como algoritmos de agrupamiento en clústeres cuando los datos lo respaldan. Ayuda a identificar relaciones y asociaciones entre entidades aparentemente independientes, agrupándolas en posibles grupos.
Descubrir y agrupar conjuntos de elementos tiene múltiples aplicaciones y, a veces, se hace referencia al algoritmo Apriori como lo primero que prueban los mineros de datos debido a su versatilidad. Veremos algunos de los casos de uso más comunes en diferentes industrias.
Una de las aplicaciones más comunes del algoritmo Apriori es realizar análisis de cesta de mercado. Los minoristas analizan el historial de compras de los clientes y optimizan la forma en que se colocan las tiendas colocando los artículos comprados con frecuencia cerca uno del otro o en el mismo estante. Las plataformas de comercio electrónico utilizan algoritmos Apriori para estudiar las relaciones basadas en productos basadas en las preferencias del usuario y el análisis de minería de patrones de compra para crear sistemas eficientes de recomendación de clientes. El mismo tipo de análisis se puede utilizar para optimizar la compra de servicios, por ejemplo, elegir cursos de capacitación de un catálogo, o recomendar otro tipo de cobertura al momento de seleccionar un seguro.
El algoritmo Apriori permite encontrar reglas de asociación estables entre síntomas y enfermedades para mejorar la eficacia del diagnóstico y diseñar planes de tratamiento específicos. Por ejemplo, qué pacientes son propensos a desarrollar diabetes (link resides outside ibm.com) o el papel que desempeñan la dieta o el estilo de vida en la enfermedad (link resides outside ibm.com). También puede ayudar a identificar los factores asociados a las reacciones adversas a los medicamentos.
Los algoritmos a priori también son aplicables en bases de datos no transaccionales. Los analistas de datos suelen emplear Apriori para la minería de uso sitio web, para analizar los datos del flujo de clics y para interpretar el comportamiento del usuario.
Otra aplicación común del algoritmo Apriori es identificar patrones fraudulentos en las transacciones financieras. Identificar patrones de compra específicos como posiblemente fraudulentos permite a una institución financiera actuar rápidamente para suspender transacciones o poner en contacto con el titular de una cuenta.
Aprenda a implementar el algoritmo Apriori en Python mediante watsonx
Aprenda a implementar el algoritmo Apriori con el lenguaje de programación R mediante el uso de watsonx.
Aprende sobre la agrupación en clústeres, un algoritmo de machine learning no supervisado que organiza y clasifica diferentes objetos, puntos de datos u observaciones en grupos o clusters basados en similitudes o patrones.