[英]Common patterns in a database
我需要在事件序列數據庫中找到常見的模式。 因此,我考慮了最長的常見子字符串問題和python實現尋找解決方案。
請注意,我不僅在搜索最長的公共子字符串:我接受數據庫中經常出現的較短的公共子字符串。
您可以針對此問題提出一些算法,實現技巧或一般建議嗎?
先前的答案建議Apriori。 但是如果您想查找頻繁的序列,則Apriori是不合適的,因為Apriori不會考慮時間(而且Apriori是一種低效的算法)。
如果要查找幾個序列共有的子序列,則使用諸如PrefixSpan和SPAM的序列模式挖掘算法會更合適。
如果您要做出一些預測,那么另一個選擇是使用順序規則挖掘算法。
我擁有順序模式挖掘和順序規則挖掘算法的開源Java實現,可以從我的網站下載: http : //www.philippe-fournier-viger.com/spmf/
我認為您無法使用這些算法一次性處理8 GB的數據。 但這可能是一個起點。 實際上,通過實施基於磁盤的策略,其中一些算法可以適用於非常大的數據庫。
您是否考慮過頻繁項目集挖掘方法(例如Apriori) ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.