arulesCBA (version 1.1.2)

CBA_ruleset: Rules-based Classifier from Association Rules

Description

Use a set of association rules for classification.

Usage

CBA_ruleset(formula, rules, method = "first", weights = NULL, default = NULL,
  description = "Custom rule set")

Arguments

formula

A symbolic description of the model to be fitted. Has to be of form class ~ .. The class is the variable name (part of the item label before =).

rules

A set of association rules (from arules).

method

Classification method "first" found rule or "majority".

weights

Rule weights for method majority. If missing, then equal weights are used

default

Default class of the form variable=level. If not specified then the most frequent RHS in rules is used.

description

Description field used when the classifier is printed.

Value

Returns an object of class CBA representing the trained classifier with fields:

rules

the classifier rule base.

class

class variable.

levels

levels of the class variable.

default

default class label.

method

classification method.

weights

rule weights.

Details

This method just takes a user provided set of association rules to produce a classifier. The user needs to make sure that the rules are predictive and sorted from most to least predictive.

See Also

predict.CBA, apriori, rules, transactions.

Examples

Run this code
# NOT RUN {
library("caret")

data(iris)
irisDisc <- as.data.frame(lapply(iris[1:4],
  function(x) discretize(x, categories=9)))
irisDisc$Species <- iris$Species

# create transactions
trans <- as(irisDisc, "transactions")
truth <- irisDisc$Species

# create rule base
rules <- apriori(trans, parameter=list(support=.01, confidence = .8),
  appearance = list(rhs=grep("Species=", itemLabels(trans), value = TRUE), default = "lhs"))

rules <- rules[!is.redundant(rules)]
rules <- sort(rules, by = "conf")

# create classifier
cl <- CBA_ruleset(Species ~ ., rules)
cl

p <- predict(cl, trans)
confusionMatrix(p, truth)

# use weighted majority
cl <- CBA_ruleset(Species ~ ., rules, method = "majority", weights = "lift")
cl

p <- predict(cl, trans)
confusionMatrix(p, truth)
# }

Run the code above in your browser using DataLab