Tôi đang sử dụng R (và gói arules) để khai thác các giao dịch cho các quy tắc kết hợp. Những gì tôi muốn làm là xây dựng các quy tắc và sau đó áp dụng chúng cho dữ liệu mới.
Ví dụ, giả sử tôi có nhiều quy tắc, một trong số đó là quy tắc {Beer=YES} -> {Diapers=YES}
.
Sau đó, tôi có dữ liệu giao dịch mới, trong đó một trong những hồ sơ đã mua bia nhưng không phải tã. Làm cách nào tôi có thể xác định quy tắc nơi LHS được đáp ứng, nhưng chưa phải là RHS?
Ví dụ R:
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"))
Các quy tắc được tạo là:
> 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
Giao dịch thứ hai cho thấy khách hàng này, vì họ có sữa chua nhưng không phải sữa nguyên chất có lẽ nên được gửi một phiếu giảm giá cho sữa. Làm thế nào có thể đặt bất kỳ quy tắc áp dụng nào trong "quy tắc" cho các giao dịch mới?
> LIST(Groceries[2])
[[1]]
[1] "tropical fruit" "yogurt" "coffee"