Dobre pakiety „częstego przeszukiwania sekwencji” w Pythonie?

14

Czy ktoś używał (i lubił) jakieś dobre pakiety „częstego przeszukiwania sekwencji” w Pythonie inne niż FPM w MLLib? Szukam stabilnego pakietu, najlepiej utrzymywanego przez ludzi. Dziękuję Ci!

Edamame
źródło

Odpowiedzi:

6

Znalazłem tylko: https://github.com/bartdag/pymining

mają tam implementację, BIDEale nie jest to utrzymywany kod.

PS Dołączam do twojego pytania: - |

Yossico
źródło
Dla wyjaśnienia, nie wdrożył BIDE, który wydobywa często zamknięte sekwencje. W rzeczywistości zaimplementował PrefixSpan, który wydobywa wszystkie częste sekwencje. PrefixSpan i BIDE mają tę samą strukturę wyliczania wzorców i dlatego autorzy zacytowali artykuł BIDE.
Chuancong Gao,
Użyłem tego, co zrobiłem w końcu: philippe-fournier-viger.com/spmf - To jest biblioteka JAVA, ale
owinęłam ją pytonem,
6

Aktywnie utrzymuję wydajną implementację zarówno PrefixSpan, jak i BIDE w Pythonie 3, obsługując wyszukiwanie zarówno częstych, jak i top-k (zamkniętych) wzorców sekwencyjnych.

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

Chuancong Gao
źródło
Chciałbym zaimplementować je w javascript, ale nie do końca rozumiem, jak działają te algorytmy. Czy możesz to wyjaśnić zwykłym angielskim?
inf3rno
Sugeruję sprawdzenie mojej oryginalnej minimalnej implementacji PrefixSpan. Jego podstawowa część zajmuje tylko 15 linii. gist.github.com/chuanconggao/4df9c1b06fa7f3ed854d5d96e2ae499f
Chuancong Gao
Dzięki! Spróbuję przetłumaczyć to na js, ale nie będzie to łatwe. :-) Afaik PrefixSpan buduje prognozowane bazy danych na podstawie tego, gdzie pasuje prefiks. Obecnie czytam o BIDE, który jest teorią jeszcze lepszym algorytmem.
inf3rno
Istnieje zbyt wiele różnic między kolekcjami js i python. Nie udało mi się odtworzyć kodu w js. Spróbuję ponownie później.
inf3rno
Nie jestem pewien, czy to pomaga, ale mam inną wersję PrefixSpan Scali. github.com/chuanconggao/PrefixSpan-scala Jednak bardzo sugeruję, abyś w pełni zrozumiał algorytm przed wdrożeniem.
Chuancong Gao
1

Użyłem fim „s funkcję fpgrowth w przeszłości i to działało dobrze. Jednak instalowanie na komputerach z systemem Windows jest dość uciążliwe. Wygląda na stronę akademicką, więc nie jestem pewien, czy z czasem wprowadzają wiele aktualizacji kodu ...

Jed
źródło
1

Czy zastanawiałeś się nad napisaniem go samemu? Ponieważ prawdopodobnie nie ma obecnie aktualnej biblioteki.

Sprawdź to, jego podstawowe - wzorce PrefixSpan i Closed / Maximal nie są tak trudne do wdrożenia:

http://sequenceanalysis.github.io/

HonzaB
źródło