¿Buenos paquetes de "minería de secuencia frecuente" en Python?

12

¿Alguien ha usado (y le ha gustado) algún buen paquete de "minería de secuencia frecuente" en Python que no sea el FPM en MLLib? Estoy buscando un paquete estable, preferiblemente calmado mantenido por personas. ¡Gracias!

edamame
fuente

Respuestas:

6

El único que he encontrado es: https://github.com/bartdag/pymining

tienen una implementación de BIDEallí pero no se mantiene el código.

PD Me estoy uniendo a su pregunta: - |

yossico
fuente
Solo para aclarar, no implementó BIDE, que extrae secuencias cerradas frecuentes. De hecho, implementó PrefixSpan, que extrae todas las secuencias frecuentes. PrefixSpan y BIDE comparten el mismo marco de enumeración de patrones, y es por eso que los autores citaron el artículo BIDE.
Chuancong Gao
Lo que hice al final se usa: philippe-fournier-viger.com/spmf - Es una lib JAVA pero lo he envuelto con python para satisfacer mis necesidades
yossico
6

Mantengo activamente una implementación eficiente tanto de PrefixSpan como de BIDE en Python 3, soportando la minería de patrones secuenciales frecuentes y top-k (cerrados).

https://github.com/chuanconggao/PrefixSpan-py

Chuancong Gao
fuente
Me gustaría implementarlos en JavaScript, pero no entiendo completamente cómo funcionan estos algoritmos. ¿Puedes explicarlo en inglés simple?
inf3rno
Le sugiero que compruebe mi implementación mínima original de PrefixSpan. Su parte central solo toma 15 líneas. gist.github.com/chuanconggao/4df9c1b06fa7f3ed854d5d96e2ae499f
Chuancong Gao
¡Gracias! Intentaré traducirlo a js, pero no será fácil. :-) Afaik PrefixSpan está creando bases de datos proyectadas en función de dónde coincide el prefijo. Actualmente estoy leyendo sobre BIDE, que es la teoría es un algoritmo aún mejor.
inf3rno
Hay demasiadas diferencias entre las colecciones js y python. No logré reproducir el código en js. Lo intentaré de nuevo más tarde.
inf3rno
No estoy seguro de si ayuda, pero tengo otra versión Scala de PrefixSpan. github.com/chuanconggao/PrefixSpan-scala Sin embargo, le sugiero que comprenda completamente el algoritmo antes de implementarlo.
Chuancong Gao
1

He usado la función fpgrowth de fim en el pasado y funcionó bien. Sin embargo, es un poco difícil instalarlo en máquinas con Windows. Parece ser un sitio web académico, así que no estoy seguro de si están haciendo muchas actualizaciones al código con el tiempo ...

Jed
fuente
1

¿Has considerado escribirlo tú mismo? Porque probablemente no hay una biblioteca actualizada actualizada en este momento.

Mira esto, es lo básico: los patrones PrefixSpan y Closed / Maximal en realidad no son tan difíciles de implementar:

http://sequenceanalysis.github.io/

HonzaB
fuente