Ich verwende R (und das Arules-Paket), um Transaktionen für Zuordnungsregeln abzubauen. Ich möchte die Regeln erstellen und sie dann auf neue Daten anwenden.
Angenommen, ich habe viele Regeln, von denen eine die kanonische ist {Beer=YES} -> {Diapers=YES}
.
Dann habe ich neue Transaktionsdaten, bei denen einer der Rekorde Bier gekauft hat, aber keine Windeln. Wie kann ich eine Regel identifizieren, bei der die LHS erfüllt ist, aber noch nicht die RHS?
R Beispiel:
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"))
Generierte Regeln sind:
> 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
Die zweite Transaktion zeigt diesen Kunden, da er Joghurt, aber keine Vollmilch hat, sollte vielleicht ein Gutschein für Milch geschickt werden. Wie können anwendbare Regeln in "Regeln" für neue Transaktionen gefunden werden?
> LIST(Groceries[2])
[[1]]
[1] "tropical fruit" "yogurt" "coffee"
quelle
basket <- "tropical fruit" "yogurt" "coffee"
?as(list(basket), "itemMatrix")