Visualizing Association Rules: Introduction To The R-Extension Package Arulesviz
Visualizing Association Rules: Introduction To The R-Extension Package Arulesviz
Visualizing Association Rules: Introduction To The R-Extension Package Arulesviz
Abstract
Association rule mining is a popular data mining method available in R as the extension
package arules. However, mining association rules often results in a very large number
of found rules, leaving the analyst with the task to go through all the rules and discover
interesting ones. Sifting manually through large sets of rules is time consuming and
strenuous. Visualization has a long history of making large data sets better accessible
using techniques like selecting and zooming. In this paper we present the R-extension
package arulesViz which implements several known and novel visualization techniques to
explore association rules. With examples we show how these visualization techniques can
be used to analyze a data set.
1. Introduction
Many organizations generate a large amount of transaction data on a daily basis. For exam-
ple, a department store like “Macy’s” stores customer shopping information at a large scale
using check-out data. Association rule mining is one of the major techniques to detect and
extract useful information from large scale transaction data. Mining association rules was fist
introduced by Agrawal, Imielinski, and Swami (1993) and can formally be defined as:
Let I = {i1 , i2 , . . . , in } be a set of n binary attributes called items. Let D = {t1 , t2 , . . . , tm }
be a set of transactions called the database. Each transaction in D has an unique transaction
ID and contains a subset of the items in I. A rule is defined as an implication of the form
X ⇒ Y where X, Y ⊆ I and X ∩ Y = ∅. The sets of items (for short itemsets) X and Y
are called antecedent (left-hand-side or LHS) and consequent (right-hand-side or RHS) of the
rule. Often rules are restricted to only a single item in the consequent.
Association rules are rules which surpass a user-specified minimum support and minimum
confidence threshold. The support supp(X) of an itemset X is defined as the proportion of
transactions in the data set which contain the itemset and the confidence of a rule is defined
conf(X ⇒ Y ) = supp(X ∪ Y )/supp(X). Therefore, an association rule X ⇒ Y will satisfy:
supp(X ∪ Y ) ≥ σ
and
conf(X ⇒ Y ) ≥ δ
where σ and δ are the minimum support and minimum confidence, respectively.
2 Visualizing Association Rules
Another popular measure for association rules used throughout this paper is lift (Brin, Mot-
wani, Ullman, and Tsur 1997). The lift of a rule is defined as
and can be interpreted as the deviation of the support of the whole rule from the support
expected under independence given the supports of both sides of the rule. Greater lift values
( 1) indicate stronger associations. Measures like support, confidence and lift are generally
called interest measures because they help with focusing on potentially more interesting rules.
For a more detailed treatment of association rules we refer the reader to the in introduction
paper for package arules (Hahsler, Buchta, Grün, and Hornik 2010; Hahsler, Grün, and Hornik
2005) and the literature referred to there.
Association rules are typically generated in a two-step process. First, minimum support is
used to generate the set of all frequent itemsets for the data set. Frequent itemsets are itemsets
which satisfy the minimum support constraint. Then, in a second step, each frequent itemsets
is used to generate all possible rules from it and all rules which do not satisfy the minimum
confidence constraint are removed. Analyzing this process, it is easy to see that in the worst
case we will generate 2n − n − 1 frequent itemsets with more than two items from a database
with n distinct items. Since each frequent itemset will in the worst case generate at least two
rules, we will end up with a set of rules in the order of O(2n ). Typically, increasing minimum
support is used to keep the number of association rules found at a manageable size. However,
this also removes potentially interesting rules with less support. Therefore, the need to deal
with large sets of association rules is unavoidable when applying association rule mining in a
real setting.
Visualization is successfully used to communicate both abstract and concrete ideas in many ar-
eas like education, engineering and science (Prangsmal, van Boxtel, Kanselaar, and Kirschner
2009). According to Chen, Unwin, and Hardle (2008), the application of visualization falls
into two phases. First, the exploration phase where the analysts will use graphics that are
mostly incompatible for presentation purposes but make it easy to find interesting and impor-
tant features of the data. The amount of interaction needed during exploration is very high
and includes filtering, zooming and rearranging data. After key findings are discovered in the
data, these findings must be presented in a way suitable for presentation for a larger audi-
ence. In this second phase it is important that the analyst can manipulate the presentation
to clearly highlight the findings.
Many researchers introduced visualization techniques like scatter plots, matrix visualizations,
graphs, mosaic plots and parallel coordinates plots to analyze association rules (see Bruzzese
and Davino (2008) and Jentner and Keim (2017) for a recent overview). This paper discusses
existing techniques and demonstrates how their implementation in arulesViz can be used via
a simple unified interface. We extend most plots using techniques of color shading and re-
ordering to improve their interpretability. Finally, this paper also introduces a completely new
method called “grouped matrix-based visualization” which is based on a novel way of cluster-
ing rules. Clustering rules is usually based on distances defined on the items included in the
rules or on shared transactions covered by the rules. However, here we cluster rules especially
for visualization using similarities between sets of values of a selected interest measure.
The rest of the paper is organized as follows. In Section 2 we give a very short example of
how to prepare data using package arules and then introduce the unified interface provided
Michael Hahsler, Sudheer Chelluboina 3
> options(digits = 2)
> set.seed(1234)
To use arulesViz we fist have to load the package. The package automatically loads other
needed packages like arules (Hahsler et al. 2010) for handling and mining association rules.
For the examples in this paper we load the “Groceries” data set which is included in arules.
> library("arulesViz")
> data("Groceries")
Groceries contains sales data from a local grocery store with 9835 transactions and 169 items
(product groups). The summary shows some basic statistics of the data set. For example,
that the data set is rather sparse with a density just above 2.6%, that “whole milk” is the
most popular item and that the average transaction contains less than 5 items.
> summary(Groceries)
1 2 3 4 6 32
Next we mine association rules using the Apriori algorithm implemented in arules.
Apriori
Parameter specification:
confidence minval smax arem aval originalSupport maxtime support minlen
0.5 0.1 1 none FALSE TRUE 5 0.001 1
maxlen target ext
10 rules FALSE
Algorithmic control:
filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
> rules
The result is a set of 5668 association rules. The top three rules with respect to the lift
measure, a popular measure of rule strength, are:
However, it is clear that going through all the 5668 rules manually is not a viable option.
We therefore will introduce different visualization techniques implemented in arulesViz. All
implemented visualization techniques share the following interface:
where x is the set of rules to be visualized, method is the visualization method, and measure
and shading contain the interest measures used by the plot. Further arguments are described
in the manual page.
Using engine, different plotting engines can be specified to render the plot. the default engine
typically uses grid, many plots can also be rendered using the engine "htmlwidget" resulting
in an interactive HTML widget.
In the following sections we will introduce the different visualization methods implemented
in arulesViz and demonstrate how easy it is to use them.
3. Scatter plot
A straight-forward visualization of association rules is to use a scatter plot with two interest
measures on the axes. Such a presentation can be found already in an early paper by Bayardo,
Jr. and Agrawal (1999) when they discuss sc-optimal rules.
The default method for plot() for association rules in arulesViz is a scatter plot using support
and confidence on the axes. In addition a third measure (default: lift) is used as the color
(gray level) of the points. A color key is provided to the right of the plot.
> plot(rules)
This plot for the rules mined in the previous section is shown in Figure 1. We can see that rules
with high lift have typically a relatively low support. Bayardo, Jr. and Agrawal (1999) argue
that the most interesting rules (sc-optimal rules) reside on the support/confidence border,
which can be clearly seen in this plot. We will show later how the interactive features of this
plot can be used to explore these rules.
Any measure stored in the quality slot of the set of rules can be used for the axes (vector of
length 2 for parameter measure) or for color shading (shading). The following measures are
available for our set of rules.
6 Visualizing Association Rules
1 ●
●
●●
●●
●●
●●
●●
●
●
●
●●
●
●
●●
●
●
●
●
● ●
● ●
0.9 ●
●
●
●
●
●
● 15
●
●●
●
●
●●
●
●
●
●
●
●
●●
● ●
●
●
●●
●● ●
●●●
●
●
● ●●
●●
●
●●
● ● ●
●●
●●●●● ●●
●●
●●
● ● ●
confidence
0.8 ●
●
●
●●
●
●
●●
●
●
●
●
●●●
●●● ● ●
● ●
●
●●
●● ●●● ● ●
●
●
●
●
● ●●● ●
●
●
●●
●●●
●●●●
● ●
●● ●
●●
●
●
●●
● ● ● ●●● ● ●
●
●
●●
●●●
●●
●
●
●
●●
●
●●
●●
●●
●
●
●
●●
●●
●● ● ●
●
● ●● ● ●
10
●●●
●●●●●●
●
●●●●●
●
●
●●●●
●●
●●●
●
●
●●
●
●●●
●●●
●●●●●
●●● ● ●
●
●
●
●
●● ●
●●
●● ●● ●● ●●●
0.7 ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●●●● ●
●
●
●●
●●
●● ●● ● ●
●
●●●
●
●●
●●
●
●●●
● ● ●
●
●●● ● ● ●
●
●
●
●●
●●
●
●
●●
●●●
●
●●
●
●●●●
●
●●●
●●
●●●●
●●
●
●●
●●
●●
●●●●● ●●
●●
●●●●
●●
●
●●● ● ●
●●
●
●
●●
●
●
●
●●
●●●
●●● ●●●
● ●●●●● ●
● ●
●
● ●
●●
●●
●
● ● ●●●● ●●
●
● ●●
● ●● ●●●●● ● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●●
●
●
●
●●
●
●●
●
●●●●●
● ●●
●
●●●
●●
● ● ● ● ●
●
●●
●●
●●
●●
●●
●●
● ●
●
●●●●
●
● ●● ● ●● ●● ● ● ●●
●●
●
●●
●●
●
●●●
●●●
●●
●●
●●●●●
●
●
● ●●● ●● ●
● ●●● ●
●●●
●
● ●
●
●●
●●●●
●
● ● ●● ●●●●● ●●● ●● ● ●
0.6 ●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●●
●
●●●
●●●
●●
●
●●
●●
●
● ●●
● ●● ●● ●
● ●
●● ●
5
●
●
●●
●
●
●●●
●
●●●
●
●
● ●
●●
●●●
●
●●
●●
●
●● ●
●●●●● ● ●
●
●
●
●●
●
●
●
●
●●●●
●
●●
●●●
● ●
●
●●
●●
●●
●
●
● ●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●●●
●●
●
●●● ● ●● ●●● ● ●● ● ● ●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●●
●
● ● ●●● ●
●
●
●
●
●● ●●●
● ●
●
●●●
●
●
● ●●
●
● ●
●
●●● ●
●
●●●●●●●●● ●● ●●
● ● ●●●●
●● ●
● ● ● ●
●
●
●
●●
●
●
● ●
●●
●
●●
● ●
●●●
●●
●● ●●● ●●● ●
● ● ●
●
●●
●
●
●● ●●
●●
●
● ●●● ●●●●●●●●●
●● ●●● ●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●●
●●
●
●●●
●●
●●●●●
● ●●
● ●● ●● ●●
●● ● ●
●
●●
●
●
●
●
●●
●
●●
● ●
●
●●
●●●
●
●● ●●●●●
● ●●●● ●●●●●●
● ● ●● ● ● ● ● ●
●
●
●●
●
●●
●
●
●
●●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●●●
●
●
●
●
●
●
●●● ●
●●●●●●
●●●● ●●● ●●
● ●
● ●
● ●
● ● ● ● ● ● ● ●
0.5 ●
●
●
●
●
●●
●
●
●
●●●
●
●●
●●
●●
●
●
●●
●●
●
●●
●●
●●
●●●
●● ●
●
●
●●●
●
●
●
●●●
●
●●
●
●●●●
● ●
●●
●●●
● ●●●●
●
● ●●●●● ● ●
lift
0.005 0.01 0.015 0.02
support
> head(quality(rules))
These are the default measures generated by Apriori. To add other measures we refer the
reader to the function interestMeasure() included in arules. For example we can customize
the plot by switching lift and confidence:
Figure 2 shows this plot with lift on the y-axis. Here it is easy to identify all rules with high
lift.
Unwin, Hofmann, and Bernt (2001) introduced a special version of a scatter plot called Two-
key plot. Here support and confidence are used for the x and y-axes and the color of the
points is used to indicate “order,” i.e., the number of items contained in the rule. Two-key
plots can be produced using the unified interface by:
● 1
●
●
0.9
15 ●●●
●
● 0.8
● ●
●
lift
●●
10 ●
●
●●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●●
0.7
●
●
●
●●
●
●
●●●
●
●
●
●●
●
●
●
●
●●
●
●● ●
●
●
●
●
●●
●●
●
●
●
●●●
●
●●
●
●
●
●●
●
● ●
●●
●
●
●
●
●●
●
●●
●●●
● ●● ●
●
●
●
●
●
●●
●
●
●●●
●
●●
●● ●
●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●●
●
●
●●
●●●
●●●
●● ●●
●
●
●
●●
●●●
●●●
● ●● ●
5 ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
● ●● ●
● 0.6
●
●
●
●
●
●●
●
●
●
●●
●●●
●
●
● ●
●
● ●
●● ●
●
●●●
●●
●
● ●●
●
●●
● ●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●●●●
●
●
●
● ●●●●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●●●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●●
●●●
●
●●●
● ● ● ●
●
●
●●
●
●●
●
●●
●●
●●
●●
●
●
●●
●●●
●● ●●●
●●●
●
●
●
●
●●
●●
●●
●●
●●
●●
●
●
●●●
●
●
●●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●●
●●
●
●
●●
●
●●
●
●
●●
●●
●●
●
●●●
●
●●
● ● ●●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●●●
●●●
●
●
●●
●●●
●●
●● ●
●● ● ●● ●
●●●●●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●●
●
●
●●
●
●
●
● ●●
●●
●
●●
●●●
●●
● ●●●●
●● ● ●
●●
●
●
●
●●
●
●
●●
●
●●
●●
●●
●
●
●●
●
●
●
●●
●
●●
●
●
●●
●
●
●●
●
●●
●
●●●
●●
●●
●●
●●
●●
●● ●●
●
●● ● ●●
●●
●● ●●● ● ● ●● ● ●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●●
●
●●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●●
●● ●●
●●●
●●●●●● ●●
●● ●
●●
●
● ●
●● ●
confidence
0.005 0.01 0.015 0.02
support
Two−key plot
1 ●
●
●
●
●●●●
●
● order 6
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ●
0.9 ●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●●
●
● ● order 5
●●
●
● ●●
●●●● ● ●
●
●●●
●●●●●●
confidence
0.8 ●
●
●
●
●
●
●
●
●●
●●
●
●●
●●
●●
●●●
●● ● ●
●
●
●●●●●●● ●●
●
●●
●
●
●
●
●
● ●
●●●●
●●●●●●●●●
● ●●●●●●●●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●
●
●
●●
●●● ● ●
●
●
●●
●
●●●
●
●
●
●● ● ●
● order 4
●●
●●
●●●●●●
●● ●●
●
●
●
●
●
●
● ●●
● ●●●●● ●● ●
●
●
●
●● ●
●
●●●● ●● ● ●●● ●
0.7 ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●●
●
●●
● ●● ● ●
●
●
● ●
●●●
●
●●
●
●●●
●●●
●●●
● ● ●● ●
● ●
●
●
●
●
●
●●
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
● ●●
●●
●●● ● ●
●●●●●● ●
●●●
●●
●●●
●●●
●●● ●● ● ●
●●●● ● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●● ●
●●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●●
●
●●●●
●●
●
●
●
●● ●
●●●● ● ●
●● ●
●
●● ●●
● ● ● order 3
●●
●
●●●
●●
●● ●
●
●●
●●●●●●●
● ●
●●●●●●
● ● ●
●
●● ●● ●
●●● ●● ● ●
●
●●●●
●
● ●
●
●
● ●
●
●●
●●
●● ●●
●● ●
●● ●●●●●
●
● ● ● ●
0.6 ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●●
●
●●●
●●● ● ● ●
●
●●
●
●
●●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●●
●
● ●
●●●●● ●● ●● ●
● ● ● ● ●● ●
●
●
●
●●
●
●
● ●
●
●
●●
●
●●
●
●
●●
●
●●
●●
●●●
●
●
●
●●●
●● ●●
●● ● ●●●● ●● ● ● ● ● ● ●●
●●
●●
● ●●
●●
●●
●●
●
●
●●● ●
●
●●●
●● ●
●
●● ● ● ●
●
●
●
●
●
●
● ●
●
●●
●
●
●● ●
●●
●
● ●●●
● ●
●● ●●●
●
● ● ●●
● ●●●● ●
●
●●
● ●●
●● ●●
●● ●
●
● ● ● ●●●
● ●●●●● ●
●
● ● ●●
●● ●●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
● ●
●● ●●
●●●●
●
●
●
● ●
● ●●● ●
●●●
●
●
●●
●●
●
●●
●
●
● ●●
●
● ● ● ●● ● ●
●
●
●
● ● ● ●
● order 2
●●
●●●
●
●
●●
●●
●
●
●
●●●
●●
●●●
●●
●
● ● ●●
●●
●●●●●● ●● ●
●●● ●●● ●● ● ● ● ●
●
●● ● ●
0.5 ●
●
●
●
●
●
●●
●
●
●●
●●
●
●●●
●
●
●●
●
●
●
●●
●●
●●
●
●●
●●
●
●
●●●
●
●●●
●●
●
● ●●●● ●
●●●●●●
●●● ● ● ● ●
● ● ●
The resulting Two-key plot is shown in Figure 3. From the plot it is clear that order and
support have a very strong inverse relationship, which is a known fact for association rules
(Seno and Karypis 2005).
In addition to using order for shading, we also give the plot a different title (main). Other
control options including pch (best with filled symbols: 20–25), cex, xlim and ylim are
available and work in the usual way expected by R-users.
For exploration, the scatter plot method offers interactive features for selecting and zooming.
Interaction is activated using interactive=TRUE.
Inspecting individual rules by selecting them and clicking the inspect button.
Inspecting sets of rules by selecting a rectangular region of the plot and clicking the
inspect button.
Filtering rules using the measure used for shading by clicking the filter button and
selecting a cut-off point in the color key. All rules with a measure lower than the cut-off
point will be filtered.
The result of an example interaction is shown in Figure 4. Using a box selection the rules
with the highest lift are selected. Using the inspect button, the rules are displayed in the
terminal below the plotting device.
4. Matrix-based visualizations
Matrix-based visualization techniques organize the antecedent and consequent itemsets on the
x and y-axes, respectively. A selected interest measure is displayed at the intersection of the
antecedent and consequent of a given rule. If no rule is available for a antecedent/consequent
combination the intersection area is left blank.
Formally, the visualized matrix is constructed as follows. We start with the set of association
rules
R = {ha1 , c1 , m1 i, . . . hai , ci , mi i, . . . han , cn , mn i}
where ai is the antecedent, ci is the consequent and mi is the selected interest measure for
the i-th rule for i = 1, . . . , n. In R we identify the set of K unique antecedents and L unique
consequent. We create a L × K matrix M with one column for each unique antecedent and
one row for each unique consequent. Finally, we populate the matrix by setting Mlk = mi
for i = 1, . . . , n and l and k corresponding to the position of ai and ci in the matrix. Note
that M will contain many empty cells since many potential association rules will not meet
the required minimum thresholds on support and confidence.
Michael Hahsler, Sudheer Chelluboina 9
Figure 4: Interactive mode for scatter plot (inspecting rules with high lift).
10 Visualizing Association Rules
Ong, leong Ong, Ng, and Lim (2002) presented a version of the matrix-based visualization
technique where a 2-dimensional matrix is used and the interest measure is represented by
color shading of squares at the intersection. An alternative visualization option is to use 3D
bars at the intersection (Wong, Whitney, and Thomas 1999; Ong et al. 2002).
For this type of visualization the number of rows/columns depends on the number of unique
itemsets in the consequent/antecedent in the set of rules. Since large sets of rules typically
have a large number of different itemsets as antecedents (often not much smaller than the
number of rules themselves), the size of the colored squares or the 3D bars gets very small
and hard to see. We reduce the number of rules here by filtering out all rules with a low
confidence score.
The resulting plot is shown in Figure 5. Since there is not much space for long labels in the
plot, we only show numbers as labels for rows and columns and the complete itemsets are
printed to the terminal for look-up. We omit the complete output here, since this plot and
the next few plots print several hundred labels to the screen. The output looks like:
6
10
5
4 8
3
6
2
1 4
lift
1 613223140495867768594105118131144157170183196209222235248261274287300313326339352
Antecedent (LHS)
Antecedent (LHS)
lift
400
300
4
200
100
0
2
1 2 3 4 5 6
Consequent (RHS)
Matrix-based visualization is limited in the number of rules it can visualize effectively since
large sets of rules typically also have large sets of unique antecedents/consequents. Here we
introduce a new visualization techniques (Hahsler and Chelluboina 2011; Hahsler and Karpi-
enko 2016) that enhances matrix-based visualization using grouping of rules via clustering to
handle a larger number of rules. Grouped rules are presented as an aggregate in the matrix
and can be explored interactively by zooming into and out of groups.
A direct approach to cluster itemsets is to define a distance metric between two itemsets Xi
and Xj . A good choice is the Jaccard distance defined as
|Xi ∩ Xj |
dJaccard (Xi , Xj ) = 1 − .
|Xi ∪ Xj |
The distance simply is the number of items that Xi and Xj have in common divided by the
number of unique items in both sets. For a set of m rules we can calculate the m(m − 1)/2
distances and use them as the input for clustering. However, using clustering on the itemsets
directly has several problems. First of all, data sets typically mined for association rules
are high-dimensional, i.e., contain many different items. This high dimensionality is carried
over to the mined rules and leads to a situation referred is as the “course of dimensionality”
where, due to the exponentially increasing volume, distance functions lose their usefulness.
The situation is getting worse since minimum support used in association rule mining leads
in addition to relatively short rules resulting in extremely sparse data.
Several approaches to cluster association rules and itemsets to address the dimensionality
and sparseness problem were proposed in the literature. Toivonen, Klemettinen, Ronkainen,
Hatonen, and Mannila (1995), Gupta, Strehl, and Ghosh (1999) and Berrado and Runger
(2007) propose clustering association rules by looking at the number of transactions which
are covered by the rules. Using common covered transactions avoids the problems of clus-
tering sparse, high-dimensional binary vectors. However, it introduces a strong bias towards
clustering rules which are generated from the same frequent itemset. By definition of frequent
itemsets, two subsets of a frequent itemset will cover many common transactions. This bias
will lead to mostly just rediscovering the already known frequent itemset structure from the
set of association rules.
Here we pursue a completely different approach. We start with the matrix M defined in
Section 4 which contains the values of a selected interest measure of the rules in set R.
The columns/rows are the unique antecedents/consequents in R, respectively. Now grouping
antecedents becomes the problem of grouping columns in M. To group the column vectors
fast and efficient into k groups we use k-means clustering. The default interest measure used
is lift. The idea is that antecedents that are statistically dependent on the same consequents
are similar and thus can be grouped together. Compared to other clustering approaches for
itemsets, this method enables us to even group antecedents containing substitutes (e.g., butter
and margarine) which are rarely purchased together since they will have similar dependence
to the same consequents.
The same grouping method can be used for consequents. However, since the mined rules are
restricted to a single item in the consequent there is no problem with combinatorial explosion
and such a grouping is typically not necessary.
To visualize the grouped matrix we use a balloon plot with antecedent groups as columns
and consequents as rows (see Figure 7). The color of the balloons represent the aggregated
Michael Hahsler, Sudheer Chelluboina 13
interest measure in the group with a certain consequent and the size of the balloon shows the
aggregated support. The default aggregation function is the median value in the group. The
number of antecedents and the most important (frequent) items in the group are displayed
as the labels for the columns. Furthermore, the columns and rows in the plot are reordered
such that the aggregated interest measure is decreasing from top down and from left to right,
placing the most interesting group in the top left corner.
The matrix visualization with grouped antecedents for the set of 5668 rules mined earlier can
be easily created by
The resulting visualization is shown in Figure 7. The group of most interesting rules according
to lift (the default measure) are shown in the top-left corner of the plot. There are 3 rules
which contain “Instant food products” and up to 2 other items in the antecedent and the
consequent is “hamburger meat.”
To increase the number of groups we can change k which defaults to 20.
Here it is possible to zoom into groups and to inspect the rules contained in a selected group.
6. Graph-based visualizations
Graph-based techniques (Klemettinen, Mannila, Ronkainen, Toivonen, and Verkamo 1994;
Rainsford and Roddick 2000; Buono and Costabile 2005; Ertek and Demiriz 2006) visualize
association rules using vertices and edges where vertices annodated with item labels represent
items, and itemsets or rules are reptesented as a second set of vertices. Items are connected
with itemsets/rules using arrows. For rules arrows pointing from items to rule vertices indicate
LHS items and an arrow from a rule to an item indicates the RHS. Interest measures are
typically added to the plot by using color or size of the vertices representing the itemsets/rules.
Graph-based visualization offers a very clear representation of rules but they tend to easily
become cluttered and thus are only viable for very small sets of rules. For the following plots
we select the 10 rules with the highest lift.
arulesViz contains several graph-based visualizations rendered using either the igraph library
via package igraph (Csardi and Nepusz 2006) or the interface to the GraphViz software in
package Rgraphviz (Gentry, Long, Gentleman, Falcon, Hahne, Sarkar, and Hansen 2010). By
default igraph is used. The following plot represents items and rules as vertices connecting
them with directed edges (shown in Figure 9). This representation focuses on how the rules
are composed of individual items and shows which rules share items.
14
{curd}
{beef}
{sugar}
Grouped Matrix for 5668 Rules
{butter}
Visualizing Association Rules
RHS
{salty snack}
{white bread}
{bottled beer}
+ 15 supressed
{domestic eggs}
{curd}
{beef}
{sugar}
{butter}
RHS
{salty snack}
{white bread}
{bottled beer}
+ 15 supressed
{domestic eggs}
{cream cheese }
{hamburger meat}
Size: support
Color: lift
15 Michael Hahsler, Sudheer Chelluboina
16 Visualizing Association Rules
An interactive visualization is available in arulesViz, however, the built-in graph based visu-
alizations are only useful for small set of rules. To explore large sets of rules with graphs,
advanced interactive features like zooming, filtering, grouping and coloring nodes are needed.
Such features are available in interactive visualization and exploration platforms for networks
and graphs like Gephi (Bastian, Heymann, and Jacomy 2009). From arulesViz graphs for
sets of association rules can be exported in the GraphML format or as a Graphviz dot-file to
be explored in tools like Gephi. For example the 1000 rules with the highest lift are exported
by:
Figure 10 shows a screenshot of exploring these rules interactively. Rules can be explored by
zooming, filtering and coloring vertices and edges.
Figure 11 shows a parallel coordinates plot for 10 rules. The width of the arrows represents
support and the intensity of the color represent confidence. It is obvious that for larger rule
sets visual analysis becomes difficult since with an increasing number of rules also the number
of crossovers between the lines increases Yang (2003).
The number of crossovers can be significantly reduced by reordering the items on the y-axis.
Reordering the items to minimize the number of crossovers is a combinatorial problem with
n! possible permutations. However, for visualization purposes a suboptimal but fast solution
is typically acceptable. We applies a variation of the well known 2-opt heuristic Bentley
(1990) for travelers salesman problem to the reordering problem. The objective function is
to minimize the number of crossovers. The simple heuristic uses the following steps:
1. Choose randomly two items and exchange them if it improves the objective function.
flour
baking powder
sugar
popcorn
soda
yogurt
butter
whole milk
other vegetables
ham
tropical fruit white bread
domestic eggs
processed cheese
{white{shopping bags}
{sausage,rolls/buns,canned beer}
{coffee,misc. beverages}
{pastry} bread}
{citrus fruit,whole milk,whipped/sour cream,rolls/buns}
{butter,yogurt,hard cheese}
{hamburger meat,butter,yogurt}
{root vegetables,yogurt,frozen vegetables}
{other vegetables,butter,sugar}
{ham,processed cheese}
{hamburger{soda}
{butter,hard cheese}
meat}
{root vegetables,other vegetables,yogurt,frozen vegetables}
{curd}
{citrus fruit,whole milk,sugar}
{root vegetables,butter,napkins}
{curd,yogurt,sugar}
{sausage,beef,whole milk}
{citrus fruit,herbs}
{other vegetables,whole milk,frozen meals}
{sausage,beef,rolls/buns}
{beef,citrus fruit,tropical fruit}
{beef,other vegetables,newspapers}
{sausage,beef}
{rolls/buns}
{tropical fruit,other vegetables,whole milk,white bread}
{spread cheese,newspapers}
{whipped/sour cream}
{root vegetables,other vegetables,yogurt,domestic eggs}
{pip fruit,yogurt,sliced cheese}
{sausage}
{butter,yogurt,brown bread}
{root vegetables,other vegetables,whole milk,oil} {citrus fruit,other vegetables,whole milk,oil}
{sausage,beef,other vegetables}
{pip fruit,whole milk,yogurt,white bread}
{chicken,tropical fruit,other vegetables,whole milk}
{pip fruit,herbs}
{herbs,whole milk,yogurt}
{domestic eggs}
{beef,other vegetables,butter}
{frankfurter,sausage,yogurt}
{whole milk,yogurt,whipped/sour cream,domestic eggs} {citrus fruit,other vegetables,hard cheese}
{pork,semi-finished bread}
{ham,pip fruit,other vegetables,whole milk} {cream cheese ,oil}
{other vegetables,butter,long life bakery product}
{chicken,other vegetables,fruit/vegetable juice}
{other vegetables,fruit/vegetable juice,napkins}
{beef,pasta}
{onions,hard cheese}
{other vegetables,whole milk,domestic eggs,fruit/vegetable juice}
{citrus fruit,pip fruit,root vegetables,other vegetables} {other vegetables,whole milk,sliced cheese} {sausage,chicken,yogurt} {other vegetables,whole milk,yogurt,shopping bags}
{sausage,beef,tropical fruit}
{turkey,yogurt}
{other vegetables,whipped/sour cream,sliced cheese} {tropical fruit,other vegetables,yogurt,brown bread}
{beef,waffles}
{tropical fruit,yogurt,frozen meals}
{pip fruit,other vegetables,bottled beer} {tropical fruit,other vegetables,whole milk,domestic eggs}
{tropical fruit}
{butter,oil}
{sausage,chicken,citrus fruit}
{citrus fruit,root vegetables,other vegetables,whipped/sour cream}
{root vegetables,yogurt,newspapers}
{other vegetables,yogurt,rolls/buns,newspapers}
{pork,citrus fruit,other vegetables}
{pork,other vegetables,fruit/vegetable juice}
{ham,tropical fruit,other vegetables,yogurt}
{other vegetables,whole milk,yogurt,sugar}
{sausage,whole milk,newspapers}
{tropical fruit,other vegetables,hard cheese}
{beef,herbs}
{frozen vegetables,semi-finished bread}
{whole milk,whipped/sour cream,soft cheese}
{pork,yogurt,frozen vegetables}
{beef,other vegetables,soda}
{root vegetables,whole milk,yogurt,white bread}
{root vegetables}
{beef,hamburger meat,whole milk}
{whole milk,yogurt,rolls/buns,pastry}
{bottled beer}
{whole milk,long life bakery product,newspapers} {herbs,curd}
{grapes,other vegetables,whole milk}
{tropical fruit,herbs} {other vegetables,rolls/buns,flour}
{pip fruit,salt}
{pip fruit,other vegetables,whole milk,brown bread} {citrus fruit,pip fruit,frozen vegetables}
{beef,tropical fruit,rolls/buns}
{whole milk,butter,hard cheese}
{beef,other vegetables,whole milk,whipped/sour cream} {citrus fruit,root vegetables,other vegetables,whole milk,yogurt}
{other vegetables,butter,curd,yogurt} {beef,tropical fruit,other vegetables}
{pip fruit}
{chicken,tropical fruit,other vegetables}
{tropical fruit,other vegetables,soft cheese}
{beef,butter,rolls/buns}
{sausage,whole milk,hygiene articles}
{whole milk,butter,sliced cheese}
{pip fruit,root vegetables,other vegetables,yogurt}
{root vegetables,butter,yogurt}
{beef}
{pip fruit,other vegetables,frozen fish}
{other vegetables,whole milk,whipped/sour cream,napkins}
{berries,bottled beer}
{whole milk,frozen meals,soda}
{other vegetables,domestic eggs,fruit/vegetable juice}
{beef,onions,other vegetables}
{yogurt,domestic eggs,margarine}
{turkey,root vegetables}
{root vegetables,whole milk,yogurt,bottled water} {other vegetables,hard cheese,domestic eggs}
{frankfurter,whole milk,frozen meals} {curd,hard cheese}
{tropical fruit,other vegetables,whole milk,cream cheese } {pip fruit,other vegetables,whole milk,cream cheese }
{hamburger meat,yogurt,whipped/sour cream}
{frankfurter,other vegetables,frozen meals}
{ham,pip fruit,other vegetables,yogurt} {yogurt,processed cheese} {tropical fruit,other vegetables,oil}
{whole milk,yogurt,whipped/sour cream,margarine}
{citrus fruit,soda,chocolate}
{ham,curd}
{citrus fruit,pip fruit,chocolate} {herbs,bottled beer}
{grapes,other vegetables,fruit/vegetable juice}
{herbs,whole milk,butter}
{sausage,dessert,whipped/sour cream}
{tropical fruit,whipped/sour cream,salty snack} {citrus fruit,tropical fruit,whole milk,fruit/vegetable juice}
{other vegetables,whole milk,butter,yogurt,domestic eggs} {citrus fruit,herbs,other vegetables}
{other vegetables,curd,fruit/vegetable juice}
{onions,other vegetables,soda}
{tropical fruit,dessert,whipped/sour cream}
{pip fruit,other vegetables,whole milk,fruit/vegetable juice} {tropical fruit,whole milk,hard cheese} {dessert,butter milk} {curd,frozen meals}
{root vegetables,butter,cream cheese } {tropical fruit,root vegetables,other vegetables,whole milk,rolls/buns}
{butter}
{tropical fruit,root vegetables,other vegetables,margarine}
{butter,curd,pastry}
{whole milk,yogurt,rice}
{other vegetables,whole milk,pasta}
{frankfurter,chicken,other vegetables}
{tropical fruit,root vegetables,whole milk,curd}
{tropical fruit,whole milk,yogurt,cream cheese }
{curd,soft cheese}
{tropical fruit,other vegetables,whole milk,rolls/buns}
{tropical fruit,pastry,coffee}
{pip fruit,whipped/sour cream,domestic eggs}
{beef,whole milk,newspapers}
{ham,tropical fruit,other vegetables,whole milk}
{sausage,root vegetables,curd}
{root vegetables,pastry,fruit/vegetable juice} {herbs,whole milk,fruit/vegetable juice}
{tropical fruit,whole milk,curd,whipped/sour cream}
{meat,tropical fruit,whole milk}
{yogurt}
{curd,whipped/sour cream,domestic eggs}
{other vegetables}
{tropical fruit,other vegetables,whipped/sour cream,margarine} {tropical fruit,pip fruit,whole milk,curd}
{chicken,root vegetables,pastry}
{tropical fruit,whipped/sour cream,hard cheese}
{onions,whole milk,curd}
{other vegetables,whole milk,pastry,fruit/vegetable juice}
{bottled water}
{butter,whipped/sour cream,margarine}
{beef,root vegetables,sugar}
{other vegetables,flour,margarine}
{tropical fruit,root vegetables,cream cheese } {other vegetables,whole milk,whipped/sour cream,long life bakery product}
{whole milk,yogurt,whipped/sour cream,frozen vegetables} {chicken,citrus fruit,whipped/sour cream} {pastry,bottled water,fruit/vegetable juice}
{pip fruit,root vegetables,whole milk,soda}
{tropical fruit,other vegetables,rolls/buns,newspapers} {root vegetables,cream cheese ,rolls/buns} {tropical fruit,root vegetables,whole milk,rolls/buns}
{sliced cheese,frozen meals}
{other vegetables,fruit/vegetable juice,salty snack}
{tropical fruit,other vegetables,semi-finished bread}
{root vegetables,yogurt,rice}
{tropical fruit,whole milk,butter,whipped/sour cream}
{ham,root vegetables,yogurt}
{citrus fruit}
{whole milk,curd,cream cheese }
{cream cheese }
{hamburger meat,tropical fruit,whipped/sour cream}
{grapes,onions}
{tropical fruit,other vegetables,butter milk}
{root vegetables,yogurt,salty snack}
{sausage,tropical fruit,curd}
{other vegetables,butter,white bread} {rolls/buns,bottled water,soda,newspapers}
{sausage,citrus fruit,whole milk,whipped/sour cream}
{hard cheese,oil}
{butter,curd,domestic eggs}
{berries,butter milk}
{sausage,pip fruit,curd}
{meat,margarine} {citrus fruit,tropical fruit,root vegetables,rolls/buns} {curd,whipped/sour cream,rolls/buns} {sausage,whipped/sour cream,cream cheese }
{other vegetables,butter,cream cheese }
{fruit/vegetable juice}
{root vegetables,rolls/buns,flour}
{tropical fruit,curd,pastry}
{butter,curd,whipped/sour cream}
{chicken,yogurt,domestic eggs}
{yogurt,oil,coffee}
{sausage,tropical fruit,newspapers}
{soda,popcorn}
{sausage,soda,bottled beer}
{sugar}
{pip fruit,root vegetables,whole milk,white bread}
Figure 10: Visualization of 1000 rules with Gephi (Fruchterman Reingold layout, vertex and
label size is proportional to the in-degree, i.e., the number of rules the consequent participates
in).
Michael Hahsler, Sudheer Chelluboina 19
salty snack
sugar
cream cheese
butter
popcorn
soda
baking powder
flour
ham
Instant food products
curd
processed cheese
white bread
domestic eggs
whole milk
other vegetables
tropical fruit
whipped/sour cream
yogurt
hamburger meat
5 4 3 2 1 rhs
Position
salty snack
sugar
popcorn
white bread
baking powder
soda
whipped/sour cream
flour
ham
Instant food products
processed cheese
hamburger meat
whole milk
domestic eggs
yogurt
other vegetables
tropical fruit
cream cheese
butter
curd
5 4 3 2 1 rhs
Position
Figure 12 shows the parallel coordinates plot with reordered items to reduce crossovers.
Figure 13 shows the resulting plot. The area of blocks gives the support and the height of
the “yes” blocks is proportional to the confidence for the rules consisting of the antecedent
items marked as “yes.” Items that show a significant jump in confidence when changed from
“no” to “yes” are interesting. This is captured by the interest measure difference of confidence
defined by Hofmann and Wilhelm (2001).
9. Comparison of techniques
In this section, we compare the visualization techniques available in arulesViz based on the
size of the rule set which can be analyzed, the number of interest measures which are shown
simultaneously, if the technique offers interaction and reordering and how intuitive each vi-
sualization technique is. Note that most of these categories are only evaluated qualitatively
here, and the results presented in Table 1 are only meant to guide the user towards the most
suitable techniques for a given application.
Scatterplot (including two-key plots) and grouped matrix plot are capable to analyze large
rule sets. These techniques are interactive to allow the analyst to zoom and select interesting
rules. Matrix-based can accommodate rule sets of medium size. Reordering can be used to
improve the presentation. To analyze small rule sets the matrix-based method with 3D bars,
Michael Hahsler, Sudheer Chelluboina 21
other vegetables
no
yes
no yesno yes
noyes
no
yes
cream cheese
no yes no yesroot vegetables
no yes pip fruit
Figure 13: Double decker plot for a the rule pip fruit,root vegetables,cream cheese => other
vegetables.
graph-based methods and parallel coordinates plots are suitable. Graphs for large rule sets
can be analyzed using external tools like Gephi. Finally, double decker plots only visualize a
single rule.
The techniques discussed in this paper can also be categorized based on the number of interest
measures simultaneously visualized. Most methods can represent two measures and scatter
plots are even able to visualize three measures for each rule in one plot.
Scatter plot and graph based techniques are the most intuitive while matrix-based visualiza-
tion with two interest measures, parallel coordinates and double decker require time to learn
how to interpret them correctly.
11. Conclusion
Association rule mining algorithms typically generate a large number of association rules
which poses a major problem for understanding and analyzing rules. In this paper we pre-
sented several visualization techniques implemented in arulesViz which can be used to explore
and present sets of association rules. In addition we present a new interactive visualization
method called grouped matrix-based visualization which can used to effectively explore large
rule sets.
References
Agrawal R, Imielinski T, Swami A (1993). “Mining Association Rules between Sets of Items
in Large Databases.” In Proceedings of the 1993 ACM SIGMOD International Conference
on Management of Data, pp. 207–216. ACM Press. URL http://doi.acm.org/10.1145/
170035.170072.
Bastian M, Heymann S, Jacomy M (2009). “Gephi: An Open Source Software for Exploring
and Manipulating Networks.” pp. 361–362.
Bayardo, Jr RJ, Agrawal R (1999). “Mining the most interesting rules.” In KDD ’99: Pro-
ceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and
data mining, pp. 145–154. ACM.
Berrado A, Runger GC (2007). “Using metarules to organize and group discovered association
rules.” Data Mining and Knowledge Discovery, 14(3), 409–431.
Brin S, Motwani R, Ullman JD, Tsur S (1997). “Dynamic Itemset Counting and Implication
Rules for Market Basket Data.” In SIGMOD 1997, Proceedings ACM SIGMOD Interna-
tional Conference on Management of Data, pp. 255–264. Tucson, Arizona, USA.
Bruzzese D, Davino C (2008). “Visual Mining of Association Rules.” In Visual Data Mining:
Theory, Techniques and Tools for Visual Analytics, pp. 103–122. Springer-Verlag.
Buono P, Costabile MF (2005). “Visualizing Association Rules in a Framework for Visual Data
Mining.” In From Integrated Publication and Information Systems to Virtual Information
and Knowledge Environments, pp. 221–231.
Chen CH, Unwin A, Hardle W (eds.) (2008). Handbook of Data Visualization. Springer
Handbooks of Computational Statistics. Springer-Verlag.
Csardi G, Nepusz T (2006). “The igraph software package for complex network research.”
InterJournal, Complex Systems, 1695. URL http://igraph.sf.net.
Michael Hahsler, Sudheer Chelluboina 23
Hahsler M (2017). “arulesViz: Visualizing Association Rules with R.” R Journal, 9(2),
163–175. ISSN 2073-4859. URL https://journal.r-project.org/archive/2017/
RJ-2017-047/RJ-2017-047.pdf.
Hahsler M, Buchta C, Grün B, Hornik K (2010). arules: Mining Association Rules and
Frequent Itemsets. R package version 1.0-3., URL http://CRAN.R-project.org/.
Han J, An A, Cercone N (2000). CViz: An Interactive Visualization System for Rule Induc-
tion, pp. 214–226. Springer Berlin / Heidelberg.
Hofmann H, Siebes A, Wilhelm AFX (2000). “Visualizing Association Rules with Interac-
tive Mosaic Plots.” In KDD, pp. 227–235. URL http://doi.acm.org/10.1145/347090.
347133.
Jentner W, Keim D (2017). “Visualization and Visual Analytic Techniques for Patterns.” In
P Fournier-Viger, J Lin, R Nkambou, B Vo, V Tseng (eds.), High-Utility Pattern Mining,
volume 51 of Studies in Big Data, pp. 1–36. Springer-Verlag.
Ong KH, leong Ong K, Ng WK, Lim EP (2002). “CrystalClear: Active Visualization of
Association Rules.” In In ICDM’02 International Workshop on Active Mining AM2002.
Prangsmal ME, van Boxtel CAM, Kanselaar G, Kirschner PA (2009). “Concrete and abstract
visualizations in history learning tasks.” British Journal of Educational Psychology, 79,
371–387.
24 Visualizing Association Rules
Unwin A, Hofmann H, Bernt K (2001). “The TwoKey Plot for Multiple Association Rules
Control.” In PKDD ’01: Proceedings of the 5th European Conference on Principles of Data
Mining and Knowledge Discovery, pp. 472–483. Springer-Verlag.
Wong PC, Whitney P, Thomas J (1999). “Visualizing Association Rules for Text Mining.” In
INFOVIS ’99: Proceedings of the 1999 IEEE Symposium on Information Visualization, p.
120. IEEE Computer Society, Washington, DC, USA. ISBN 0-7695-0431-0.
Yang L (2003). “Visualizing Frequent Itemsets, Association Rules, and Sequential Patterns
in Parallel Coordinates.” In Computational Science and Its Applications – ICCSA 2003,
Lecture Notes in Computer Science, pp. 21–30.
Affiliation:
Michael Hahsler
Engineering Management, Information, and Systems
Lyle School of Engineering
Southern Methodist University
P.O. Box 750123
Dallas, TX 75275-0123
E-mail: mhahsler@lyle.smu.edu
URL: http://lyle.smu.edu/~mhahsler