R ile Pazar Sepeti Analizi
Christopher Bruffaerts
Statistician
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.
Apriori algoritması:
Apriori ilkesi:

| 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} |

| 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} |

| 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} |

| Öğ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 |
Hesaplaması pahalı sık öğe kümesi üretiminden sonra, apriori kurallar üretir:
İ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}).
İş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"))
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

Parametre: madencilik parametreleri çıkarılan öğe kümeleri veya kuralların özelliklerini değiştirir.
Ö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)
)
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