| CBA_ruleset | R Documentation |
Objects for classifiers based on association rules have class CBA.
A creator function CBA_ruleset() and several methods are provided.
CBA_ruleset(
formula,
rules,
default,
method = "first",
weights = NULL,
bias = NULL,
model = NULL,
discretization = NULL,
description = "Custom rule set",
...
)
formula |
A symbolic description of the model to be fitted. Has to be
of form |
rules |
A set of class association rules mined with |
default |
Default class. If not specified then objects that are
not matched by rules are classified as |
method |
Classification method |
weights |
Rule weights for the majority voting method. Either a quality measure available in the classification rule set or a numeric vector of the same length are the classification rule set can be specified. If missing, then equal weights are used |
bias |
Class bias vector. |
model |
An optional list with model information (e.g., parameters). |
discretization |
A list with discretization information used by |
description |
Description field used when the classifier is printed. |
... |
Additional arguments added as list elements to the CBA object. |
CBA_ruleset() creates a new object of class CBA using the
provides rules as the rule base. For method "first", the user needs
to make sure that the rules are predictive and sorted from most to least
predictive.
A object of class CBA representing the trained classifier with fields:
formula |
used formula. |
rules |
the classifier rule base. |
default |
default class label (uses partial matching against the class labels). |
method |
classification method. |
weights |
rule weights. |
bias |
class bias vector if available. |
model |
list with model description. |
discretization |
discretization information. |
description |
description in human readable form. |
rules returns the rule base.
Michael Hahsler
mineCARs()
Other classifiers:
CBA(),
CBA_helpers,
FOIL(),
LUCS_KDD_CBA,
RCAR(),
RWeka_CBA
Other preparation:
discretizeDF.supervised(),
mineCARs(),
prepareTransactions(),
transactions2DF()
## Example 1: create a first-matching-rule classifier with non-redundant rules
## sorted by confidence.
data("iris")
# discretize and create transactions
iris.disc <- discretizeDF.supervised(Species ~., iris)
trans <- as(iris.disc, "transactions")
# create rule base with CARs
cars <- mineCARs(Species ~ ., trans, parameter = list(support = .01, confidence = .8))
cars <- cars[!is.redundant(cars)]
cars <- sort(cars, by = "conf")
# create classifier and use the majority class as the default if no rule matches.
cl <- CBA_ruleset(Species ~ .,
rules = cars,
default = uncoveredMajorityClass(Species ~ ., trans, cars),
method = "first")
cl
# look at the rule base
inspect(cl$rules)
# make predictions
prediction <- predict(cl, trans)
table(prediction, response(Species ~ ., trans))
accuracy(prediction, response(Species ~ ., trans))
# Example 2: use weighted majority voting.
cl <- CBA_ruleset(Species ~ .,
rules = cars,
default = uncoveredMajorityClass(Species ~ ., trans, cars),
method = "majority", weights = "lift")
cl
prediction <- predict(cl, trans)
table(prediction, response(Species ~ ., trans))
accuracy(prediction, response(Species ~ ., trans))
## Example 3: Create a classifier with no rules that always predicts
## the majority class. Note, we need cars for the structure and subset it
## to leave no rules.
cl <- CBA_ruleset(Species ~ .,
rules = cars[NULL],
default = majorityClass(Species ~ ., trans))
cl
prediction <- predict(cl, trans)
table(prediction, response(Species ~ ., trans))
accuracy(prediction, response(Species ~ ., trans))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.