Algoritma Apriori dalam bahasa Inggris biasa?

9

Saya membaca artikel wiki tentang Apriori. Saya kesulitan memahami langkah prune dan Join. Adakah yang bisa menjelaskan kepada saya bagaimana algoritma Apriori bekerja secara sederhana (sehingga pemula seperti saya dapat mengerti dengan mudah)?

Akan lebih baik jika seseorang menjelaskan proses langkah demi langkah yang terlibat di dalamnya.

Semut
sumber
Anda mungkin tertarik dengan implementasi Python saya .
Martin Thoma

Jawaban:

11

The Artikel Wikipedia tidak terlalu mengesankan. Anda mungkin menemukan slide ini lebih bermanfaat: 1 , 2 , 3 .

Pada setiap level , Anda memiliki set item yang sering (memiliki dukungan yang memadai). kk

Pada level berikutnya, set + item yang perlu Anda pertimbangkan harus memiliki properti yang setiap himpunan bagiannya harus sering (memiliki dukungan yang memadai). Ini adalah properti apriori : setiap himpunan bagian dari itemset sering harus sering.k1

Jadi jika Anda tahu di level 2 bahwa set , , dan adalah satu-satunya set dengan dukungan yang memadai, maka pada level 3 Anda bergabung satu sama lain untuk menghasilkan , , dan tetapi Anda hanya perlu mempertimbangkan lebih lanjut: yang lain masing-masing memiliki himpunan bagian dengan dukungan yang tidak memadai (seperti atau ).{1,2}{1,3}{1,5}{3,5}{1,2,3}{1,2,5}{1,3,5}{2,3,5}{1,3,5}{2,3}{2,5}

Henry
sumber
2

Algoritma Apriori adalah algoritma aturan asosiasi penambangan yang digunakan dalam penambangan data. Ini digunakan untuk menemukan itemet yang sering di antara jumlah transaksi yang diberikan.

Pada dasarnya terdiri dari dua langkah

  1. Bergabung Sendiri
  2. Pemangkasan

Mengulangi langkah-langkah ini k kali, di mana k adalah jumlah item, dalam iterasi terakhir Anda sering mendapatkan set item yang mengandung k item.

Lihat di sini untuk penjelasan yang sangat sederhana dengan contoh terperinci http://nikhilvithlani.blogspot.com/2012/03/apriori-algorithm-for-data-mining-made.html .

Ini memiliki penjelasan sederhana tanpa persamaan yang rumit.

pengguna1239631
sumber
2
Saya meninggalkan pemberitahuan ini karena biasanya lebih baik memberikan ringkasan poin utama yang ingin Anda tekankan daripada tautan ke blog tanpa penjelasan lebih lanjut. Selain itu, tujuan dari situs ini adalah untuk membangun koleksi tanggapan berpengetahuan untuk pertanyaan-pertanyaan spesifik dengan ketergantungan minimum pada tautan menggantung atau sementara. Jadi, kecuali Anda dapat menjamin bahwa tautan di atas akan tetap hidup dalam 10 tahun, katakanlah, saya akan sangat menyarankan Anda untuk merangkum poin-poin utamanya dalam jawaban saat ini.
chl
1

Apriori dalam bahasa Inggris yang sederhana.

Apriori menggunakan pendekatan berulang yang dikenal sebagai pencarian level-bijaksana, di mana k-itemset digunakan untuk mengeksplorasi (k + 1) -itemset . Pertama, himpunan 1-itemet sering ditemukan dengan memindai basis data untuk mengakumulasikan jumlah untuk setiap item, dan mengumpulkan item-item yang memenuhi dukungan minimum. Set yang dihasilkan dilambangkan sebagai L1 . Selanjutnya, L1 digunakan untuk menemukan L2 , himpunan 2-itemset yang sering , yang digunakan untuk menemukan L3, dan seterusnya, sampai tidak ada k-itemset yang lebih sering dapat ditemukan. Temuan setiap Lk membutuhkan satu pemindaian penuh dari database.

Pada iterasi akhir Anda akan mendapatkan banyak k-itemset yang pada dasarnya disebut aturan asosiasi . Untuk memilih aturan yang menarik dari himpunan semua aturan yang mungkin, berbagai tindakan kendala seperti dukungan dan kepercayaan diterapkan.

Ketentuan & Terminologi

  • 1-itemset berarti {a}, {b}, {c}
  • 2-itemset berarti {a, b}, {d, d}, {a, c}
  • K-itemset berarti {i1, i2, i3, ... ik}, {j1, j2, j3, .... jk}

Bergabung dengan langkah: artinya 1-itemset dibuat untuk bergabung dengan dirinya sendiri untuk menghasilkan 2-itemset.

Prune step: set hasil dari gabungan ini difilter dengan ambang dukungan minimum.

set kardinalitas: set hasil dari langkah Prune.

Dukungan = tidak ada transaksi yang mengandung 'a' dan 'b' / total no transaksi.

Dukungan => supp (a, b) => p (a U b)

Yakin = No. transaksi yang mengandung 'a' dan 'b' / tidak dari transaksi yang mengandung 'a'.

Keyakinan => con (a, b) ==> P (b | a) tidak lain adalah probabilitas kondisional.

shakthydoss
sumber