2012-04-01 3 views
1

이벤트 시퀀스의 데이터베이스에서 공통 패턴을 찾아야합니다. 그래서 나는 해결책을 찾기 위해 the longest common substring problemthe python implementation을 고려했다.데이터베이스의 공통 패턴

가장 긴 공통 부분 문자열 만 검색하는 것이 아닙니다. 데이터베이스에 자주 나타나는 더 짧은 공통 부분 문자열을 허용합니다.

일부 알고리즘, 구현 방법 또는이 문제에 대한 일반적인 조언을 제안 할 수 있습니까?

답변

1

이전 답변은 Apriori를 제안했습니다. 그러나 Apriori가 시간을 고려하지 않기 때문에 빈번한 시퀀스를 찾고 싶다면 Apriori는 부적절합니다 (Apriori는 비효율적 인 알고리즘 임).

여러 시퀀스에 공통된 하위 시퀀스를 찾으려면 PrefixSpan 및 SPAM과 같은 순차 패턴 마이닝 알고리즘을 사용하는 것이 더 적합 할 수 있습니다.

일부 예상 검색어를 사용하려면 순차 규칙 마이닝 알고리즘을 사용하는 것이 좋습니다.

I가 당신이 내 웹 사이트에서 다운로드 할 수있는 순차 패턴 마이닝 및 순차적 인 규칙 마이닝 알고리즘의 오픈 소스 자바 구현 : 나는 당신이 한 번에 데이터 8GB의를 처리 할 수 ​​있다고 생각하지 않는다 http://www.philippe-fournier-viger.com/spmf/

이러한 알고리즘. 그러나 그것은 출발점이 될 수 있습니다. 사실, 이러한 알고리즘 중 일부는 디스크 기반 전략을 구현하여 매우 큰 데이터베이스의 경우에 적용 할 수 있습니다.

0

Apriori과 같은 상용 항목 집합 채광 방법을 고려 했습니까?

+0

저와 함께 일하는 기계 엔지니어는 20 년 이상 (약 8GB 및 5 밀리언 레코드) 구축 된 데이터베이스의 데이터를 찾고 있습니다. 최종 목표는 유지 보수 태스크에 대한 권고자를 작성하는 것입니다 ("이 트럭의 현재 상태에서 이러한 태스크를 수행해야합니다"와 같은). 그래서, 예, Apriori 알고리즘을 고려했으며 이벤트 사이에 흥미로운 연관성을 발견했습니다. 우리의 현재 문제는 단지 비교를 위해 다른 모델을 찾는 것입니다. LCS와 같은 방법을 사용하는 것에 대한 나의 요지는 패턴을 찾기 위해 단지 두 개의 이야기 만 처리하면된다는 것입니다. –