R (및 arules 패키지)을 사용하여 연결 규칙에 대한 마이닝 트랜잭션을 사용하고 있습니다. 내가하고 싶은 것은 규칙을 구성 한 다음 새로운 데이터에 적용하는 것입니다.
예를 들어, 많은 규칙이 있는데 그 중 하나는 표준 규칙 {Beer=YES} -> {Diapers=YES}
입니다.
그런 다음 레코드 중 하나가 맥주를 구입했지만 기저귀는 구입하지 않은 새로운 거래 데이터가 있습니다. LHS가 충족되었지만 아직 RHS가 아닌 규칙을 어떻게 식별 할 수 있습니까?
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"))
생성 된 규칙은 다음과 같습니다.
> 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
두 번째 거래는이 고객에게 요구르트가 있지만 전유가 아닌 우유에 대한 쿠폰을 보내야하므로이 고객을 보여줍니다. 새로운 거래에 대해 "규칙"의 해당 규칙을 어떻게 찾을 수 있습니까?
> LIST(Groceries[2])
[[1]]
[1] "tropical fruit" "yogurt" "coffee"