apriori 함수 내에서 결과에 LHS HouseOwnerFlag=0
및 HouseOwnerFlag=1
의 두 변수 만 포함되기를 바랍니다. RHS는 열 Product
의 속성 만 포함해야합니다. 예를 들어 :arules의 특정 열에 대해서만 LHS와 RHS에 대한 항목을 얻는 방법?
# lhs rhs support confidence lift
# 1 {HouseOwnerFlag=0} => {Product=SV 16xDVD M360 Black} 0.2500000 0.2500000 1.000000
# 2 {HouseOwnerFlag=1} => {Product=Adventure Works 26" 720p} 0.2500000 0.2500000 1.000000
# 3 {HouseOwnerFlag=0} => {Product=Litware Wall Lamp E3015 Silver} 0.1666667 0.3333333 1.333333
# 4 {HouseOwnerFlag=1} => {Product=Contoso Coffee Maker 5C E0900} 0.1666667 0.3333333 1.333333
:
이 rules <- apriori(sales, parameter=list(support =0.01, confidence =0.8, minlen=2), appearance = list(lhs=c("HouseOwnerFlag=0", "HouseOwnerFlag=1")))
가 그럼 난에 다른 SO 질문에서 이것을 사용 : 나는 다음과 같은 사용 그래서 지금 R arules, mine only rules from specific column
제품 열만이 오른쪽에 있는지 확인하십시오.
inspect(subset(rules, subset = rhs %pin% "Product="))
결과는 다음과 같이이다 :
# lhs rhs support confidence lift
# 1 {ProductKey=153, IncomeGroup=Moderate, BrandName=Adventure Works } => {Product=SV 16xDVD M360 Black} 0.2500000 0.2500000 1.000000
# 2 {ProductKey=176, MaritalStatus=M, ProductCategoryName=TV and Video } => {Product=Adventure Works 26" 720p} 0.2500000 0.2500000 1.000000
# 3 {BrandName=Southridge Video, NumberChildrenAtHome=0 } => {Product=Litware Wall Lamp E3015 Silver} 0.1666667 0.3333333 1.333333
# 4 {HouseOwnerFlag=1, BrandName=Southridge Video, ProductKey=170 } => {Product=Contoso Coffee Maker 5C E0900} 0.1666667 0.3333333 1.333333
그래서 분명히 LHS가없는 나는 지정된 단지
HouseOwnerFlag
처럼 가능한 모든 열을 포함 할 수 있습니다. 다른 유래 질문에서, 나는 내가 지금처럼 연역적 기능에
default="rhs"
을 넣을 수 있음을 참조하십시오
rules <- apriori(sales, parameter=list(support =0.001, confidence =0.5, minlen=2), appearance = list(lhs=c("HouseOwnerFlag=0", "HouseOwnerFlag=1"), default="rhs"))
그럼 (단지 inspect(rules
, 부분 집합의 부분없이) 검사에, 훨씬 적은 규칙이
(7) 이상 그것이 정말로 단지 LHS에 HouseOwnerFlag
를 포함 않지만 전에 :
# lhs rhs support confidence lift
# 1 {HouseOwnerFlag=0} => {MaritalStatus=S} 0.2500000 0.2500000 1.000000
# 2 {HouseOwnerFlag=1} => {Gender=M} 0.2500000 0.2500000 1.000000
# 3 {HouseOwnerFlag=0} => {NumberChildrenAtHome=0} 0.1666667 0.3333333 1.333333
# 4 {HouseOwnerFlag=1} => {Gender=M} 0.1666667 0.3333333 1.333333
을 그러나 RHS에 RHS의 열 제품에서 아무 것도 없다. 그래서 그것은 inspect
에 아무런 쓸모가 없으므로 subset
과 같이 null을 돌려줍니다. 실험을 위해 여러 지원 번호로 여러 번 테스트했으며 제품이 표시되는지 여부는 확인했지만 동일한 규칙은 동일하게 유지됩니다.
제 질문은 어떻게 LHS (HouseOwnerFlag)와 RHS (Product)를 모두 지정할 수 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까?
편집 : 당신은, 난 단지 거대한 데이터 세트에서 처음 20 개 행을했다 당신은 https://www.dropbox.com/s/tax5xalac5xgxtf/testdf.txt?dl=0 마음에서이 testdataset을 다운로드하여이 문제를 재현 할 수있는, 그래서 여기에 출력 내가 표시된 예와 같은 제품 이름이 없습니다 불행히도. 그러나 문제는 여전히 동일하게 남아 있습니다. 나는 단지 HouseOwnerFlag=0
및/또는 HouseOwnerFlag=1
을 LHS에, 열 Product
을 RHS에 붙들고 싶습니다.
그것은 당신이 [재현 예]를 포함하는 경우 (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – MrFlick
수 있도록 항상 쉽게 @ MrFlick, 제안 해 주셔서 고맙습니다. 사람들이 문제를 재연하기를 원한다면 나는 방금 작은 testset을 만들었다. – Kim
다른 해결책을 추가했는데 기본 매개 변수에 대해 잘못 생각한 것 같습니다. –