Hasta donde sé, el desarrollo de algoritmos para resolver el problema de Minería de patrones frecuentes (FPM), el camino de las mejoras tiene algunos puntos de control principales. En primer lugar, el algoritmo Apriori fue propuesto en 1993 por Agrawal et al. , junto con la formalización del problema. El algoritmo pudo eliminar algunos conjuntos de los 2^n - 1
conjuntos (conjunto de potencia) mediante el uso de una red para mantener los datos. Un inconveniente del enfoque fue la necesidad de volver a leer la base de datos para calcular la frecuencia de cada conjunto expandido.
Más tarde, en el año 1997, Zaki et al. propuso el algoritmo Eclat , que insertó la frecuencia resultante de cada conjunto dentro de la red. Esto se hizo agregando, en cada nodo de la red, el conjunto de identificadores de transacción que tenían los elementos desde la raíz hasta el nodo referido. La contribución principal es que no es necesario volver a leer el conjunto de datos completo para conocer la frecuencia de cada conjunto, pero la memoria requerida para mantener dicha estructura de datos construida puede exceder el tamaño del conjunto de datos en sí.
En 2000, Han et al. propuso un algoritmo llamado FPGrowth , junto con una estructura de datos de árbol de prefijos llamada FPTree. El algoritmo pudo proporcionar una compresión de datos significativa, al tiempo que garantizaba que solo se producirían conjuntos de elementos frecuentes (sin la generación de conjuntos de elementos candidatos). Esto se hizo principalmente clasificando los elementos de cada transacción en orden decreciente, de modo que los elementos más frecuentes son los que tienen menos repeticiones en la estructura de datos del árbol. Como la frecuencia solo desciende mientras atraviesa el árbol en profundidad, el algoritmo puede eliminar conjuntos de elementos no frecuentes.
Editar :
Hasta donde sé, esto puede considerarse un algoritmo de vanguardia, pero me gustaría saber sobre otras soluciones propuestas. ¿Qué otros algoritmos para FPM se consideran "estado del arte"? ¿Cuál es la intuición / contribución principal de tales algoritmos?
¿El algoritmo FPGrowth todavía se considera "estado del arte" en la minería de patrones frecuente? Si no, ¿qué algoritmo (s) puede extraer conjuntos de elementos frecuentes de grandes conjuntos de datos de manera más eficiente?