Interest measures

knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
library(arules)
set.seed(1234)

No single measure identifies every useful association. Support and confidence describe prevalence and conditional probability, while measures such as lift and leverage compare observed co-occurrence with what would be expected under independence.

trans <- transactions(list(
  T1 = c("tea", "cookies", "milk"),
  T2 = c("tea", "cookies"),
  T3 = c("coffee", "cookies"),
  T4 = c("tea", "milk"),
  T5 = c("coffee", "milk"),
  T6 = c("tea", "cookies", "milk"),
  T7 = c("coffee", "cookies"),
  T8 = c("tea", "cookies")
))

rules <- apriori(
  trans,
  parameter = list(support = 0.25, confidence = 0.5),
  control = list(verbose = FALSE)
)

The quality data frame already contains the measures calculated during mining.

head(quality(rules))

Different measures answer different questions:

A rare rule can have high lift but little practical impact, while a rule with high confidence may simply predict a very common consequent. It is therefore often useful to consider several measures together.

arules implements many commonly used measures. The complete list is in A Probabilistic Comparison of Commonly Used Interest Measures for Association Rules.

Calculating additional measures for rules

interestMeasure() calculates additional measures. Supply the transactions for measures that require counts not stored with the rules.

measures <- interestMeasure(
  rules,
  measure = c("leverage", "phi"),
  transactions = trans
)
head(measures)

Here, leverage is the observed joint support minus the support expected under independence. Phi is the correlation between the left- and right-hand sides of a rule; it is undefined for some rules.

Add selected measures as new columns in the quality data frame.

quality(rules) <- cbind(
  quality(rules),
  interestMeasure(
    rules,
    measure = c("leverage", "phi"),
    transactions = trans
  )
)

The new measures can now be used to filter and sort rules.

inspect(head(sort(rules, by = "leverage"), 3))

Other vignettes



Try the arules package in your browser

Any scripts or data that you put into this service are public.

arules documentation built on Sept. 11, 2026, 9:08 a.m.