Sejauh yang saya tahu pengembangan algoritma untuk memecahkan masalah Frequent Pattern Mining (FPM), jalan perbaikan memiliki beberapa pos pemeriksaan utama. Pertama, algoritma Apriori diusulkan pada tahun 1993, oleh Agrawal et al. , bersamaan dengan formalisasi masalah. Algoritma ini dapat menghapus beberapa set dari 2^n - 1
set (powerset) dengan menggunakan kisi untuk mempertahankan data. Kelemahan dari pendekatan ini adalah kebutuhan untuk membaca kembali database untuk menghitung frekuensi setiap set diperluas.
Kemudian, pada tahun 1997, Zaki et al. mengusulkan algoritma Eclat , yang memasukkan frekuensi yang dihasilkan dari setiap set di dalam kisi. Ini dilakukan dengan menambahkan, pada setiap node kisi, himpunan transaksi-id yang memiliki item dari root ke node yang dimaksud. Kontribusi utama adalah bahwa seseorang tidak perlu membaca kembali seluruh dataset untuk mengetahui frekuensi setiap set, tetapi memori yang diperlukan untuk menjaga struktur data yang dibangun dapat melebihi ukuran dataset itu sendiri.
Pada tahun 2000, Han et al. mengusulkan sebuah algoritma bernama FPGrowth , bersama dengan struktur data prefiks-pohon bernama FPTree. Algoritme mampu memberikan kompresi data yang signifikan, sementara juga memberikan bahwa hanya set item yang sering akan dihasilkan (tanpa generasi kandidat itemset). Ini dilakukan terutama dengan menyortir item dari setiap transaksi dalam urutan menurun, sehingga item yang paling sering adalah item dengan pengulangan paling sedikit dalam struktur data pohon. Karena frekuensi hanya turun saat melintasi pohon secara mendalam, algoritme dapat menghapus item yang tidak sering.
Edit :
Sejauh yang saya tahu, ini dapat dianggap sebagai algoritma canggih, tapi saya ingin tahu tentang solusi yang diusulkan lainnya. Algoritma apa lagi untuk FPM yang dianggap "canggih"? Apa intuisi / kontribusi utama dari algoritma tersebut?
Apakah algoritma FPGrowth masih dianggap "canggih" dalam penambangan pola yang sering? Jika tidak, algoritma apa yang dapat mengekstrak item yang sering muncul dari dataset besar lebih efisien?