Estoy usando R (y la arules paquete) para transacciones de minería de reglas de asociación. Lo que yo quiero hacer es crear las reglas y, a continuación, aplicar a los nuevos datos.
Por ejemplo, decir que tengo muchas reglas, uno de los cuales es la canónica {Beer=YES} -> {Diapers=YES}
.
Entonces tengo nuevos datos transaccionales, donde uno de los registros que ha adquirido la cerveza, pero no los pañales. ¿Cómo puedo identificar una regla donde el lado izquierdo se cumple, pero no es aún el RHS?
R ejemplo:
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"))
Las reglas que se generan son:
> 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
La segunda transacción de muestra de este cliente, ya que ellos tienen el yogur, pero no la leche entera tal vez se debe enviar un cupón para la leche. Cómo puede cualquier norma aplicable en las "reglas" que se encuentra para las nuevas transacciones?
> LIST(Groceries[2])
[[1]]
[1] "tropical fruit" "yogurt" "coffee"