Общие шаблоны в базе данных - PullRequest
1 голос
/ 01 апреля 2012

Мне нужно найти общие шаблоны в базе данных последовательностей событий. Итак, я рассмотрел самую длинную общую проблему подстрок и реализацию Python , ищущую решение.

Обратите внимание, что я не ищу только самую длинную общую подстроку: я принимаю более короткие общие подстроки, часто появляющиеся в базе данных.

Можете ли вы предложить какой-нибудь алгоритм, приемы реализации или общие советы по этой проблеме?

Ответы [ 2 ]

1 голос
/ 07 апреля 2012

Предыдущий ответ предложил Apriori.Но Apriori не подходит, если вы хотите найти частые последовательности, потому что Apriori не учитывает время (также, Apriori - неэффективный алгоритм).

Если вы хотите найти подпоследовательности, которые являются общими для нескольких последовательностей, было бы более целесообразно использовать алгоритм последовательного интеллектуального анализа, такой как PrefixSpan и SPAM.

Если вы хотите сделать некоторые прогнозыдругим вариантом также может быть использование алгоритма последовательного интеллектуального анализа правил.

У меня есть Java-реализации с открытым исходным кодом последовательного анализа шаблонов и алгоритмов последовательного анализа правил, которые можно загрузить с моего веб-сайта: http://www.philippe-fournier-viger.com/spmf/

Я не думаю, что вы могли бы обработать 8 ГБ данных за один раз с помощью этих алгоритмов.Но это может быть отправной точкой.Фактически, некоторые из этих алгоритмов могут быть адаптированы для случая очень больших баз данных путем реализации стратегии на основе дисков.

0 голосов
/ 01 апреля 2012

Рассматривали ли вы методы добычи наборов частых предметов, например Apriori ?

...