Apriori algoritması

R ile Pazar Sepeti Analizi

Christopher Bruffaerts

Statistician

Birliktelik kuralı madenciliği

Birliktelik kuralı madenciliği, büyük işlemsel veritabanlarında öğeler arasındaki ilişkileri keşfeder.

Bu görev iki alt göreve ayrılır:

  • Sık öğe kümesi üretimi: büyük bir işlem veritabanındaki tüm sık öğe kümelerini bulun. Bir öğe kümesi, bir asgari destek eşiğini sağlıyorsa sıktır.

  • Kural üretimi: yukarıdaki sık öğe kümelerinden, asgari güven eşiğini aşan birliktelik kuralları üretin.

  Apriori algoritması, birliktelik kuralı madenciliği sınıfında klasik ve hızlı bir algoritmadır.

R ile Pazar Sepeti Analizi

Apriori algoritmasının fikri

Apriori algoritması:

  • Aşağıdan yukarıya yaklaşım
  • Apriori ilkesinden yararlanarak aday öğe kümeleri üretir

Apriori ilkesi:

  • Bir öğe kümesi sık ise, tüm alt kümeleri de sık olmalıdır.
    • ör. {A,B} sık ise, {A} ve {B} de sıktır
  • Sık olmayan bir öğe kümesi için tüm üst kümeler sık değildir.
    • ör. {A} sık değilse, {A,B}, {A,C} ve {A,B,C} sık değildir.
1 Agrawal ve Srikant (1994)
R ile Pazar Sepeti Analizi

Örnek: 1-öğe kümesi

öğe_kümesi_kafesi2

TID İşlem
1 {A, B, C, D}
2 {A, B, D}
3 {A, B}
4 {B, C, D}
5 {B, C}
6 {C, D}
7 {B, D}
1 Asgari destek eşiği = 3/7 = 0,42
R ile Pazar Sepeti Analizi

Örnek: 2-öğe kümeleri

öğe_kümesi_kafesi3

TID İşlem
1 {A, B, C, D}
2 {A, B, D}
3 {A, B}
4 {B, C, D}
5 {B, C}
6 {C, D}
7 {B, D}
1 Asgari destek eşiği = 3/7 = 0,42
R ile Pazar Sepeti Analizi

Örnek: 3-öğe kümeleri

tüm_öğe_kümeleri

TID İşlem
1 {A, B, C, D}
2 {A, B, D}
3 {A, B}
4 {B, C, D}
5 {B, C}
6 {C, D}
7 {B, D}
1 Asgari destek eşiği = 3/7 = 0,42
R ile Pazar Sepeti Analizi

Örnek: sık öğe kümeleri

öğe_kümesi_kafesi3

Öğe kümesi Sayım Destek
{A} 3 0,42
{B} 6 0,85
{C} 4 0,57
{D} 5 0,71
{A,B} 3 0,42
{B,C} 3 0,42
{B,D} 4 0,57
{C,D} 3 0,42
1 Asgari destek eşiği = 3/7 = 0,42
R ile Pazar Sepeti Analizi

Apriori: kural üretimi

Hesaplaması pahalı sık öğe kümesi üretiminden sonra, apriori kurallar üretir:

  • Tek öncüllü, yüksek güvenli kurallarla başlayın
    • ör. {A,C} $\rightarrow$ {B}
  • Sağ tarafta daha çok öğe içeren, daha karmaşık kurallar kurun
    • ör. {A,C} $\rightarrow$ {B, D}

 

İpucu: birliktelik kurallarında budama

ör.: {B,C,D} $\rightarrow$ {A} kuralının güveni düşükse, sonuç kısmında A içeren tüm kurallar elenebilir (ör. {B,D} $\rightarrow$ {A, C} veya {D} $\rightarrow$ {A,B, C}).

R ile Pazar Sepeti Analizi

Apriori ile ilk deneme

İşlemsel veri

inspect(head(trans,2))
    items     transactionID
[1] {A,B,C,D} 1            
[2] {A,B,D}   2            

apriori işlevine ilk çağrı - sık öğe kümeleri

support.all = apriori(trans, 
                      parameter = list(supp = 3/7, target="frequent itemsets"))
R ile Pazar Sepeti Analizi

Apriori çıktısı - sık öğe kümeleri

Sık öğe kümeleri

inspect(support.all)
    items support   count
[1] {A}   0.4285714 3    
[2] {C}   0.5714286 4    
[3] {D}   0.7142857 5    
[4] {B}   0.8571429 6    
[5] {A,B} 0.4285714 3    
[6] {C,D} 0.4285714 3    
[7] {B,C} 0.4285714 3    
[8] {B,D} 0.5714286 4

öğe_kümesi_kafesi3

R ile Pazar Sepeti Analizi

Apriori ile kuralların çıkarılması

Parametre: madencilik parametreleri çıkarılan öğe kümeleri veya kuralların özelliklerini değiştirir.

  • Destek = 3/7
  • Güven = %60
  • En az kural uzunluğu = 2

Özel argümanlarla kural çıkarımı için apriori çağrısı

rules.all = apriori(trans,
                parameter = list(supp=3/7, conf=0.6, minlen=2),
                control = list(verbose=F)
                   )
R ile Pazar Sepeti Analizi

Kuralların çıkarılması: çıktı

Kuralları inceleme

inspect(rules.all)
    lhs    rhs support   confidence lift      count
[1] {A} => {B} 0.4285714 1.0000000  1.1666667 3    
[2] {C} => {D} 0.4285714 0.7500000  1.0500000 3    
[3] {D} => {C} 0.4285714 0.6000000  1.0500000 3    
[4] {C} => {B} 0.4285714 0.7500000  0.8750000 3    
[5] {D} => {B} 0.5714286 0.8000000  0.9333333 4    
[6] {B} => {D} 0.5714286 0.6666667  0.9333333 4
R ile Pazar Sepeti Analizi

Hadi pratik yapalım!

R ile Pazar Sepeti Analizi

Preparing Video For Download...