2017-10-12 4 views
0

나는 동시에 lhs에서 원하는 여러 속성을 지정할 수 있도록 R apriori 알고리즘을 얻으려고합니다.R Apriori에 대한 lhs에 대한 여러 기준

rules <- apriori(Data, parameter=list(supp = 0.0001, conf = 0.001, minlen = 2), appearance = list(lhs = c("DiagnoseTekst=Acuut hartfalen"), default="rhs")) 

그러나, 나는 DiagnoseTekst 모두에서 필터링을하고 싶은 단지 특정 DiagnoseTekst의 좌 (내 데이터의 열이 'MedicatieTekst', 'Geslacht'와 'DiagnoseTekst을'이다)를 필터링 할 위의 라인 그리고 Geslacht. 내가 넣을 때

나는 DiagnoseTekst만으로 몇 가지 규칙을 얻었고 일부는 Geslacht 만 사용했습니다. (이 경우 대부분의 경우 두 속성을 모두 가져야합니다). 검색 또는 결과를 필터링하여 lhs 열에 대한 여러 기준을 지정할 수있는 방법이 있습니까?

전체 코드는 명확합니다 : 출력의

Data <- as(data, "transactions") 

str(Data) 
rules <- apriori(Data, parameter=list(supp = 0.0001, conf = 0.001, minlen = 2), appearance = list(lhs = c("DiagnoseTekst=Acuut hartfalen"), default="rhs")) 
top.conf <- sort(rules, decreasing = TRUE, na.last = NA, by = c("confidence","lift")) 
set <- inspect(head(subset(top.conf), 30)) 

예 :

> set <- inspect(head(subset(top.conf), 30)) 
    lhs        rhs            support  confidence lift  count 
[1] {DiagnoseTekst=Acuut hartfalen} => {Geslacht=V}          0.066477566 0.525500378 1.1539592 30561 
[2] {DiagnoseTekst=Acuut hartfalen} => {Geslacht=M}          0.060025798 0.474499622 0.8712635 27595 
[3] {DiagnoseTekst=Acuut hartfalen} => {MedicatieTekst=FUROSEMIDE}      0.017917467 0.141636289 2.9290550 8237 
[4] {DiagnoseTekst=Acuut hartfalen} => {MedicatieTekst=METOPROLOL}      0.006279923 0.049642341 0.9877311 2887 
[5] {DiagnoseTekst=Acuut hartfalen} => {MedicatieTekst=PARACETAMOL}      0.005201003 0.041113557 0.6085413 2391 

답변

0

내가 제대로 이해한다면, 당신은 지정된 두 항목은 좌에서 발생 할 필요가 있는지 확인하려면 규칙의 외관은 어떤 항목이 규칙에 나타날 수 있는지 만 제한 할 수 있지만 모든 항목이 존재하지는 않아야합니다. 그러나이 문제를 해결하려면 subset으로 필터링을 사용할 수 있습니다. 다음 코드는 %ain%를 사용하여 규칙의 LHS의 항목 "나이 = 수석"과 "성별 = 남성"모든 규칙을 발견,

> library("arules") 
> data(Adult) 

> rules <- apriori(Adult) 
> rules 
set of 6137 rules 

> rules <- subset(rules, lhs %ain% c("age=Senior","sex=Male")) 
> rules 
set of 167 rules 

> inspect(head(rules, by = "lift", n = 3)) 
    lhs         rhs     support confidence lift count 
[1] {age=Senior,                    
    marital-status=Married-civ-spouse,               
    sex=Male,                     
    capital-gain=None,                   
    native-country=United-States}  => {relationship=Husband} 0.12   1 2.5 5687 
[2] {age=Senior,                    
    marital-status=Married-civ-spouse,               
    race=White,                    
    sex=Male,                     
    capital-gain=None,                   
    native-country=United-States}  => {relationship=Husband} 0.11   1 2.5 5293 
[3] {age=Senior,                    
    marital-status=Married-civ-spouse,               
    sex=Male,                     
    capital-gain=None,                   
    capital-loss=None,                   
    native-country=United-States}  => {relationship=Husband} 0.11   1 2.5 5238 
(모두 ? "%ain%" 참조)