Materi
Itemset sering (frequent itemset) adalah himpunan item yang support-nya mencapai ambang minimum, disebut minsup. Aturan A → B hanya dibangun dari itemset {A, B} yang sering. Masalahnya jumlah kombinasi: 100 jenis barang menghasilkan 4.950 pasangan dan 161.700 kombinasi tiga barang, dan menghitung semuanya di setiap transaksi mahal.
MMDS bab 6 memakai sifat monotonisitas: bila sebuah itemset sering, semua himpunan bagiannya juga sering. Kebalikannya yang dipakai untuk memangkas: bila satu himpunan bagian tidak sering, itemset yang lebih besar pasti tidak sering dan tidak perlu dihitung. Algoritma A-Priori bekerja bertingkat. Hitung setiap item tunggal dan simpan yang sering. Bentuk kandidat pasangan hanya dari item yang sering, hitung, dan simpan yang sering. Bentuk kandidat tiga item yang semua pasangannya sering, dan seterusnya sampai tidak ada kandidat tersisa.
Contoh dengan minsup 2 transaksi pada lima nota {amplop, bolpoin}, {amplop, cap}, {amplop, bolpoin, cap}, {bolpoin, dus}, dan {amplop, bolpoin}. Hitungan tunggal: amplop 4, bolpoin 4, cap 2, dus 1, jadi dus dibuang. Kandidat pasangan: amplop-bolpoin (3), amplop-cap (2), dan bolpoin-cap (1); yang sering hanya dua pertama. Kandidat {amplop, bolpoin, cap} dipangkas tanpa dihitung karena {bolpoin, cap} tidak sering.
from itertools import combinations
sering_1 = ["amplop", "bolpoin", "cap"]
print(list(combinations(sering_1, 2)))
# [('amplop', 'bolpoin'), ('amplop', 'cap'), ('bolpoin', 'cap')]