Saya menggunakan R (dan paket arules) untuk menambang transaksi untuk aturan asosiasi. Yang ingin saya lakukan adalah membuat aturan dan kemudian menerapkannya pada data baru.
Misalnya, saya punya banyak aturan, salah satunya kanonik {Beer=YES} -> {Diapers=YES}
.
Lalu saya punya data transaksional baru di mana salah satu catatan telah membeli bir tetapi tidak popok. Bagaimana saya bisa mengidentifikasi aturan di mana LHS bertemu, tetapi belum RHS?
R contoh:
install.packages("arules")
library(arules)
data("Groceries")
**#generate Rules omitting second record**
rules <- apriori(Groceries[-2],parameter = list(supp = 0.05, conf = 0.2,target = "rules"))
Aturan yang dihasilkan adalah:
> inspect(rules)
lhs rhs support confidence lift
1 {} => {whole milk} 0.25554200 0.2555420 1.000000
2 {yogurt} => {whole milk} 0.05603010 0.4018964 1.572722
3 {whole milk} => {yogurt} 0.05603010 0.2192598 1.572722
4 {rolls/buns} => {whole milk} 0.05664023 0.3079049 1.204909
5 {whole milk} => {rolls/buns} 0.05664023 0.2216474 1.204909
6 {other vegetables} => {whole milk} 0.07484238 0.3867578 1.513480
7 {whole milk} => {other vegetables} 0.07484238 0.2928770 1.513480
Transaksi kedua menunjukkan pelanggan ini, karena mereka memiliki yogurt tetapi tidak susu murni mungkin harus dikirim kupon untuk susu. Bagaimana aturan yang berlaku dalam "aturan" dapat ditemukan untuk transaksi baru?
> LIST(Groceries[2])
[[1]]
[1] "tropical fruit" "yogurt" "coffee"
sumber
basket <- "tropical fruit" "yogurt" "coffee"
?as(list(basket), "itemMatrix")