Você está na página 1de 17

Minera de patrn secuencial mediante una representacin de mapa de bits Resumen Introducimos un nuevo algoritmo para la minera patrones

secuenciales. Nuestro algoritmo es especialmente eficiente cuando los patrones secuenciales en la base de datos son muy largos. Te presentamos una nueva estrategia en profundidad de bsqueda que integra un recorrido en profundidad del espacio de bsqueda de mecanismos eficaces de poda. La implementacin de la estrategia de bsqueda combina una representacin de mapa de bits vertical de la base de datos con un conteo de apoyo eficaz. Una caracterstica destacada de nuestro algoritmo es que progresivamente nuevos productos conjuntos de elementos frecuentes de forma online. En una evaluacin a fondo experimental de nuestro algoritmo estndar de datos comparativos, nuestro algoritmo supera trabajos anteriores en gran magnitud. 1. Introduccin La bsqueda de patrones secuenciales en las bases de datos de grandes transacciones es un problema de minera de datos importante. El problema de la extraccin de patrones secuenciales y el marco de apoyo fueron propuestos originalmente por Agrawal y Srikant. Sea un conjunto de elementos .Llamamos a un sub conjunto un conjunto de elementos y llamamos a el tamao de X. Una secuencia es una lista ordenada de elementos donde . El tamao, m, de una secuencia es el nmero de conjuntos de elementos en la secuencia, Una secuencia con un largo l es llamada una l-secuencia. Una secuencia esta contenida en otra secuencia si existen enteros de tal manera que . Si la secuencia es contenida en la secuencia , entonces podemos llamar a la secuencia una subsecuencia de ya una supersecuencia de . Una base de datos D es un conjunto de tuplas (cid, tid,X), donde cid es Id-Cliente, tid es Id-Transaccion, basado en una transaccin. . El largo l de una secuencia esta definida como

Tabla 1: Conjunto de datos ordenados por CID y TID

Tabla 2: Secuencia para cada cliente Y X es un elemento de tal manera que . Cada tupla de D se conoce como una transaccin. Para un determinado id-cliente, no existen transacciones con el mismo Id de transaccin. Todas las transacciones con el mismo cid puede ser visto como una secuencia de conjuntos de elementos ordenados mediante el aumento de tid. Una representacin anloga a la base de datos es, pues, un conjunto de secuencias de operaciones, una secuencia de cada cliente, y nos referimos a esta doble representacin de D como su representacin secuencial. El valor absoluto de una secuencia en la representacin de la secuencia de una base de datos D se define como el nmero de secuencias que contiene , y el valor relativo esta definido como el porcentaje de secuencias que contiene . Vamos a utilizar el valor absoluto y relativo de manera intercambiable en el resto del paper. El valor de en D esta denotado por . Teniendo en cuenta un valor lmite minSup, una secuencia es llamado un patrn de secuencias frecuentes en D si . El problema de la extraccin de patrones secuenciales es encontrar todas las frecuencias de patrones secuenciales para una base de datos D, teniendo en cuenta un valor lmite sup. La tabla 1 muestra el conjunto de datos que consta de tuplas de (id-cliente, id-transaccin, conjunto de elementos) para la transaccin. Se clasifica Id-cliente y luego por IdTransaccin. La Tabla 2 muestra la base de datos en su representacin secuencial. Considere la secuencia de los clientes 2, el tamao de esta secuencia es de 2, y la longitud de esta secuencia es de 4.

Supongamos que queremos encontrar el valor de la secuencia de . En la Tabla 2, sabemos que es una subsecuencia de las secuencias para el cliente 1 y el cliente 3, pero no es una subsecuencia de la secuencia para el cliente 2. Por lo tanto, el valor de es 2 (de un mximo de 3), o 0.67. Si el usuario define el valor mnimo es inferior a 0.67, entonces es considerado frecuente. 1.1. Contribuciones de este paper En este paper, tomamos un enfoque a sistemas para el problema de la minera de patrones secuenciales. Nosotros proponemos un algoritmo eficiente llamado SPAM(Sequential PAttern Mining) que integra una variedad de contribuciones de algoritmos antiguos y nuevos en un algoritmo prctico. SPAM asume que la base de datos(y todas las estructuras de datos utilizadas para el algoritmo) caben por completo en la memoria principal. Con el tamao de las actuales memorias principales que gigabytes y van creciendo, muchas bases de datos medianas y grandes se convertirn pronto residentes de memoria. Teniendo en cuenta la complejidad computacional que est involucrada en la bsqueda de patrones secuenciales, incluso en pequeas bases de datos con variedad de registros, esta suposicin no esta muy lejos de la prctica. Dado que todos los algoritmos para la bsqueda de patrones secuenciales, incluyendo algoritmos que trabajan con bases de datos residentes en disco, son vinculados a la CPU, creemos que nuestro estudio arroja luz sobre el cuello de botella ms importante. SPAM es el mejor, el primero que da profundidad a la estrategia de bsqueda de patrones de extraccin secuencial. Una caracterstica adicional ms destacada de SPAM es su propiedad en lnea de salida de los patrones secuenciales de diferente longitud, compara esto con una estrategia de bsqueda que da resultado a todos los patrones de longitud 1, todos los patrones de longitud 2, y as sucesivamente. Nuestra implementacin SPAM usa un diseo de mapa de bits vertical de los datos que le permite ser simple y eficiente.

2. El algoritmo SPAM En esta seccin vamos a describir el rbol lexicogrfico de las secuencias en que se basa el algoritmo. Tambin se discutir la forma en que recorrer el rbol y los mtodos de poda que se utiliza para reducir el espacio de bsqueda. 2.1. rbol lexicogrfico de las secuencias Esta parte del documento describe el marco conceptual de la secuencia de red en la que se basa nuestro enfoque. Un enfoque similar ha sido utilizado para el problema de la minera de conjuntos de elementos frecuentes en MaxMiner [3] y la MAFIA [5]. Nosotros utilizamos este marco para describir nuestro algoritmo y algunos trabajos relacionados. Supongamos que hay un orden lexicogrfico de elementos I en la base de datos. Si el elemento i se

produce antes que el elemento j en el ordenamiento, entonces se denota como . Este orden se puede extender a las secuencias mediante la definicin de si es una subsecuencia de . Si no es una subsecuencia de entonces no hay ninguna relacin en ese orden. Considere todas las secuencias dispuestas en una secuencia de rboles(abreviado,arbol) con esta estructura. La Raiz del rbol se marca con null. Recursivamente, si n es un nodo en el rbol, entonces todos los nodos n son hijos de n de tal manera que y . Tenga en cuenta que dada esta definicin, el rbol es infinito. Debido a una instancia de entrada de base de datos finito para el problema, todos los rboles que veamos en la prctica son finitos. Cada secuencia en el rbol de secuencia puede ser considerada como una secuencia de secuencia extendida o una secuencia de un conjunto de elementos extendidos. Una secuencia de secuencia extendida es una secuencia generada por la adicin de una nueva transaccin que consiste en un solo elemento al final de la secuencia de su padre en el rbol. Un conjunto de elementos de una secuencia extendida es una secuencia generada por la adicion de un elemento al final del conjunto de elementos en la secuencia padre, de tal manera que el elemento es mayor a cualquier otro elemento en el conjunto de elementos final. Por ejemplo, si tenemos una secuencia , entonces es una secuencia de secuencia extendida de y es un conjunto de elementos de la secuencia extendida de . Si se generan secuencias por recorrer el rbol, cada nodo del rbol puede generar una secuencia de secuencia extendida hija y una secuencia de conjunto extendidos hijos. Nos referimos al proceso de generacin de secuencia de secuencias extendidas como el paso de la secuencia de extensin (abreviado, paso S), y nos referimos al proceso de generacin de secuencia de un conjunto de elementos extendidos como el paso de extensin de un conjunto de elementos (abreviado, paso I). Por lo tanto podemos asociar a cada nodo n en el rbol a dos conjuntos: , el conjunto de los elementos seleccionados que son considerados para una posible extensin de paso-S del nodo n (abreviado, Extensin-S), y , que identifica al conjunto de elementos candidatos que se van a considerar para un posible extensin de paso I (abreviado, Extensin I).

Figura 1 : El rbol de la secuencia lexicogrfica La figura 1 muestra un ejemplo de un rbol secuencia completa de dos elementos, A y B, dado que el tamao mximo de una secuencia es 3. El elemento superior del rbol es la secuencia nula y cada nivel inferior k contiene todas las ksecuencias, que se ordenan lexicogrficamente con la secuencia de secuencias extendidas ordenadas antes de la secuencia de elementos extendidos. Cada elemento en e rbol solo genera ya sea por un paso-S o un paso-I, por

ejemplo: la secuencia ({a, b}, {b}) es generado desde la secuencia ({a, b}) y no de la secuencia ({a}, {b}) o ({b}, {b}).

2.2.

Profundidad al recorrido del rbol SPAM recorre el rbol de secuencia que se describi antes en un estndar de forma profunda. En cada nodo n, el valor de cada secuencia extendida hija y cada conjunto de elementos extendidos hijos son probados. Si el valor de la secuencia generada es mayor o igual a minSup. Almacenamos la secuencia y repetimos DFS recursivamente en S. (Nota, Tenga en cuenta que la longitud maxima de cualquier secuencia es limitada ya que la base de datos de entrada es finita). Si el valor de S es menor que minSup, entonces no es necesario repetir DFS en S por el principio a priori, ya que cualquier secuencia generada hija apartir de S no sern frecuentes. Si ninguno de los hijos generados son frecuentes, el nodo es una hoja y se puede dar marcha atrs en el rbol.

2.3.

Poda El algoritmo anterior tiene una gran espacio de bsqueda. Para mejorar el rendimiento de nuestro algoritmo, podemos podar la extensin S y la extensin I de cada nodo n en el rbol. Nuestras tcnicas de poda son basadas a priori y estn dirigidas para minimizar el tamao de Sn y en cada nodo n. Al mismo tiempo, las tcnicas de garanta de que todos los nodos correspondientes a las secuencias frecuentes son visitadas.

2.3.1. Podando Paso-S Una de las tcnicas utilizadas en la poda del paso-S ??. Considera una secuencia S con nodo n y asumimos una secuencia de secuencia extendida . Supone que es frecuente pero no es ( { }) y frecuente. Por el principio a priori ( { } )y ( { }) no pueden ser frecuentes ya que ambos contienen la subsecuencia . Por lo tanto podemos eliminar desde y , donde m es cualquier nodo correspondiente a una frecuencia hija de una secuencia extendida de S. Ejemplo Supongamos que tenemos Las posibles en el rbol y suponemos que

secuencias de secuencia extendida son y . Asume que y no son frecuentes. Por el principio apriori, sabemos que ninguna de las siguientes secuencias pueden ser frecuentes ya sea:

. Por lo tanto, cuando estamos en el nodo ({a}, {a}) o ({a}, {b}), no tenemos para llevar a cabo Paso-I o Paso-S usando los elementos c y d, es decir

2.3.2. Podando Paso-I La segunda tcnica de podar el hijo del paso-I. Considera la secuencia del conjunto de elementos extendidos de . Supongamos que la secuencia es y , y asumimos que ij < ik. Si es frecuente pero no es frecuente, entonces por el principio a priori, no puede ser frecuente. Por lo tanto podemos eliminar desde , donde m es cualquier nodo correspondiente a una frecuencia de elementos extendidos hijos de S. Podemos eliminar de Sm los mismo elementos que hicimos en la poda del paso-S. Para suponer que durante la poda del paso-S se descubri que es poco frecuente. Entonces tambin lo ser es poco frecuente para cualquier conjunto de elementos extendidos frecuentes hijos de S. La Figura 2 muestra el pseudocdigo de nuestro algoritmo despus de que aadir ambos pasos de poda paso-S y paso-I. despus de la poda los elementos correctos de Sm y Im, pasamos las nuevas listas a la llamada recursiva siguiente. Las listas se podan exactamente como fue descrito en los apartados anteriores.

Ejemplo Pensemos en el mismo nodo ({a}) descrito en la seccin anterior. Las posibles secuencias del conjunto de elementos extendidos son ({a, b}), ({a, c}), y ({a, d}). Si ({a, c}) no es frecuente, entonces ({a, b, c}) debera no ser tambin frecuente por el principio apriori. Por lo tanto, . 3. Representacin de datos 3.1. Estructura de datos Para permitir un conteo eficiente, nuestro algoritmo utiliza una representacin de mapa de bits vertical. Un mapa de bits vertical es creado para cada elemento del conjunto de datos, y cada mapa de bits tiene un bit que corresponde a cada transaccin en el conjunto de datos. Si el elemento i aparece en transaccin j, entonces el bit correspondiente para la transaccin j en el mapa de bits para cada elemento i se establece en uno, de lo contrario, el bit se pone a cero. Para activar el conteo eficiente y una generacin candidata, dividimos el mapa de bits de tal manera que todas las transacciones de cada secuencia en la base de datos aparecern juntas en el mapa de bits (Figura 3). Si la transaccin es m antes de la transaccin n en una secuencia, entonces el ndice del bit correspondiente al m es menor que el de los bits correspondientes a n. Tambin utilizamos diferentes de tamao de mapas de bits dependiendo de cuntas transacciones se presentan en una secuencia,posponemos un anlisis hasta que analizemos el valor del conteo. Esta idea de mapa de bits se extiende naturalmente a conjuntos de elementos. Asumimos que tenemos un mapa de bits par el elemento i y un mapa de bits para el elemento j. El mapa de bits para el conjunto de elementos {i, j} es simplemente la funcin bit a bit Y de estos dos mapas de bits. Las secuencias tambin se pueden representar mediante mapas de bits. Si el ultimo elemento de la secuencia est en la transaccin j y todos los otros conjuntos de elementos de la secuencia aparecen en transaciones antes de j, entonces el bit correspondiente a j sern en 1; en otro caso ser 0.Definimos B(s) como el mapa de bits para la secuencia s. El coteo eficiente del valor es una de la principales ventajas de la representacin de mapa de bits vertical de los datos. Para lograr esto, la particin de las secuencias de los clientes en grupos de diferente base en funcin a su longitud, cuando leemos el conjunto de datos. Si el tamao de una secuencia esta entre 2k +1 y 2k + 1, consideramos esto como una secuencia 2k + 1 bit. El mnimo valor de k es 1 (es decir cualquier secuencia de tamao menor o igual a 4 se considera como una secuencia de 4 bits). Ignoramos cualquier secuencia de tamao mayor que 64 porque en la mayora de bases de datos prcticas esta situacin no se materializar. Cada conjunto de secuencia 2k bits correspondera a un diferente mapa de bit, y en ese mapa de

bits la longitud de cada seccin seria 2k bits. El valor de conteo para cada cliente, entonces se convierte en una simple verificacin de que si el mapa de bits correspondiente contiene todos los ceros o no.

Vamos a considerar el conjunto de datos que se muestran en la Tabla 1. La representacin de mapa de bits de este conjunto de datos se muestra en la Figura 3.Cada mapa de bits verticales se divide en tres secciones y cada seccin corresponde a la secuencia de un cliente. Puesto que todas las secuencias de los clientes tienen menos de cuatro operaciones, todas ellas se representan como secuencias de 4 bits. La transaccin 6 contiene los elementos b, c y d, de modo que el bit que corresponde a la operacin en cada mapa de bits b, c y d se establece en 1. Puesto que la transaccin 6 no contiene el elemento a, el bit correspondiente para la transaccin en un mapa de bit se establece en 0. 3.2. Generacin candidata En esta seccin, describiremos como realizaremos una generacin candidata usando la representacin en mapa de bit descrita antes. Primero consideramos el proceso del paso-S, luego el proceso del paso-I. 3.2.1. Proceso paso-S Supongamos que tenemos un mapa de bits B (Sa) y B (i) para la secuencia Sa y el elemento i respectivamente, y que nosotros queremos realizar un paso-S en Sa usando i. Este paso S tiene que aadir el conjunto de elementos {i} para

Sa. El mapa de bit para la nueva secuencia , B (Sg), debera tener la propiedad de que si un bit tiene 1, entonces le correspondera la transaccin j que debe contener i, y todos los otros conjuntos de elementos en Sg deben esatr contenidos en la transaccin antes de j. Consideremos una seccin (una secuencia de cliente) de mapa de bits; vamos a hacer referencia a un mapa de bit en este tema. Supongamos el ndice del primer bit con valor 1 en B (Sa) es k. Nota para cada bit k, le corresponde una transaccin j contenida al final del conjunto de elementos de Sa, y todos los otros conjunto de elementos de Sa deberan estar contenidos antes de la transaccin j. una observacin es que desde {i} es aadido despus del el ultimo conjunto de elementos en Sa, debe estar presente estrictamente despus de una transaccin j en Sg . Por lo tanto, k bits en B (Sg) debe tener valor cero. Otra observacin es que si el elemento i se encuentra en ninguna transaccin posterior a j, entonces el bit correspondiente en B (Sg) debe ser un 1. Por lo tanto, todos los bits indexados despus de k bits en B (Sg) debe tener el mismo valor que el bit correspondiente en B (i). Nuestro mtodo para llevar a cabo paso-S se basa en estas dos observaciones. En primer lugar, generar un mapa de bits de B (Sa) de tal manera que todos los bits de menor o igual a k se pongan a 0, y todos los bits despus de k se fijen en 1. A esto le llamamos mapa de bits transformados de un mapa de bit. A continuacin, el mapa de bit transformado con el elemento del mapa de bits.. El mapa de bits resultante tiene las propiedades anteriormente descritas y es exactamente el mapa de bits de la secuencia generada. En nuestra implementacin, la transformacin se realiza mediante una tabla de bsqueda.

En la figura 4 mostramos un ejemplo del proceso del paso-S. Vamos a considerar el mapa de bit B (({a})), y supongamos que queremos generar B (({a}, {b})). Desde ({a}, {b}) es una secuencia de secuencia extendida de ({a}), nosotros tenemos que realizar el proceso del paso-S en B (({a})). Considere la posibilidad de la seccin del mapa de bits para el

primero de los clientes. El primer bit con valor 1 es el primer bit en la seccin. Por lo tanto, en el mapa de bits transformado B (({a})s), el primer bit se pone en 0 y todos los otros bits en la seccin se establecen en 1. El resultados es un mapa de bit obtenido por ANDing la transformacin del mapa de bit y B ({b}) es exactamente B (({a}, {b})). En el mapa de bit final, el segundo bit y el tercer bit para el primer cliente tienen valor 1. Esto significa que el ultimo conjunto de elementos es decir {b} de una secuencia aparece tanto en la transacciones 2 y 3, y el conjunto de elementos {a} aparecen en al transaccin 1.

3.2.2. Proceso del paso-I Supongamos que se dan B (Sa) y B (i), y queremos realizar el paso-I en Sa usando i. Este paso genera una nueva secuencia Sg por mediante la adicin del elemento i para el final del conjunto de elementos de Sa. El mapa de bit para Sg debera tener la propiedad de que si un bit tiene valor 1, entonces la transaccin correspondiente a j debera contener el ltimo del conjunto de elementos en Sg, y todos los otros conjuntos de elementos en Sg deben estar en las transacciones antes de j. Ahora, consideramos el resultado del mapa de bit B (Sr) obtenido por ANDing B (Sa) y B (i). Un bit k en B (Sr) tiene un valor 1 si y solo si el bit k en B (Sa) es 1 y el bit k en B (i) es tambin 1. Para que el bit k en B (Sr) sea 1, la transaccin j que corresponde al bit k debe, por lo tanto, contener el ltimo conjunto de elementos en Sa y el elemento i. En una adicion, todos los otros conjuntos de elementos de Sa deben aparecer en transacciones antes de j. resulta que B (Sr) satisface cada requerimiento que B (Sg) debe satisfacer; B (Sr) es por lo tanto exactamente el mapa de bit para la secuencia generada.

La figura 5 muestra un ejemplo de un proceso de Paso-I. Vamos a considerar B (({a}, {b})) de la seccin anterior, y asumimos que queremos generar B (({a}, {b, d})). Desde ({a}, {b, d}) es una secuencia de conjunto de elementos extendidos de (({a}, {b})),tenemos que realizar un proceso de paso-I en B (({a}, {b})). El mapa de bit que resulta del ANDing de B (({a}, {b})) y B ({d}) es exactamente B (({a}, {b, d})). En el mapa de bits final, el segundo bit y el tercer bit para el primer cliente tiene valor 1, lo que significa que el ultimo conjunto de elementos es decir {b, d} de la secuencia aparece tanto en la transaccin 2 y transaccin 3, y el otro conjunto de elementos en la secuencia es decir {a} aparece en la transaccin 1. 4. Evaluacin experimental En esta seccin, Presentamos nuestros resultados experimentales en el desempeo de SPAM en comparacin con SPADE y PrefixSpan. Hemos obtenido el cdigo fuente de SPADE de Mohammed Zaki, y un ejecutable de PrefixSpan de Jiawei Han. Todos los experimentos fueron realizados en una Pentium 4, con procesador Intel 1.7GHz con 1gb de memoria, sobre Microsoft Windows 2000.Todos los algoritmos de rboles fueron escritos en C++, y SPAM y SPADE fueron compilados usando g++ en cygwin con la opcin del compilador -03. Durante todas las pruebas, la salida de las secuencias frecuentes fue desactivada por la veces que corri este algoritmo que fue registrado. Nuestras pruebas muestran que SPAM supera a la SPADE y PrefixSpan por mucho. 4.1. Generacin de datos sintticos

Para probar el algoritmo que genera numerosos conjuntos de datos sintticos con el programa IBM AssocGen. Hay varios factores que hemos considerado mientras compara SPAM y SPADE. Estos factores se muestran en la Tabla 3.
4.2. Comparacin con SPADE y PrefixSpan Comparamos SPAM con SPADE y PrefixSpam con 2 mtodos diferentes. En primer lugar, hemos comparado los tres algoritmos en varios conjuntos de datos pequeos, medianos y grandes para diferentes valores. Este conjunto de

pruebas muestra que SPAM supera a SPADE en un factor de 2.5 en un conjunto de datos pequeo y mejor para un orden de magnitud para un conjunto de datos razonablemente grandes. PrefixSpam supera a SPAM ligeramente en un conjunto de datos muy pequeos, pero en conjunto de datos grandes SPAM supera a PrefixSpam mucho. Los resultados de algunas pruebas estn mostradas en las figuras 6 al 11. La razn principal de que el SPAM funciona tan bien para grandes conjuntos de datos se debe a la representacin de mapa de bits de los datos para el conteo eficiente. El proceso de conteo es fundamental ya que se realiza muchas veces en cada etapa recursiva, y el SPAM se maneja de una manera extremadamente eficiente. Para conjuntos de datos definitivos, la sobrecarga inicial necesaria para configurar y utilizar la representacin de mapa de bits en algunos casos supera los beneficios de contar ms rpido, y se ejecuta a causa de PrefixSpan corre un poco ms rpido para conjuntos de datos pequeos. Los niveles de como las secuencias candidata se alargan, el recurseo ms abajo en el rbol y conteo es cada vez ms importante. En general, nuestras pruebas de tiempo de ejecucin demuestran que sobresale SPAM a encontrar las secuencias frecuentes de muchos tipos diferentes de grandes conjuntos de datos. Nuestro segundo mtodo de prueba compar el rendimiento de los algoritmos con varios parmetros en la generacin de datos fue variada. Se investig el impacto de los diferentes parmetros de la generacin de datos sobre el tiempo de ejecucin de cada algoritmo. Los parmetros que variaron el nmero de clientes en el conjunto de datos, el nmero promedio de transacciones por cliente, el nmero promedio de artculos por transaccin, el tamao medio de conjuntos de elementos en la mxima secuencia, y la duracin media de la secuencia maxima. Para cada prueba, un parmetro fue variado y los dems, incluido el valor mnimo, se mantiene fijo. Los resultados de estas pruebas se muestran en las figuras 12 al 15.

Nuestros experimentos muestran que el nmero promedio de elementos por transaccin y el nmero promedio de transacciones por el aumento de los clientes, y como la longitud media de la disminucin de las secuencias mxima, el rendimiento de SPAM aumenta an ms en relacin con el rendimiento de la SPADE y PrefixSpan. Este aumento de rendimiento se debe a factores similares como en el caso del tamao del conjunto de datos. Mientras que SPAM sigue superando a la SPADE y PrefixSpan como el tamao medio de los conjuntos de elementos en las secuencias mximas y el nmero de clientes en el incremento de conjunto de datos la discrepancia entre los tiempos de funcionamiento no aument significativamente con los dems parmetros. La razn de que el incremento baje en el rendimiento es que el aumento de estos

parmetros no hace eficiente el conteo ms importantes tanto como lo hace el aumento de los otros parmetros, sin embargo, el SPAM es mucho ms rpido que la SPADE y PrefixSpan en todos los casos con conjuntos de datos relativamente grandes. 4.3. Examen de los requerimientos de espacio

SPAM porque utiliza un recorrido en profundidad de bsqueda espacial, es muy ineficiente en el espacio en comparacin con SPADE. Podemos hacer una estimacin del blow-up en requerimientos de espacio sobre la base de los parmetros de un conjunto de datos de entrada. Sea D el nmero de clientes en la base de datos, C el promedio de transacciones por cliente, y N el nmero total de artculos a travs de todas las transacciones. Mediante la representacin de mapa de bits verticales para almacenar los datos transaccionales, para cada elemento necesitamos un bit de transaccin en la base de datos. Puesto que hay D X C transacciones, SPAM requiere (D x C x N)/8 bytes para almacenar todos los datos. Nuestra representacin es ineficiente, ya que incluso cuando un elemento no est presente en una transaccin, se almacena un cero para representar este hecho. La representacin de los datos que SPADE usa es ms eficiente. Para cada transaccin, Para cada transaccin, cada elemento de dicha transaccin debe ser registrada. Denotemos el nmero promedio de artculos por transaccin como T. En este caso, tenemos que registrar aproximadamente D x C x T elementos. Suponiendo que cuesta alrededor de 2 bytes para almacenar un elemento dado, SPADE usa acerca de D x C x T x 2 bytes. Por lo tanto, el SPAM es menos eficiente con el espacio entonces SPADE siempre que 16T < N. En nuestra muestra de datos hay miles de los artculos y aproximadamente 10 a 20 elementos por cada transaccin. Como resultado, SPADE espera superar en ms o menos SPAM en trminos de requerimientos de espacio por factores que van desde 5 a 20, reflejando el aumento de rendimiento de SPAM. As, la posibilidad de elegir entre la SPADE y SPAM es claramente un espaciotiempo de compensacin. Si el espacio se convierte en un gran problema, es posible comprimir los mapas de bits que utiliza SPAM. Esencialmente, podemos quitar las transacciones de los mapas de bits de una secuencia que tales operaciones no contribuirn a la cuenta de valor de la secuencia. No podemos incluir un anlisis completo de mapa de bits, debido a las limitaciones de espacio de compresin.

5. TRABAJOS RELACIONADOS

Agrawal y Srikant present el problema de la minera patrn secuencial en [2]. Muchos mtodos, que se basa la Propiedad Apriori [1], se han propuesto para la extraccin secuencial los patrones de potenciales [2, 11, 9, 6, 4, 7, 8]. Apriori principio de los estados que el hecho de que cualquier supersecuencia de una secuencia con frecuencia no no debe ser frecuente. Spade [12] y PrefixSpan [9] son dos de los algoritmos ms rpidos que el mo secuencial patrones.

6. Conclusiones

En este trabajo se presenta un algoritmo para encontrar rpidamente todas las secuencias frecuentes en una lista de transacciones. El algoritmo utiliza un recorrido en profundidad del espacio de bsqueda combinada con una representacin de mapa de bits verticales para almacenar cada secuencia. Los resultados experimentales demostraron que el algoritmo supera a SPADE y PrefixSpan en grandes conjuntos de datos de ms de un orden de magnitud. Nuestros nuevos componentes algortmicos incluida la representacin de mapa de bits, el recorrido Paso-s/paso-I, y Poda Paso-S/Paso-I contribuyen a este tiempo de ejecucin excelente.

Você também pode gostar