Algoritmo a priori: ¿cómo funciona? ¿Cómo pueden las marcas utilizar el algoritmo a priori?
Publicado: 2020-03-26Imagina que estás en el supermercado y en tu mente tienes los artículos que querías comprar. Pero terminas comprando mucho más de lo que se suponía. Esto se llama compra impulsiva y las marcas utilizan el algoritmo a priori para aprovechar este fenómeno. Haga clic para obtener más información si está interesado en obtener más información sobre los algoritmos de ciencia de datos.
¿Qué es este algoritmo? Y, ¿cómo funciona? Encontrarás las respuestas a estas preguntas en este artículo. Primero veremos qué es este algoritmo y luego cómo funciona.
Vamos a empezar.
Tabla de contenido
¿Qué es el Algoritmo A priori?
El algoritmo a priori le proporciona conjuntos de elementos frecuentes. Su base es la propiedad a priori que podemos explicar de la siguiente forma:
Supongamos que un conjunto de elementos que tiene tiene un valor de soporte inferior al valor de soporte necesario. Entonces, los subconjuntos de este conjunto de elementos también tendrían menos valor de soporte que el requerido. Por lo tanto, no los incluirá en su cálculo y, como resultado, ahorrará mucho espacio.
El valor de soporte se refiere a la cantidad de veces que aparece un conjunto de elementos en particular en las transacciones. El algoritmo a priori es bastante popular debido a su aplicación en sistemas de recomendación. En general, aplicará este algoritmo a bases de datos transaccionales, lo que significa una base de datos de transacciones. Hay muchas aplicaciones del mundo real de este algoritmo también. También debe familiarizarse con la minería de reglas de asociación para comprender correctamente el algoritmo a priori.
Lea también: Requisito previo para la ciencia de datos. ¿Cómo cambia con el tiempo?
¿Cómo funciona el algoritmo a priori?
El algoritmo a priori genera reglas de asociación mediante el uso de conjuntos de elementos frecuentes. Su principio es simple: el subconjunto de un conjunto de elementos frecuente también sería un conjunto de elementos frecuente. Un conjunto de elementos que tiene un valor de soporte mayor que un valor de umbral es un conjunto de elementos frecuente. Considere los siguientes datos:
T.I.D. | Elementos |
T1 | 1 3 4 |
T2 | 2 3 5 |
T3 | 1 2 3 5 |
T4 | 2 5 |
T5 | 1 3 5 |
En la primera iteración, suponga que el valor de soporte es dos y haga los conjuntos de elementos con tamaño 1. Ahora calcule sus valores de soporte en consecuencia. Descartaríamos el artículo que tuviera un valor de soporte inferior al mínimo. En este ejemplo, ese sería el elemento número cuatro.
C1 (Resultado de la primera iteración)
conjunto de elementos | Apoyo |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{4} | 1 |
{5} | 4 |
F1 (Después de descartar {4})
conjunto de elementos | Apoyo |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{5} | 4 |
En la segunda iteración, mantendremos el tamaño de los conjuntos de elementos en dos y luego calcularemos los valores de soporte. Usaremos todas las combinaciones de la tabla F1 en esta iteración. Eliminaremos cualquier conjunto de elementos que tenga valores de soporte inferiores a dos.
C2 (Solo tiene elementos presentes en F1)
conjunto de elementos | Apoyo |
{1,2} | 1 |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
F2 (después de que eliminemos los elementos que tienen valores de soporte inferiores a 2)
conjunto de elementos | Apoyo |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
Ahora, realizaremos la poda. En este caso, dividiremos los conjuntos de elementos de C3 en subconjuntos y eliminaremos los que tengan un valor de soporte inferior a dos.
C3 (Después de realizar la poda)

conjunto de elementos | ¿En F2? |
{1,2,3}, {1,2}, {1,3}, {2,3} | NO |
{1,2,5}, {1,2}, {1,5}, {2,5} | NO |
{1,3,5}, {1,5}, {1,3}, {3,5} | SÍ |
{2,3,5}, {2,3}, {2,5}, {3,5} | SÍ |
En la tercera iteración, descartaremos {1,2,5} y {1,2,3} ya que ambos tienen {1,2}. Este es el principal impacto del algoritmo a priori.
F3 (Después descartamos {1,2,5} y {1,2,3})
conjunto de elementos | Apoyo |
{1,3,5} | 2 |
{2,3,5} | 2 |
En la cuarta iteración, usaremos los conjuntos de F3 para crear C4. sin embargo, como el valor de soporte de C4 es inferior a 2, no procederíamos y el conjunto de elementos final es F3.
C3
conjunto de elementos | Apoyo |
{1,2,3,5} | 1 |
Tenemos los siguientes conjuntos de elementos con F3:
Para I = {1,3,5}, los subconjuntos que tenemos son {5}, {3}, {1}, {3,5}, {1,5}, {1,3}
Para I = {2,3,5}, los subconjuntos que tenemos son {5}, {3}, {2}, {3,5}, {2,5}, {2,3}
Ahora, crearemos y aplicaremos reglas en el conjunto de elementos F3. Para ello, supondremos que el valor de confianza mínimo es actualmente del 60 %. Para los subconjuntos S de I, esta es la regla que generamos:
- S -> (I,S) (esto significa que S recomienda IS)
- Si soporte(I) / soporte(S) >= valor min_conf
Hagamos esto para el primer subconjunto que tenemos, es decir, {1,3,5}
Regla no.1: {1,3} -> ({1,3,5} – {1,3}) esto significa 1 y 3-> 5
Valor de confianza = valor de soporte de (1,3,5) / valor de soporte de (1,3) = ⅔ = 66,66 %
Como el resultado es superior al 60%, seleccionamos la Regla nº1.
Regla n.º 2: {1,5} -> {(1,3,5) – {1,5}) esto significa 1 y 5 -> 3
Valor de confianza = valor de soporte de (1,3,5) / valor de soporte de (1,5) = 2/2 = 100%
Como el resultado es superior al 60%, seleccionamos la Regla nº2.
Regla n.º 3: {3} -> ({1,3,5} – {3}) esto significa 3 -> 1 y 5
Valor de confianza = valor de soporte de (1,3,5) / valor de soporte de (3) = 2/4 = 50%
Como el resultado es inferior al 60%, rechazamos la regla nº 3.
Obtenga cursos de ciencia de datos de las mejores universidades del mundo. Únase a nuestros programas Executive PG, programas de certificación avanzada o programas de maestría para acelerar su carrera.
Con el ejemplo anterior, puede ver cómo el algoritmo Apriori crea y aplica reglas. Puede seguir estos pasos para el segundo conjunto de elementos ({2,3,5}) que tenemos. Probarlo seguramente le brindará una gran experiencia para comprender qué reglas acepta el algoritmo y cuáles rechaza. El algoritmo sigue siendo el mismo en otros lugares, como el algoritmo Apriori de Python.
Conclusión
Después de leer este artículo, estamos seguros de que estará bastante familiarizado con este algoritmo y su aplicación. Debido a su uso en los sistemas de recomendación, también se ha vuelto muy popular.
¿Existe un algoritmo más eficiente que el algoritmo Apriori?
El algoritmo ECLAT (Equivalence Class Clustering and bottom-up Lattice Traversal) resulta ser bastante útil y popular para la minería de reglas de asociación. Además de eso, también se sabe que es un algoritmo más eficiente y rápido en comparación con el algoritmo Apriori.
El algoritmo Apriori funciona de manera horizontal al imitar la búsqueda primero en amplitud de un gráfico, mientras que el algoritmo ECLAT funciona de manera vertical al imitar la búsqueda primero en profundidad de un gráfico. Este enfoque vertical es la razón detrás de la velocidad más rápida y la mejor eficiencia del algoritmo ECLAT en comparación con el algoritmo Apriori.
¿El algoritmo a priori es útil para qué propósito?
El algoritmo a priori es un algoritmo clásico que se usa ampliamente en la minería de datos. Es realmente útil para extraer reglas de asociación relevantes y también conjuntos de elementos frecuentes de la base de datos disponible. Por lo general, este algoritmo es utilizado por organizaciones que tienen que manejar una base de datos que consta de muchas transacciones. Por ejemplo, el algoritmo a priori hace que sea bastante fácil determinar los artículos que los clientes compran con frecuencia en su tienda. Las ventas del mercado se pueden mejorar mucho con la ayuda de este algoritmo.
Aparte de eso, este algoritmo también se utiliza en el sector de la salud para detectar reacciones adversas a medicamentos. El algoritmo produce reglas de asociación para determinar todas las combinaciones de características del paciente y medicamentos que podrían provocar reacciones adversas a los medicamentos.
¿Cuáles son los pros y los contras del algoritmo Apriori?
El algoritmo a priori es bastante fácil de implementar, comprender y se puede usar de manera muy eficiente en grandes conjuntos de elementos. A veces, puede ser necesario encontrar una gran cantidad de reglas candidatas, y este proceso puede ser un poco costoso desde el punto de vista computacional. Como tiene que pasar por toda la base de datos, también es costoso calcular el soporte.