arulesCBA (version 1.1.2)

CBA: Classification Based on Association Rules

Description

Build a classifier based on association rules mined for an input dataset. The CBA algorithm used is a modified version of the algorithm described by Liu, et al. 1998.

Usage

CBA(formula, data, support = 0.2, confidence = 0.8,
    verbose=FALSE, parameter = NULL, control = NULL,
    sort.parameter = NULL, lhs.support = FALSE,
		disc.method = "cluster", disc.categories = 10)

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 =).

data

A data.frame containing the training data.

support, confidence

Minimum support and confidence for creating association rules.

verbose

Optional logical flag to allow verbose execution, where additional intermediary execution information is printed at runtime.

parameter, control

Optional parameter and control lists for apriori.

sort.parameter

Ordered vector of arules interest measures (as characters) which are used to sort rules in preprocessing.

lhs.support

Logical variable, which, when set to default value of True, indicates that LHS support should be used for rule mining.

disc.method

Discretization method for arules discretize function for factorizing numeric input (default: "cluster")

disc.categories

Number of discretization categories for arules discretize function for factorizing numeric input (default: 10)

Value

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

rules

the classifier rule base.

default

default class label.

levels

levels of the class variable.

Details

Formats the input data frame and calls a C implementation of the CBA algorithm from Liu, et al. 1998 split up into three stages to build a classifier based on a set of association rules.

Before the CBA algorithm in C is executed, association rules are generated with the Apriori algorithm from the arules package.

A default class is selected for the classifier. Note that for datasets which do not yield any strong association rules it's possible that no rules will be included in the classifier, and only a default class.

References

Liu, B. Hsu, W. and Ma, Y (1998). Integrating Classification and Assocoiation Rule Mining. KDD'98 Proceedings of the Fourth International Conference on Knowledge Discovery and Data Mining, New York, 27-31 August. AAAI. pp. 80-86.

See Also

predict.CBA, apriori, rules, transactions.

Examples

Run this code
# NOT RUN {
  library(arulesCBA)
  library(discretization)

  data(iris)
  irisDisc <- mdlp(iris)$Disc.data
  irisDisc <- as.data.frame(lapply(irisDisc, as.factor))

  classifier <- CBA(Species ~ ., data = irisDisc, supp = 0.05, conf=0.9, lhs.support=TRUE)

  result <- predict(classifier, irisDisc)
# }

Run the code above in your browser using DataLab