FMF (Frequent Pattern Mining) 문제를 해결하기위한 알고리즘 개발을 알고있는 한, 개선의 길에는 몇 가지 주요 체크 포인트가 있습니다. 먼저, Apriori 알고리즘은 Agrawal et al.에 의해 1993 년에 제안되었다 . 문제의 공식화와 함께. 알고리즘은 데이터를 유지하기 위해 격자를 사용하여 세트 (파워 세트)에서 일부 세트 를 제거 할 수있었습니다 2^n - 1
. 이 접근법의 단점은 확장 된 각 세트의 빈도를 계산하기 위해 데이터베이스를 다시 읽어야한다는 것이 었습니다.
나중에 1997 년에 Zaki et al. 는 격자 내부의 각 세트의 결과 주파수 를 삽입 한 알고리즘 Eclat을 제안했습니다 . 이것은 격자의 각 노드에서 루트에서 참조 된 노드로 항목을 가진 트랜잭션 ID 세트를 추가하여 수행되었습니다. 주요 기여는 각 세트의 빈도를 알기 위해 전체 데이터 세트를 다시 읽을 필요는 없지만, 그러한 데이터 구조를 구축하는 데 필요한 메모리는 데이터 세트 자체의 크기를 초과 할 수 있다는 것입니다.
2000 년에 Han et al. FPTree 라는 접두사 트리 데이터 구조와 함께 FPGrowth 라는 알고리즘을 제안했습니다 . 이 알고리즘은 상당한 데이터 압축을 제공하는 동시에 후보 항목 세트 생성없이 빈번한 항목 세트 만 생성되도록 허용했습니다. 이는 주로 각 트랜잭션의 항목을 내림차순으로 정렬하여 수행되었으므로 가장 빈번한 항목은 트리 데이터 구조에서 반복이 가장 적은 항목입니다. 트리를 깊이 탐색하는 동안에 만 주파수가 내려 가기 때문에 알고리즘은 자주 사용하지 않는 항목 세트 를 제거 할 수 있습니다.
편집 :
내가 아는 한, 이것은 최첨단 알고리즘으로 간주 될 수 있지만 제안 된 다른 솔루션에 대해 알고 싶습니다. "최첨단"으로 간주되는 다른 FPM 알고리즘은 무엇입니까? 그러한 알고리즘 의 직관 / 주요 기여 는 무엇입니까?
FPGrowth 알고리즘은 여전히 빈번한 패턴 마이닝에서 "최신 상태"로 간주됩니까? 그렇지 않은 경우 어떤 알고리즘이 큰 데이터 세트에서 빈번한 항목 세트를 더 효율적으로 추출 할 수 있습니까?