J'essaie d'obtenir l'algorithme R apriori pour me permettre de spécifier plusieurs attributs que je veux sur les lhs, en même temps.Plusieurs critères sur lhs pour R Apriori
rules <- apriori(Data, parameter=list(supp = 0.0001, conf = 0.001, minlen = 2), appearance = list(lhs = c("DiagnoseTekst=Acuut hartfalen"), default="rhs"))
La ligne ci-dessus filtrerait LHS pour seulement un certain DiagnoseTekst (les colonnes de mes données sont « MedicatieTekst », « Geslacht » et « DiagnoseTekst ») Cependant, je voudrais à filtrer sur les deux DiagnoseTekst ET Geslacht. Quand je mets en
rules <- apriori(Data, parameter=list(supp = 0.0001, conf = 0.001, minlen = 2), appearance = list(lhs = c("DiagnoseTekst=Acuut hartfalen", "Geslacht=M"), default="rhs"))
Je reçois des règles avec juste DiagnoseTekst, et quelques-uns avec juste Geslacht. (alors que dans ce cas, la plupart des cas devraient avoir les deux attributs). Existe-t-il un moyen de filtrer la recherche ou les résultats pour pouvoir spécifier plusieurs critères pour la colonne lhs?
code complet pour être clair:
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))
Exemple de sortie:
> 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