Algoritmo Apriori en inglés simple?

9

Leí un artículo wiki sobre Apriori. Tengo el problema de entender la ciruela y el paso Join. ¿Alguien puede explicarme cómo funciona el algoritmo Apriori en términos simples (de modo que un principiante como yo pueda entenderlo fácilmente)?

Será bueno si alguien explica el proceso paso a paso involucrado en él.

Hormiga
fuente
Quizás te interese mi implementación de Python .
Martin Thoma

Respuestas:

11

El artículo de Wikipedia no es particularmente impresionante. Puede encontrar estas diapositivas más útiles: 1 , 2 , 3 .

En cada nivel , tiene conjuntos de elementos que son frecuentes (tienen soporte suficiente). kkk

En el siguiente nivel, los conjuntos de elementos + que debe tener en cuenta deben tener la propiedad de que cada uno de sus subconjuntos debe ser frecuente (contar con el apoyo suficiente). Esta es la propiedad a priori : cualquier subconjunto de elementos frecuentes debe ser frecuente.1k1

Entonces, si sabe en el nivel 2 que los conjuntos , , y son los únicos conjuntos con suficiente soporte, entonces en el nivel 3, los une entre sí para producir , , y pero solo necesita considerar más: los otros tienen subconjuntos con soporte insuficiente (como o ).{ 1 , 3 } { 1 , 5 } { 3 , 5 } { 1 , 2 , 3 } { 1 , 2 , 5 } { 1 , 3 , 5 } { 2 , 3 , 5 } { 1 , 3 , 5 } { 2 , 3 } {{1,2}{1,3}{1,5}{3,5}{1,2,3}{1,2,5}{1,3,5}{2,3,5}{1,3,5}{2,3}{2,5}

Enrique
fuente
2

El algoritmo Apriori es un algoritmo de minería de reglas de asociación utilizado en la minería de datos. Se utiliza para encontrar el conjunto de elementos frecuentes entre el número dado de transacciones.

Consiste básicamente en dos pasos

  1. Auto-unirse
  2. Poda

Repitiendo estos pasos k veces, donde k es el número de elementos, en la última iteración obtienes conjuntos de elementos frecuentes que contienen k elementos.

Busque aquí una explicación muy simple con un ejemplo detallado http://nikhilvithlani.blogspot.com/2012/03/apriori-algorithm-for-data-mining-made.html .

Tiene una explicación simple sin ecuaciones complicadas.

usuario1239631
fuente
2
Dejé este aviso de publicación porque generalmente es mejor proporcionar un resumen de los puntos principales que desea enfatizar en lugar de vincular a un blog sin más explicaciones. Además, el propósito de este sitio es crear una colección de respuestas bien informadas a preguntas específicas con dependencias mínimas de enlaces colgantes o efímeros. Entonces, a menos que pueda garantizar que el enlace anterior seguirá vivo en 10 años, por ejemplo, le recomiendo encarecidamente que resuma sus puntos principales en la presente respuesta.
chl
1

Apriori en inglés simple.

Apriori emplea un enfoque iterativo conocido como búsqueda por nivel, donde los conjuntos de elementos k se utilizan para explorar conjuntos de elementos (k + 1) . Primero, el conjunto de conjuntos frecuentes de 1 ítems se encuentra escaneando la base de datos para acumular el recuento de cada ítem y recolectando aquellos ítems que satisfacen un soporte mínimo. El conjunto resultante se denota como L1 . A continuación, L1 se usa para encontrar L2 , el conjunto de conjuntos frecuentes de 2 elementos , que se utiliza para encontrar L3, y así sucesivamente, hasta que no se puedan encontrar conjuntos de elementos k más frecuentes . El hallazgo de cada Lk requiere un escaneo completo de la base de datos.

En la iteración final, terminarás con muchos conjuntos de elementos k que básicamente se llaman reglas de asociación . Para seleccionar reglas interesantes del conjunto de todas las reglas posibles, se aplican varias medidas de restricción , como el soporte y la confianza .

Términos y terminologías

  • 1 conjunto de elementos significa {a}, {b}, {c}
  • 2 conjuntos de elementos significa {a, b}, {d, d}, {a, c}
  • Conjuntos de elementos K significa {i1, i2, i3, ... ik}, {j1, j2, j3, .... jk}

Paso de unión: lo que significa que un conjunto de elementos se hace para unirse por sí mismo para generar conjuntos de 2 elementos.

Paso de poda: aquí el conjunto resultante de la unión se filtra con un umbral de soporte mínimo.

conjunto de cardinalidad: conjunto resultante del paso Prune.

Soporte = no. De translaciones que contienen 'a' y 'b' / no total de transacción.

Soporte => supp (a, b) => p (a U b)

Confiado = No. de transacciones que contienen 'a' y 'b' / no de transacciones que contienen 'a'.

Confiado => con (a, b) ==> P (b | a) nada más que probabilidad condicional.

shakthydoss
fuente