0
나는 다음과 같은 코드 및 수신 해당 협회 규칙을 사용
library("arules")
data("Adult")
rules <- apriori(Adult,parameter = list(supp = 0.5, conf = 0.9, target = "rules"))
labels(rules)
50 규칙이 있습니다.
Adult3<-as.data.frame(as(Adult,"matrix"))
을 그리고 Adult3$RUL_NUM
에 새 열을 추가 : 나는 소스 데이터에 다시 가고 싶습니다. 이 열은 해당 레코드가 준수하는 관련 규칙 (이 경우 1에서 50까지)의 값을 (각 레코드에 대해) 포함합니다. 레코드 당 둘 이상의 규칙이있는 경우 레코드가 준수하는 마지막 규칙을 추가하고 싶습니다.
감사합니다. Michael. 각 데이터 행 (이 경우 성인)에 숫자 (이 경우 규칙 수를 1에서 50까지)를 추가하고 싶습니다. 번호는 특정 라인에 대한 관련 규칙입니다. 솔루션이 각 라인에 특정 규칙 번호를 제공 할 수 있습니까? – Avi
Michael, 솔루션을 변경해야한다고 생각합니다. 동일한 LHS의 경우 다른 RHS가있을 수 있기 때문입니다. 그리고 각 줄에 대해 일치하는 규칙을 일치시키고 싶습니다 (각 규칙에 대해 sql에서 select를 실행하고 각 규칙이 하위 집합 인 경우 각 줄을 보는 것처럼). 일부 규칙은 동일한 LHS를 갖지만 다른 RHS를 가지므로이를 고려해야합니다. 그래서 당신의 솔루션이되어야한다고 생각합니다. superset (성인, (규칙)) – Avi
Michael 대단히 감사합니다! 그것은 작동합니다! 나는 2 개의 발언이있다. 내 소스 파일에는 1712 행 (표제가있는 1713)이 들어 있으며 트랜잭션으로 변환 된 데이터 프레임입니다. w <- sapply (적용 (is.superset (mytrans, 규칙), MARGIN = 1), 꼬리, n = 1) 그런 다음 w를 w를 데이터 프레임으로 변환했습니다. df <- data.frame (matrix (unlist (w), byrow = T), stringsAsFactors = FALSE) 그러나 지금은 1256 개의 행만 있습니다. 나는 gap (456)이 적절한 규칙이없는 소스 라인 (integer (0)) 때문에 발생한다고 생각한다. 규칙 번호가 누락 된 경우 원래의 행 번호를 공백 값으로 유지하는 방법이 있습니까? – Avi