Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Unit 3

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 164

Department of CSE

IV Year B.Tech. I-Semester


Regulation: R18
Subject: DATA WAREHOUSING AND DATAMINING
(18PC0CS25)

1
UNIT – 3
Data Preprocessing: Overview, Data Cleaning, Data
Integration, Data Reduction, Data Transformation
and Data Discretization.

Mining Frequent Patterns, Associations and


Correlations: Basic Concepts, Frequent Itemset
Mining Methods, Pattern Evaluation Methods.

1-2
Data Quality: Why Preprocess the
Data?

 Measures for data quality: A multidimensional view


 Accuracy: correct or wrong, accurate or not
 Completeness: not recorded, unavailable, …
 Consistency: some modified but some not,
dangling, …
 Timeliness: timely update?
 Believability: how trustable the data are correct?
 Interpretability: how easily the data can be
understood?
3
Major Tasks in Data Preprocessing
 Data cleaning
 Fill in missing values, smooth noisy data, identify or
remove outliers, and resolve inconsistencies
 Data integration
 Integration of multiple databases, data cubes, or files
 Data reduction
 Dimensionality reduction
 Numerosity reduction
 Data compression
 Data transformation and data discretization
 Normalization
 Concept hierarchy generation

4
Data Cleaning
 Data in the Real World Is Dirty: Lots of potentially incorrect
data, e.g., instrument faulty, human or computer error,
transmission error
 incomplete: lacking attribute values, lacking certain
attributes of interest, or containing only aggregate data

e.g., Occupation=“ ” (missing data)
 noisy: containing noise, errors, or outliers

e.g., Salary=“−10” (an error)
 inconsistent: containing discrepancies in codes or names,
e.g.,

Age=“42”, Birthday=“03/07/2010”

Was rating “1, 2, 3”, now rating “A, B, C”

discrepancy between duplicate records
 Intentional (e.g., disguised missing data)
5
Incomplete (Missing) Data
 Data is not always available
 E.g., many tuples have no recorded value for
several attributes, such as customer income in
sales data
 Missing data may be due to
 equipment malfunction
 inconsistent with other recorded data and thus
deleted
 data not entered due to misunderstanding
 certain data may not be considered important
at the time of entry
 not register history or changes of the data
6
How to Handle Missing
Data?
 Ignore the tuple: usually done when class label is
missing (when doing classification)—not effective
when the % of missing values per attribute varies
considerably
 Fill in the missing value manually: tedious +
infeasible?
 Fill in it automatically with
 a global constant : e.g., “unknown”, a new
class?!
 the attribute mean
 the attribute mean for all samples belonging to
the same class: smarter 7
Noisy Data
 Noise: random error or variance in a measured
variable
 Incorrect attribute values may be due to
 faulty data collection instruments

 data entry problems

 data transmission problems

 technology limitation

 inconsistency in naming convention

 Other data problems which require data cleaning


 duplicate records

 incomplete data

 inconsistent data

8
How to Handle Noisy Data?
 Binning
 first sort data and partition into (equal-

frequency) bins
 then one can smooth by bin means, smooth by

bin median, smooth by bin boundaries, etc.


 Regression
 smooth by fitting the data into regression

functions
 Clustering
 detect and remove outliers

 Combined computer and human inspection


 detect suspicious values and check by human

(e.g., deal with possible outliers)


9
Data Cleaning as a Process
 Data discrepancy detection
 Use metadata (e.g., domain, range, dependency,

distribution)
 Check field overloading

 Check uniqueness rule, consecutive rule and null rule

 Use commercial tools


Data scrubbing: use simple domain knowledge (e.g.,
postal code, spell-check) to detect errors and make
corrections

Data auditing: by analyzing data to discover rules and
relationship to detect violators (e.g., correlation and
clustering to find outliers)
 Data migration and integration
 Data migration tools: allow transformations to be specified

 ETL (Extraction/Transformation/Loading) tools: allow users

to specify transformations through a graphical user


interface
 Integration of the two processes 10
Data Integration
 Data integration:
 Combines data from multiple sources into a coherent store
 Schema integration: e.g., A.cust-id  B.cust-#
 Integrate metadata from different sources
 Entity identification problem:
 Identify real world entities from multiple data sources, e.g.,
Bill Clinton = William Clinton
 Detecting and resolving data value conflicts
 For the same real world entity, attribute values from
different sources are different
 Possible reasons: different representations, different
scales, e.g., metric vs. British units
11
Handling Redundancy in Data
Integration

 Redundant data occur often when integration of


multiple databases
 Object identification: The same attribute or
object may have different names in different
databases
 Derivable data: One attribute may be a
“derived” attribute in another table, e.g.,
annual revenue
 Redundant attributes may be able to be detected
by correlation analysis and covariance analysis
 Careful integration of the data from multiple
sources may help reduce/avoid redundancies and 12
Correlation Analysis (Nominal Data)
 Χ2 (chi-square) test
2
(Observed  Expected )
 2 
Expected
 The larger the Χ2 value, the more likely the variables are related
 The cells that contribute the most to the Χ2 value are those
whose actual count is very different from the expected count
 Correlation does not imply causality
 # of hospitals and # of car-theft in a city are correlated
 Both are causally linked to the third variable: population

13
Chi-Square Calculation: An
Example

Play chess Not play chess Sum (row)


Like science fiction 250(90) 200(360) 450

Not like science fiction 50(210) 1000(840) 1050

Sum(col.) 300 1200 1500

 Χ2 (chi-square) calculation (numbers in parenthesis are expected


counts calculated based on the data distribution in the two
categories)
(250  90) 2 (50  210) 2 (200  360) 2 (1000  840) 2
 
2
   507.93
90 210 360 840
 It shows that like_science_fiction and play_chess are correlated
in the group
14
Correlation Analysis (Numeric Data)

 Correlation coefficient (also called Pearson’s product moment


coefficient)

i 1 (ai  A)(bi  B) 
n n
(ai bi )  n AB
rA, B   i 1
(n  1) A B (n  1) A B

where n is the number of tuples, and


A areBthe respective means of A
and B, σA and σB are the respective standard deviation of A and B, and
Σ(aibi) is the sum of the AB cross-product.
 If rA,B > 0, A and B are positively correlated (A’s values increase as
B’s). The higher, the stronger correlation.
 rA,B = 0: independent; rAB < 0: negatively correlated

15
Visually Evaluating Correlation

Scatter plots
showing the
similarity from
–1 to 1.

16
Correlation (viewed as linear
relationship)
 Correlation measures the linear relationship
between objects
 To compute correlation, we standardize
data objects, A and B, and then take their
dot product
a 'k (ak  mean( A)) / std ( A)

b'k (bk  mean( B)) / std ( B )

correlation( A, B)  A' B'

17
Covariance (Numeric Data)
 Covariance is similar to correlation

Correlation coefficient:

where n is the number of tuples, andA are the respective mean or


B
expected values of A and B, σA and σB are the respective standard deviation
of A and B.
 Positive covariance: If CovA,B > 0, then A and B both tend to be larger than their
expected values.
 Negative covariance: If CovA,B < 0 then if A is larger than its expected value, B is
likely to be smaller than its expected value.

Independence: CovA,B = 0 but the converse is not true:
 Some pairs of random variables may have a covariance of 0 but are not independent.
Only under some additional assumptions (e.g., the data follow multivariate normal
distributions) does a covariance of 0 imply independence 18
Co-Variance: An Example

 It can be simplified in computation as

 Suppose two stocks A and B have the following values in one week: (2, 5), (3,
8), (5, 10), (4, 11), (6, 14).
 Question: If the stocks are affected by the same industry trends, will their
prices rise or fall together?
 E(A) = (2 + 3 + 5 + 4 + 6)/ 5 = 20/5 = 4
 E(B) = (5 + 8 + 10 + 11 + 14) /5 = 48/5 = 9.6
 Cov(A,B) = (2×5+3×8+5×10+4×11+6×14)/5 − 4 × 9.6 = 4
 Thus, A and B rise together since Cov(A, B) > 0.
Data Reduction Strategies
 Data reduction: Obtain a reduced representation of the data
set that is much smaller in volume but yet produces the same
(or almost the same) analytical results
 Why data reduction? — A database/data warehouse may store
terabytes of data. Complex data analysis may take a very
long time to run on the complete data set.
 Data reduction strategies
 Dimensionality reduction, e.g., remove unimportant

attributes

Wavelet transforms

Principal Components Analysis (PCA)

Feature subset selection, feature creation
 Numerosity reduction (some simply call it: Data Reduction)


Regression and Log-Linear Models

Histograms, clustering, sampling

Data cube aggregation
 Data compression

20
Data Reduction 1: Dimensionality
Reduction
 Curse of dimensionality
 When dimensionality increases, data becomes increasingly sparse
 Density and distance between points, which is critical to
clustering, outlier analysis, becomes less meaningful
 The possible combinations of subspaces will grow exponentially
 Dimensionality reduction
 Avoid the curse of dimensionality
 Help eliminate irrelevant features and reduce noise
 Reduce time and space required in data mining
 Allow easier visualization
 Dimensionality reduction techniques
 Wavelet transforms
 Principal Component Analysis
 Supervised and nonlinear techniques (e.g., feature selection)

21
Mapping Data to a New Space
 Fourier transform
 Wavelet transform

Two Sine Waves Two Sine Waves + Noise Frequency

22
What Is Wavelet Transform?
 Decomposes a signal into
different frequency subbands
 Applicable to n-dimensional
signals
 Data are transformed to
preserve relative distance
between objects at different
levels of resolution
 Allow natural clusters to
become more distinguishable
 Used for image compression

23
Wavelet
Transformation
Haar2 Daubechie4
 Discrete wavelet transform (DWT) for linear signal
processing, multi-resolution analysis
 Compressed approximation: store only a small
fraction of the strongest of the wavelet coefficients
 Similar to discrete Fourier transform (DFT), but
better lossy compression, localized in space
 Method:
 Length, L, must be an integer power of 2 (padding with
0’s, when necessary)
 Each transform has 2 functions: smoothing, difference
 Applies to pairs of data, resulting in two set of data of
length L/2
 Applies two functions recursively, until reaches the
24 desired
Wavelet Decomposition
 Wavelets: A math tool for space-efficient
hierarchical decomposition of functions
 S = [2, 2, 0, 2, 3, 5, 4, 4] can be transformed to S^
= [23/4, -11/4, 1/2, 0, 0, -1, -1, 0]
 Compression: many small detail coefficients can
be replaced by 0’s, and only the significant
coefficients are retained

25
Haar Wavelet Coefficients
Coefficient
Hierarchical “Supports”
2.75
decomposition 2.75 +
structure (a.k.a. +
“error tree”) + -1.25
-
-1.25
+ -
0.5
+
0.5
- +
0
- 0
+
-
0 -1 -1 0
+
-
+ + 0
- - + - + -
-
+
-+
-+
2 2 0 2 3 5 4 4
1-1

Original frequency distribution 0 -+


26
-
Why Wavelet Transform?
 Use hat-shape filters
 Emphasize region where points cluster

 Suppress weaker information in their boundaries

 Effective removal of outliers


 Insensitive to noise, insensitive to input order

 Multi-resolution
 Detect arbitrary shaped clusters at different

scales
 Efficient
 Complexity O(N)

 Only applicable to low dimensional data


27
Principal Component Analysis (PCA)
 Find a projection that captures the largest amount of
variation in data
 The original data are projected onto a much smaller space,
resulting in dimensionality reduction. We find the
eigenvectors of the covariance matrix, and these
eigenvectorsx2 define the new space

x1
28
Principal Component Analysis
(Steps)
 Given N data vectors from n-dimensions, find k ≤ n
orthogonal vectors (principal components) that can be best
used to represent data
 Normalize input data: Each attribute falls within the same
range
 Compute k orthonormal (unit) vectors, i.e., principal
components
 Each input data (vector) is a linear combination of the k
principal component vectors
 The principal components are sorted in order of decreasing
“significance” or strength
 Since the components are sorted, the size of the data can
be reduced by eliminating the weak components, i.e.,
those with low variance (i.e., using the strongest principal 29
Attribute Subset Selection
 Another way to reduce dimensionality of data
 Redundant attributes
 Duplicate much or all of the information
contained in one or more other attributes
 E.g., purchase price of a product and the
amount of sales tax paid
 Irrelevant attributes
 Contain no information that is useful for the
data mining task at hand
 E.g., students' ID is often irrelevant to the task
of predicting students' GPA

30
Heuristic Search in Attribute
Selection
 There are 2d possible attribute combinations of d
attributes
 Typical heuristic attribute selection methods:
 Best single attribute under the attribute

independence assumption: choose by


significance tests
 Best step-wise feature selection:


The best single-attribute is picked first

Then next best attribute condition to the
first, ...
 Step-wise attribute elimination:


Repeatedly eliminate the worst attribute
 Best combined attribute selection and elimination

31
Attribute Creation (Feature
Generation)
 Create new attributes (features) that can capture
the important information in a data set more
effectively than the original ones
 Three general methodologies
 Attribute extraction


Domain-specific
 Mapping data to new space (see: data

reduction)

E.g., Fourier transformation, wavelet
transformation, manifold approaches (not
covered)
 Attribute construction


Combining features (see: discriminative
frequent patterns in Chapter 7) 32
Data Reduction 2: Numerosity
Reduction
 Reduce data volume by choosing alternative,
smaller forms of data representation
 Parametric methods (e.g., regression)
 Assume the data fits some model, estimate

model parameters, store only the parameters,


and discard the data (except possible outliers)
 Ex.: Log-linear models—obtain value at a point

in m-D space as the product on appropriate


marginal subspaces
 Non-parametric methods
 Do not assume models

 Major families: histograms, clustering,

sampling, …
33
Parametric Data Reduction:
Regression and Log-Linear
Models
 Linear regression
 Data modeled to fit a straight line

 Often uses the least-square method to fit the

line
 Multiple regression
 Allows a response variable Y to be modeled as

a linear function of multidimensional feature


vector
 Log-linear model
 Approximates discrete multidimensional

probability distributions

34
y
Regression Analysis
Y1
 Regression analysis: A collective name for
techniques for the modeling and analysis of Y1’
y=x+1
numerical data consisting of values of a
dependent variable (also called response
variable or measurement) and of one or more X1 x
independent variables (aka. explanatory
variables or predictors)  Used for prediction
 The parameters are estimated so as to give a (including forecasting of
"best fit" of the data time-series data),
inference, hypothesis
 Most commonly the best fit is evaluated by
testing, and modeling of
using the least squares method, but other
causal relationships
criteria have also been used

35
Regress Analysis and Log-
Linear Models
 Linear regression: Y = w X + b
 Two regression coefficients, w and b, specify the line and
are to be estimated by using the data at hand
 Using the least squares criterion to the known values of Y1,
Y2, …, X1, X2, ….
 Multiple regression: Y = b0 + b1 X1 + b2 X2
 Many nonlinear functions can be transformed into the
above
 Log-linear models:
 Approximate discrete multidimensional probability
distributions
 Estimate the probability of each point (tuple) in a multi-
dimensional space for a set of discretized attributes, based
36
Histogram Analysis
 Divide data into buckets 40
and store average (sum) 35
for each bucket 30
 Partitioning rules: 25
 Equal-width: equal 20
bucket range
15
 Equal-frequency (or 10
equal-depth)
5
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
37
Clustering
 Partition data set into clusters based on similarity,
and store cluster representation (e.g., centroid
and diameter) only
 Can be very effective if data is clustered but not if
data is “smeared”
 Can have hierarchical clustering and be stored in
multi-dimensional index tree structures
 There are many choices of clustering definitions
and clustering algorithms
 Cluster analysis will be studied in depth in
Chapter 10
38
Sampling

 Sampling: obtaining a small sample s to represent


the whole data set N
 Allow a mining algorithm to run in complexity that
is potentially sub-linear to the size of the data
 Key principle: Choose a representative subset of
the data
 Simple random sampling may have very poor
performance in the presence of skew
 Develop adaptive sampling methods, e.g.,
stratified sampling:
 Note: Sampling may not reduce database I/Os
39
Types of Sampling
 Simple random sampling
 There is an equal probability of selecting any

particular item
 Sampling without replacement
 Once an object is selected, it is removed from

the population
 Sampling with replacement
 A selected object is not removed from the

population
 Stratified sampling:
 Partition the data set, and draw samples from

each partition (proportionally, i.e., approximately


the same percentage of the data)
 Used in conjunction with skewed data

40
Sampling: With or without
Replacement

W O R
SRS le random
i m p ho ut
( s e wi t
l
sa m p m e nt )
p l a ce
re

SRSW
R

Raw Data
41
Sampling: Cluster or Stratified
Sampling

Raw Data Cluster/Stratified Sample

42
Data Cube Aggregation

 The lowest level of a data cube (base cuboid)


 The aggregated data for an individual entity of
interest
 E.g., a customer in a phone calling data
warehouse
 Multiple levels of aggregation in data cubes
 Further reduce the size of data to deal with
 Reference appropriate levels
 Use the smallest representation which is enough
to solve the task
 Queries regarding aggregated information should
43
Data Reduction 3: Data
Compression
 String compression
 There are extensive theories and well-tuned

algorithms
 Typically lossless, but only limited manipulation is

possible without expansion


 Audio/video compression
 Typically lossy compression, with progressive

refinement
 Sometimes small fragments of signal can be

reconstructed without reconstructing the whole


 Time sequence is not audio
 Typically short and vary slowly with time

 Dimensionality and numerosity reduction may 44


also
Data Compression

Original Data Compressed


Data
lossless

os sy
l
Original Data
Approximated

45
Data Transformation
 A function that maps the entire set of values of a given
attribute to a new set of replacement values s.t. each old
value can be identified with one of the new values
 Methods
 Smoothing: Remove noise from data
 Attribute/feature construction

New attributes constructed from the given ones
 Aggregation: Summarization, data cube construction
 Normalization: Scaled to fall within a smaller, specified
range

min-max normalization

z-score normalization

normalization by decimal scaling 46
Normalization
 Min-max normalization: to [new_minA, new_maxA]
v  minA
v'  (new _ maxA  new _ minA)  new _ minA
maxA  minA
 Ex. Let income range $12,000 to $98,000 normalized to [0.0, 1.0].
73,600  12,000
(1.0  0)  0 0.716
Then $73,000 is mapped to 98,000  12,000

 Z-score normalization (μ: mean, σ: standard deviation):


v  A
v' 
 A

73,600  54,000
 Ex. Let μ = 54,000, σ = 16,000. Then 1.225
16,000
 Normalization by decimal scaling
v
v'  j Where j is the smallest integer such that Max(|ν’|) < 1
10
47
Discretization
 Three types of attributes
 Nominal—values from an unordered set, e.g., color,
profession
 Ordinal—values from an ordered set, e.g., military or
academic rank
 Numeric—real numbers, e.g., integer or real numbers
 Discretization: Divide the range of a continuous attribute into
intervals
 Interval labels can then be used to replace actual data
values
 Reduce data size by discretization
 Supervised vs. unsupervised
 Split (top-down) vs. merge (bottom-up)
 Discretization can be performed recursively on an attribute 48
Data Discretization Methods
 Typical methods: All the methods can be applied
recursively
 Binning

Top-down split, unsupervised
 Histogram analysis

Top-down split, unsupervised
 Clustering analysis (unsupervised, top-down split
or bottom-up merge)
 Decision-tree analysis (supervised, top-down
split)
 Correlation (e.g., 2) analysis (unsupervised,
49
Simple Discretization: Binning

 Equal-width (distance) partitioning


 Divides the range into N intervals of equal size: uniform
grid
 if A and B are the lowest and highest values of the
attribute, the width of intervals will be: W = (B –A)/N.
 The most straightforward, but outliers may dominate
presentation
 Skewed data is not handled well
 Equal-depth (frequency) partitioning
 Divides the range into N intervals, each containing
approximately same number of samples
 Good data scaling 50
Binning Methods for Data
Smoothing
 Sorted data for price (in dollars): 4, 8, 9, 15, 21, 21, 24,
25, 26, 28, 29, 34
* Partition into equal-frequency (equi-depth) bins:
- Bin 1: 4, 8, 9, 15
- Bin 2: 21, 21, 24, 25
- Bin 3: 26, 28, 29, 34
* Smoothing by bin means:
- Bin 1: 9, 9, 9, 9
- Bin 2: 23, 23, 23, 23
- Bin 3: 29, 29, 29, 29
* Smoothing by bin boundaries:
- Bin 1: 4, 4, 4, 15
- Bin 2: 21, 21, 25, 25
- Bin 3: 26, 26, 26, 34

51
Class Labels
(Binning vs. Clustering)

Data Equal interval width


(binning)

Equal frequency (binning) K-means clustering leads to better


results
52
Classification & Correlation
Analysis
 Classification (e.g., decision tree analysis)
 Supervised: Given class labels, e.g., cancerous vs. benign
 Using entropy to determine split point (discretization
point)
 Top-down, recursive split
 Details to be covered in Chapter 7
 Correlation analysis (e.g., Chi-merge: χ2-based discretization)
 Supervised: use class information
 Bottom-up merge: find the best neighboring intervals
(those having similar distributions of classes, i.e., low χ2
values) to merge
53
Concept Hierarchy Generation
 Concept hierarchy organizes concepts (i.e., attribute values)
hierarchically and is usually associated with each dimension in
a data warehouse
 Concept hierarchies facilitate drilling and rolling in data
warehouses to view data in multiple granularity
 Concept hierarchy formation: Recursively reduce the data by
collecting and replacing low level concepts (such as numeric
values for age) by higher level concepts (such as youth, adult,
or senior)
 Concept hierarchies can be explicitly specified by domain
experts and/or data warehouse designers
 Concept hierarchy can be automatically formed for both
numeric and nominal data. For numeric data, use
discretization methods shown. 54
Concept Hierarchy Generation
for Nominal Data
 Specification of a partial/total ordering of attributes
explicitly at the schema level by users or experts
 street < city < state < country
 Specification of a hierarchy for a set of values by
explicit data grouping
 {Urbana, Champaign, Chicago} < Illinois
 Specification of only a partial set of attributes
 E.g., only street < city, not others
 Automatic generation of hierarchies (or attribute
levels) by the analysis of the number of distinct
values
 E.g., for a set of attributes: {street, city, state,
55
Automatic Concept Hierarchy
Generation
 Some hierarchies can be automatically generated based on
the analysis of the number of distinct values per attribute in
the data set
 The attribute with the most distinct values is placed at

the lowest level of the hierarchy


 Exceptions, e.g., weekday, month, quarter, year

country 15 distinct values

province_or_ state 365 distinct values

city 3567 distinct values

street 674,339 distinct values


56
Mining Frequent Patterns, Association
and Correlations: Basic Concepts and
Methods
 Basic Concepts

 Frequent Itemset Mining Methods

 Which Patterns Are Interesting?—Pattern Evaluation

Methods

 Summary

57
What Is Frequent Pattern
Analysis?
 Frequent pattern: a pattern (a set of items, subsequences,
substructures, etc.) that occurs frequently in a data set
 First proposed by Agrawal, Imielinski, and Swami [AIS93] in the
context of frequent itemsets and association rule mining
 Motivation: Finding inherent regularities in data
 What products were often purchased together?— Beer and
diapers?!
 What are the subsequent purchases after buying a PC?
 What kinds of DNA are sensitive to this new drug?
 Can we automatically classify web documents?
 Applications
 Basket data analysis, cross-marketing, catalog design, sale
campaign analysis, Web log (click stream) analysis, and DNA 58
Why Is Freq. Pattern Mining
Important?
 Freq. pattern: An intrinsic and important property of
datasets
 Foundation for many essential data mining tasks
 Association, correlation, and causality analysis

 Sequential, structural (e.g., sub-graph) patterns

 Pattern analysis in spatiotemporal, multimedia,

time-series, and stream data


 Classification: discriminative, frequent pattern

analysis
 Cluster analysis: frequent pattern-based

clustering
 Data warehousing: iceberg cube and cube-

gradient
59
Basic Concepts: Frequent
Patterns
Tid Items bought  itemset: A set of one or
10 Beer, Nuts, Diaper more items :beer , nuts,
20 Beer, Coffee, Diaper diaper
30 Beer, Diaper, Eggs  k-itemset X = {x1, …, xk}
40 Nuts, Eggs, Milk  (absolute) support, or,
50 Nuts, Coffee, Diaper, Eggs, Milk
support count of X:
Customer
Frequency or occurrence of
Customer
buys both buys diaper
an itemset X
 Eg: (beer=3)
 (relative) support, s, is the
fraction of transactions
that contains X (i.e., the
Customer probability that a
buys beer
transaction contains X)
 Eg:x=beer (10,20,30) 60
Basic Concepts: Association
Rules
Ti Items bought
d
 Find all the rules X  Y with
10 Beer, Nuts, Diaper
minimum support and
20 Beer, Coffee, Diaper
30 Beer, Diaper, Eggs confidence
40 Nuts, Eggs, Milk  support, s, probability that
50 Nuts, Coffee, Diaper, Eggs,
Milk
a transaction contains X 
Customer
Customer Y
buys both
buys  confidence, c, conditional
diaper
probability that a
transaction having X also
Customer contains Y
buys beer Let
 Association
minsup = 50%, rules: (many
minconf = 50%
Freq.more!)
Pat.: Beer:3, Nuts:3, Diaper:4,
Beer
Eggs:3,

 Diaper
{Beer, (60%,
Diaper}:3
100%)
61
62
No of distinct item sets= 2n − 1

63
64
65
C-closed NC-not closed

Closed: support of that


itemset should not be more or
equal throughout the subsets.

Not Closed: support of that


itemset may be equal or more
throughout the subsets.

66
67
A-frequent
B-frequent
C-frequent
E-frequent
AB-frequent
ABC-frequent
ABCE-frequent(max)

68
69
Min support=2
Total
transactions=4

All supersets of 1,3 are


<2

70
Only 1 superset

71
Closed Patterns and Max-
Patterns
 A long pattern contains a combinatorial number of
sub-patterns, e.g., {a1, …, a100} contains (1001) +
(1002) + … + (110000) = 2100 – 1 = 1.27*1030 sub-
patterns!
 Solution: Mine closed patterns and max-patterns
instead
 An itemset X is closed if X is frequent and there
exists no super-pattern Y ‫ כ‬X, with the same
support as X (proposed by Pasquier, et al. @
ICDT’99)
 An itemset X is a max-pattern if X is frequent and
there exists no frequent super-pattern Y ‫ כ‬X
(proposed by Bayardo @ SIGMOD’98) 72
Closed Patterns and Max-
Patterns
 Exercise. DB = {<a1, …, a100>, < a1, …,
a50>}
 Min_sup = 1.
 What is the set of closed itemset?
 <a1, …, a100>: 1
 < a1, …, a50>: 2
 What is the set of max-pattern?
 <a1, …, a100>: 1
 What is the set of all patterns?
 !! 73
Computational Complexity of Frequent
Itemset Mining
 How many itemsets are potentially to be generated in the worst
case?
 The number of frequent itemsets to be generated is senstive to
the minsup threshold
 When minsup is low, there exist potentially an exponential
number of frequent itemsets
 The worst case: MN where M: # distinct items, and N: max
length of transactions
 The worst case complexty vs. the expected probability
 Ex. Suppose Walmart has 104 kinds of products

The chance to pick up one product 10-4

The chance to pick up a particular set of 10 products: ~10-
40


What is the chance this particular set of 10 products to be
frequent 103 times in 109 transactions? 74
Chapter 5: Mining Frequent Patterns,
Association and Correlations: Basic
Concepts and Methods
 Basic Concepts

 Frequent Itemset Mining Methods

 Which Patterns Are Interesting?—Pattern Evaluation

Methods

 Summary

75
Scalable Frequent Itemset Mining
Methods

 Apriori: A Candidate Generation-and-Test

Approach

 Improving the Efficiency of Apriori

 FPGrowth: A Frequent Pattern-Growth

Approach

 ECLAT: Frequent Pattern Mining with


76
The Downward Closure Property and
Scalable Mining Methods
 The downward closure property of frequent patterns
 Any subset of a frequent itemset must be

frequent
 If {beer, diaper, nuts} is frequent, so is {beer,

diaper}
 i.e., every transaction having {beer, diaper, nuts}

also contains {beer, diaper}


 Scalable mining methods: Three major approaches
 Apriori (Agrawal & Srikant@VLDB’94)

 Freq. pattern growth (FPgrowth—Han, Pei & Yin

@SIGMOD’00)
 Vertical data format approach (Charm—Zaki &

Hsiao @SDM’02)
77
Apriori: A Candidate Generation & Test
Approach

 Apriori pruning principle: If there is any itemset


which is infrequent, its superset should not be
generated/tested! (Agrawal & Srikant @VLDB’94,
Mannila, et al. @ KDD’ 94)
 Method:
 Initially, scan DB once to get frequent 1-itemset
 Generate length (k+1) candidate itemsets from
length k frequent itemsets
 Test the candidates against DB
 Terminate when no frequent or candidate set can
be generated
78
The Apriori Algorithm—An
Example
Supmin = 2 Itemset sup
Itemset sup
Database TDB {A} 2
L1 {A} 2
Tid Items C1 {B} 3
{B} 3
10 A, C, D {C} 3
{C} 3
20 B, C, E 1st scan {D} 1
{E} 3
30 A, B, C, E {E} 3
40 B, E
C2 Itemset sup
C2 Itemset
{A, B} 1
L2 Itemset sup
{A, C} 2 2nd scan {A, B}
{A, C} 2 {A, C}
{A, E} 1
{B, C} 2 {A, E}
{B, C} 2
{B, E} 3
{B, E} 3 {B, C}
{C, E} 2
{C, E} 2 {B, E}
{C, E}

C3 Itemset
3 scan
rd L3 Itemset sup
{B, C, E} {B, C, E} 2

79
The Apriori Algorithm
(Pseudo-Code)
Ck: Candidate itemset of size k
Lk : frequent itemset of size k

L1 = {frequent items};
for (k = 1; Lk !=; k++) do begin
Ck+1 = candidates generated from Lk;
for each transaction t in database do
increment the count of all candidates in Ck+1
that are contained in t
Lk+1 = candidates in Ck+1 with min_support
end
return k Lk; 80
81
82
83
84
85
Mod 7? Table size=10 (max prime no we have take from the given table size

86
87
88
89
90
91
92
93
94
95
96
97
98
Minimum support count=2
M=2(no of parts)[T100,T200] & )[T300,T400]

99
100
101
102
103
104
Data set Sample(s) Search items in s not in D

So we need to check lower support threshold There may be a chance of missing


rather than minimum support
some items in D

Finally check whether all the


global items are included in lowe support threshold
105
106
107
Min support count = 2

108
109
110
111
112
113
114
115
116
117
118
119
120
121
Implementation of Apriori

 How to generate candidates?


 Step 1: self-joining Lk
 Step 2: pruning
 Example of Candidate-generation
 L3={abc, abd, acd, ace, bcd}
 Self-joining: L3*L3

abcd from abc and abd

acde from acd and ace
 Pruning:
 acde is removed because ade is not in L3
 C4 = {abcd}
122
How to Count Supports of
Candidates?

 Why counting supports of candidates a problem?


 The total number of candidates can be very
huge
 One transaction may contain many candidates
 Method:
 Candidate itemsets are stored in a hash-tree
 Leaf node of hash-tree contains a list of
itemsets and counts
 Interior node contains a hash table
 Subset function: finds all the candidates
contained in a transaction
123
Counting Supports of Candidates Using
Hash Tree

Subset function
Transaction: 1 2 3 5 6
3,6,9
1,4,7
2,5,8

1+2356

13+56 234
567
145 345 356 367
136 368
357
12+356
689
124
457 125 159
458

124
Candidate Generation: An SQL
Implementation
 SQL Implementation of candidate generation
 Suppose the items in Lk-1 are listed in an order
 Step 1: self-joining Lk-1
insert into Ck
select p.item1, p.item2, …, p.itemk-1, q.itemk-1
from Lk-1 p, Lk-1 q
where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 <
q.itemk-1
 Step 2: pruning
forall itemsets c in Ck do
forall (k-1)-subsets s of c do
if (s is not in Lk-1) then delete c from Ck
 Use object-relational extensions like UDFs, BLOBs, and Table
functions for efficient implementation [See: S. Sarawagi, S. Thomas,
and R. Agrawal. Integrating association rule mining with relational
database systems: Alternatives and implications. SIGMOD’98]
125
Scalable Frequent Itemset Mining
Methods

 Apriori: A Candidate Generation-and-Test Approach

 Improving the Efficiency of Apriori

 FPGrowth: A Frequent Pattern-Growth Approach

 ECLAT: Frequent Pattern Mining with Vertical Data

Format

 Mining Close Frequent Patterns and Maxpatterns 126


Further Improvement of the Apriori
Method

 Major computational challenges


 Multiple scans of transaction database
 Huge number of candidates
 Tedious workload of support counting for
candidates
 Improving Apriori: general ideas
 Reduce passes of transaction database scans
 Shrink number of candidates
 Facilitate support counting of candidates

127
Partition: Scan Database
Only Twice
 Any itemset that is potentially frequent in DB must
be frequent in at least one of the partitions of DB
 Scan 1: partition database and find local

frequent patterns
 Scan 2: consolidate global frequent patterns

 A. Savasere, E. Omiecinski and S. Navathe,


VLDB’95

DB1 + DB2 + + DBk = DB


sup1(i) < sup2(i) < supk(i) < sup(i) < σDB
σDB1 σDB2 σDBk
DHP: Reduce the Number of
Candidates

 A k-itemset whose corresponding hashing bucket count is


below the threshold cannot be frequentcount itemset
 Candidates: a, b, c, d, e s ad,
{ab,
35
88 ae}
{bd, be,
 Hash entries de}
.

{ab, ad, ae}
.
. .
{bd, be, de}

. .


… 10 {yz, qs,
2Hash
wt}
Table
 Frequent 1-itemset: a, b, d, e
 ab is not a candidate 2-itemset if the sum of count of {ab,
ad, ae} is below support threshold
 J. Park, M. Chen, and P. Yu. An effective hash-based algorithm
for mining association rules. SIGMOD’95
129
Sampling for Frequent Patterns

 Select a sample of original database, mine


frequent patterns within sample using Apriori
 Scan database once to verify frequent itemsets
found in sample, only borders of closure of
frequent patterns are checked
 Example: check abcd instead of ab, ac, …, etc.
 Scan database again to find missed frequent
patterns
 H. Toivonen. Sampling large databases for
association rules. In VLDB’96
130
DIC: Reduce Number of Scans

ABCD
 Once both A and D are determined frequent,
the counting of AD begins
ABC ABD ACD BCD  Once all length-2 subsets of BCD are
determined frequent, the counting of BCD
begins
AB AC BC AD BD CD
Transactions
1-itemsets
A B C D
Apriori 2-itemsets

{}
Itemset lattice 1-itemsets
2-items
S. Brin R. Motwani, J. Ullman,
and S. Tsur. Dynamic itemset DIC 3-items
counting and implication
rules for market basket data.
SIGMOD’97 131
Scalable Frequent Itemset Mining
Methods

 Apriori: A Candidate Generation-and-Test Approach

 Improving the Efficiency of Apriori

 FPGrowth: A Frequent Pattern-Growth Approach

 ECLAT: Frequent Pattern Mining with Vertical Data

Format

 Mining Close Frequent Patterns and Maxpatterns 132


Pattern-Growth Approach: Mining
Frequent Patterns Without Candidate
Generation
 Bottlenecks of the Apriori approach
 Breadth-first (i.e., level-wise) search
 Candidate generation and test

Often generates a huge number of candidates
 The FPGrowth Approach (J. Han, J. Pei, and Y. Yin, SIGMOD’ 00)
 Depth-first search
 Avoid explicit candidate generation
 Major philosophy: Grow long patterns from short ones using
local frequent items only
 “abc” is a frequent pattern
 Get all transactions having “abc”, i.e., project DB on abc:
DB|abc
 “d” is a local frequent item in DB|abc  abcd is a frequent 133
Construct FP-tree from a Transaction
Database

TID items Items bought (ordered) frequent


100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m} min_support = 3
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p} {}
Header Table
1. Scan DB once, find
frequent 1-itemset Item frequency head f:4 c:1
(single item pattern) f 4
c 4 c:3 b:1 b:1
2. Sort frequent items in a 3
frequency descending b 3 a:3 p:1
order, f-list m 3
p 3
3. Scan DB again, m:2 b:1
construct FP-tree
F-list = f-c-a-b-m-p p:2 m:1
134
Partition Patterns and
Databases

 Frequent patterns can be partitioned into


subsets according to f-list
 F-list = f-c-a-b-m-p

 Patterns containing p

 Patterns having m but no p

 …

 Patterns having c but no a nor b, m, p

 Pattern f

 Completeness and non-redundency

135
Find Patterns Having P From P-conditional
Database

 Starting at the frequent item header table in the FP-tree


 Traverse the FP-tree by following the link of each frequent
item p
 Accumulate all of transformed prefix paths of item p to
form p’s conditional pattern base
{}
Header Table
f:4 c:1 Conditional pattern bases
Item frequency head
f 4 item cond. pattern base
c 4 c:3 b:1 b:1 c f:3
a 3
a fc:3
b 3 a:3 p:1
m 3 b fca:1, f:1, c:1
p 3 m:2 b:1 m fca:2, fcab:1
p fcam:2, cb:1
p:2 m:1
136
From Conditional Pattern-bases to
Conditional FP-trees

 For each pattern-base


 Accumulate the count for each item in the

base
 Construct the FP-tree for the frequent items of

the pattern base


m-conditional pattern base:
{} fca:2, fcab:1
Header Table
Item frequency head All frequent
f:4 c:1 patterns relate to m
f 4 {}
c 4 c:3 b:1 b:1 m,
 fm, cm, am,
a 3 f:3 
b 3 a:3 p:1 fcm, fam, cam,
m 3 c:3 fcam
p 3 m:2 b:1
p:2 m:1 a:3
m-conditional FP-tree
137
Recursion: Mining Each Conditional
FP-tree
{}

{} Cond. pattern base of “am”: (fc:3) f:3


c:3
f:3
am-conditional FP-tree
c:3 {}
Cond. pattern base of “cm”: (f:3)
a:3 f:3
m-conditional FP-tree
cm-conditional FP-tree

{}
Cond. pattern base of “cam”: (f:3) f:3
cam-conditional FP-tree

138
A Special Case: Single Prefix Path
in FP-tree

 Suppose a (conditional) FP-tree T has a shared


single prefix-path P
 Mining can be decomposed into two parts
{}  Reduction of the single prefix path into one
a1:n1 node
a2:n2  Concatenation of the mining results of the
a3:n3 two parts
{} r1

b1:m1 C1:k1 a1:n1


 r1 =
a2:n2
+ b1:m1 C1:k1

C2:k2 C3:k3
a3:n3 C2:k2 C3:k3
139
Benefits of the FP-tree Structure

 Completeness
 Preserve complete information for frequent
pattern mining
 Never break a long pattern of any transaction
 Compactness
 Reduce irrelevant info—infrequent items are gone
 Items in frequency descending order: the more
frequently occurring, the more likely to be shared
 Never be larger than the original database (not
count node-links and the count field)

140
The Frequent Pattern Growth Mining
Method
 Idea: Frequent pattern growth
 Recursively grow frequent patterns by pattern

and database partition


 Method
 For each frequent item, construct its conditional

pattern-base, and then its conditional FP-tree


 Repeat the process on each newly created

conditional FP-tree
 Until the resulting FP-tree is empty, or it contains

only one path—single path will generate all the


combinations of its sub-paths, each of which is a
frequent pattern

141
Scaling FP-growth by Database
Projection
 What about if FP-tree cannot fit in memory?
 DB projection
 First partition a database into a set of projected DBs
 Then construct and mine FP-tree for each projected DB
 Parallel projection vs. partition projection techniques
 Parallel projection

Project the DB in parallel for each frequent item

Parallel projection is space costly

All the partitions can be processed in parallel
 Partition projection

Partition the DB based on the ordered frequent items

Passing the unprocessed parts to the subsequent
partitions
142
Partition-Based Projection

 Parallel projection needs a Tran. DB


lot of disk space fcamp
fcabm
 Partition projection saves it fb
cbp
fcamp

p-proj DB m-proj DB b-proj DB a-proj DB c-proj DB f-proj DB


fcam fcab f fc f …
cb fca cb … …
fcam fca …

am-proj DB cm-proj DB
fc f …
fc f
fc f
143
Performance of FPGrowth in Large
Datasets

100
140
90 D1 FP-grow th runtime D2 FP-growth
80
D1 Apriori runtime 120 D2 TreeProjection
70 100
Run time(sec.)

Runtime (sec.)
60
80
50 Data set T25I20D10K Data set T25I20D100K
40 60

30 40
20
20
10
0 0
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2
Support threshold(%)
Support threshold (%)

FP-Growth vs. Apriori FP-Growth vs. Tree-


Projection

144
Advantages of the Pattern Growth
Approach

 Divide-and-conquer:
 Decompose both the mining task and DB according to
the frequent patterns obtained so far
 Lead to focused search of smaller databases
 Other factors
 No candidate generation, no candidate test
 Compressed database: FP-tree structure
 No repeated scan of entire database
 Basic ops: counting local freq items and building sub FP-
tree, no pattern search and matching
 A good open-source implementation and refinement of
FPGrowth
 FPGrowth+ (Grahne and J. Zhu, FIMI'03)
145
Further Improvements of Mining
Methods

 AFOPT (Liu, et al. @ KDD’03)


 A “push-right” method for mining condensed frequent
pattern (CFP) tree
 Carpenter (Pan, et al. @ KDD’03)
 Mine data sets with small rows but numerous columns
 Construct a row-enumeration tree for efficient mining
 FPgrowth+ (Grahne and Zhu, FIMI’03)
 Efficiently Using Prefix-Trees in Mining Frequent Itemsets,
Proc. ICDM'03 Int. Workshop on Frequent Itemset Mining
Implementations (FIMI'03), Melbourne, FL, Nov. 2003
 TD-Close (Liu, et al, SDM’06)

146
Extension of Pattern Growth Mining
Methodology
 Mining closed frequent itemsets and max-patterns
 CLOSET (DMKD’00), FPclose, and FPMax (Grahne & Zhu,

Fimi’03)
 Mining sequential patterns
 PrefixSpan (ICDE’01), CloSpan (SDM’03), BIDE (ICDE’04)

 Mining graph patterns


 gSpan (ICDM’02), CloseGraph (KDD’03)

 Constraint-based mining of frequent patterns


 Convertible constraints (ICDE’01), gPrune (PAKDD’03)

 Computing iceberg data cubes with complex measures


 H-tree, H-cubing, and Star-cubing (SIGMOD’01, VLDB’03)

 Pattern-growth-based Clustering
 MaPle (Pei, et al., ICDM’03)

 Pattern-Growth-Based Classification
 Mining frequent and discriminative patterns (Cheng, et al,
147
Scalable Frequent Itemset Mining
Methods

 Apriori: A Candidate Generation-and-Test Approach

 Improving the Efficiency of Apriori

 FPGrowth: A Frequent Pattern-Growth Approach

 ECLAT: Frequent Pattern Mining with Vertical Data

Format

 Mining Close Frequent Patterns and Maxpatterns 148


ECLAT: Mining by Exploring Vertical
Data Format
 Vertical format: t(AB) = {T11, T25, …}
 tid-list: list of trans.-ids containing an itemset
 Deriving frequent patterns based on vertical intersections
 t(X) = t(Y): X and Y always happen together
 t(X)  t(Y): transaction having X always has Y
 Using diffset to accelerate mining
 Only keep track of differences of tids
 t(X) = {T1, T2, T3}, t(XY) = {T1, T3}
 Diffset (XY, X) = {T2}
 Eclat (Zaki et al. @KDD’97)
 Mining Closed patterns using vertical format: CHARM (Zaki &
Hsiao@SDM’02)
149
Scalable Frequent Itemset Mining
Methods

 Apriori: A Candidate Generation-and-Test Approach

 Improving the Efficiency of Apriori

 FPGrowth: A Frequent Pattern-Growth Approach

 ECLAT: Frequent Pattern Mining with Vertical Data

Format

 Mining Close Frequent Patterns and Maxpatterns 150


Mining Frequent Closed Patterns:
CLOSET
 Flist: list of all frequent items in support ascending
order Min_sup=2
TID Items
 Flist: d-a-f-e-c
10 a, c, d, e, f
 Divide search space 20 a, b, e
30 c, e, f
 Patterns having d 40 a, c, d, f
50 c, e, f
 Patterns having d but no a, etc.
 Find frequent closed pattern recursively
 Every transaction having d also has cfa  cfad is a
frequent closed pattern
 J. Pei, J. Han & R. Mao. “CLOSET: An Efficient
Algorithm for Mining Frequent Closed Itemsets",
CLOSET+: Mining Closed Itemsets by
Pattern-Growth

 Itemset merging: if Y appears in every occurrence of X,


then Y is merged with X
 Sub-itemset pruning: if Y ‫ כ‬X, and sup(X) = sup(Y), X
and all of X’s descendants in the set enumeration tree
can be pruned
 Hybrid tree projection
 Bottom-up physical tree-projection
 Top-down pseudo tree-projection
 Item skipping: if a local frequent item has the same
support in several header tables at different levels, one
can prune it from the header table at higher levels
 Efficient subset checking
MaxMiner: Mining Max-
Patterns
Tid Items
 1 scan: find frequent items
st
10 A, B, C, D, E
 A, B, C, D, E 20 B, C, D, E,
 2nd scan: find support for 30 A, C, D, F

 AB, AC, AD, AE, ABCDE


 BC, BD, BE, BCDE
Potential
 CD, CE, CDE, DE
max-

patterns
Since BCDE is a max-pattern, no need to check
BCD, BDE, CDE in later scan
 R. Bayardo. Efficiently mining long patterns from
databases. SIGMOD’98
CHARM: Mining by Exploring Vertical
Data Format
 Vertical format: t(AB) = {T11, T25, …}
 tid-list: list of trans.-ids containing an itemset
 Deriving closed patterns based on vertical
intersections
 t(X) = t(Y): X and Y always happen together
 t(X)  t(Y): transaction having X always has Y
 Using diffset to accelerate mining
 Only keep track of differences of tids
 t(X) = {T1, T2, T3}, t(XY) = {T1, T3}
 Diffset (XY, X) = {T2}
 Eclat/MaxEclat (Zaki et al. @KDD’97), VIPER(P.
Visualization of Association Rules: Plane
Graph

155
Visualization of Association Rules: Rule
Graph

156
Visualization of Association
Rules
(SGI/MineSet 3.0)

157
Chapter 5: Mining Frequent Patterns,
Association and Correlations: Basic
Concepts and Methods
 Basic Concepts

 Frequent Itemset Mining Methods

 Which Patterns Are Interesting?—Pattern Evaluation

Methods

 Summary

158
Interestingness Measure:
Correlations (Lift)

 play basketball  eat cereal [40%, 66.7%] is misleading


 The overall % of students eating cereal is 75% > 66.7%.
 play basketball  not eat cereal [20%, 33.3%] is more accurate, although
with lower support and confidence
 Measure of dependent/correlated events: lift

P( A B) Basketball Not basketball Sum (row)


lift  Cereal 2000 1750 3750
P( A) P( B)
Not cereal 1000 250 1250
2000 / 5000
lift ( B, C )  0.89 Sum(col.) 3000 2000 5000
3000 / 5000 * 3750 / 5000
1000 / 5000
lift ( B, C )  1.33
3000 / 5000 *1250 / 5000

159
Are lift and 2 Good Measures of
Correlation?

 “Buy walnuts  buy milk


[1%, 80%]” is misleading
if 85% of customers buy
milk
 Support and confidence
are not good to indicate
correlations
 Over 20 interestingness
measures have been
proposed (see Tan,
Kumar, Sritastava
@KDD’02)
 Which are good ones?

160
Null-Invariant Measures

161
Comparison of Interestingness
Measures

 Null-(transaction) invariance is crucial for correlation analysis


 Lift and 2 are not null-invariant
 5 null-invariant measures

Milk No Milk Sum (row)


Coffee m, c ~m, c c
No Coffee m, ~c ~m, ~c ~c
Sum(col.) m ~m 

Null-transactions w.r.t. Kulczynski


m and c measure (1927) Null-invariant

Data Mining: Concepts and


November 19, 2024 Techniques Subtle: They disagree
162
Analysis of DBLP Coauthor
Relationships
Recent DB conferences, removing balanced associations, low sup, etc.

Advisor-advisee relation: Kulc: high,


coherence: low, cosine: middle
 Tianyi Wu, Yuguo Chen and Jiawei Han, “
Association Mining in Large Databases: A Re-Examination of Its
Measures
”, Proc. 2007 Int. Conf. Principles and Practice of Knowledge
Discovery in Databases (PKDD'07), Sept. 2007
163
Which Null-Invariant Measure Is
Better?
 IR (Imbalance Ratio): measure the imbalance of two
itemsets A and B in rule implications

 Kulczynski and Imbalance Ratio (IR) together


present a clear picture for all the three datasets D4
through D6
 D4 is balanced & neutral
 D5 is imbalanced & neutral
 D6 is very imbalanced & neutral

You might also like