• No results found

DATA MINING: ASSOCIATION ANALYSIS

N/A
N/A
Protected

Academic year: 2020

Share "DATA MINING: ASSOCIATION ANALYSIS"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)

DATA MINING: ASSOCIATION ANALYSIS

BASIC CONCEPTS AND ALGORITHMS

Chiara Renso KDD-LAB

ISTI- CNR, Pisa, Italy

(2)

ASSOCIATION RULE MINING

Given a set of transactions, find rules that will predict the occurrence of an item based on the occurrences of other items in the transaction

Market-Basket transactions

TID Items

1 Bread, Milk

2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke

Example of Association Rules

{Diaper}  {Beer},

{Milk, Bread}  {Eggs,Coke}, {Beer, Bread}  {Milk},

Implication means co-occurrence,

not causality!

(3)

DEFINITION: FREQUENT ITEMSET

Itemset

A collection of one or more items

Example: {Milk, Bread, Diaper}

k-itemset

An itemset that contains k items

Support count ()

Frequency of occurrence of an itemset

E.g. ({Milk, Bread,Diaper}) = 2

Support

Fraction of transactions that contain an itemset

E.g. s({Milk, Bread, Diaper}) = 2/5

Frequent Itemset

An itemset whose support is

greater than or equal to a minsup threshold

(4)

DEFINITION: ASSOCIATION RULE

Example:

Milk,Diaper

{ } ⇒ Beer

s = σ(Milk,Diaper,Beer)

| T | = 2

5 = 0.4

c = σ (Milk,Diaper,Beer)

σ (Milk,Diaper) = 2

3 = 0.67

Association Rule

– An implication expression of the form X

 Y, where X and Y are itemsets – Example:

{Milk, Diaper}  {Beer}

Rule Evaluation Metrics

– Support (s)

Fraction of transactions that contain both X and Y

– Confidence (c)

Measures how often items in Y appear in transactions that

contain X

(5)

ASSOCIATION RULE MINING TASK

Given a set of transactions T, the goal of

association rule mining is to find all rules having

support ≥ minsup threshold

confidence ≥ minconf threshold

Brute-force approach:

List all possible association rules

Compute the support and confidence for each rule

Prune rules that fail the minsup and minconf thresholds

 Computationally prohibitive!

(6)

MINING ASSOCIATION RULES

Example of Rules:

{Milk,Diaper}  {Beer} (s=0.4, c=0.67) {Milk,Beer}  {Diaper} (s=0.4, c=1.0) {Diaper,Beer}  {Milk} (s=0.4, c=0.67) {Beer}  {Milk,Diaper} (s=0.4, c=0.67) {Diaper}  {Milk,Beer} (s=0.4, c=0.5) {Milk}  {Diaper,Beer} (s=0.4, c=0.5)

Observations:

• All the above rules are binary partitions of the same itemset:

{Milk, Diaper, Beer}

• Rules originating from the same itemset have identical support but can have different confidence

• Thus, we may decouple the support and confidence requirements

(7)

MINING ASSOCIATION RULES

Two-step approach:

1.

Frequent Itemset Generation

Generate all itemsets whose support  minsup

2.

Rule Generation

Generate high confidence rules from each frequent itemset, where each rule is a binary partitioning of a frequent itemset

Frequent itemset generation is still

computationally expensive

(8)

FREQUENT ITEMSET GENERATION

Given d items, there are 2

d

possible

candidate itemsets

null

AB AC AD AE BC BD BE CD CE DE

A B C D E

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

(9)

FREQUENT ITEMSET GENERATION

Brute-force approach:

Each itemset in the lattice is a candidate frequent itemset

Count the support of each candidate by scanning the database

Match each transaction against every candidate

Complexity ~ O(NMw) => Expensive since M = 2

d

!!!

(10)

FREQUENT ITEMSET GENERATION STRATEGIES

Reduce the number of candidates (M)

Complete search: M=2

d

Use pruning techniques to reduce M

Reduce the number of transactions (N)

Reduce size of N as the size of itemset increases

Used by DHP and vertical-based mining algorithms

Reduce the number of comparisons (NM)

Use efficient data structures to store the candidates or transactions

No need to match every candidate against every

transaction

(11)

REDUCING NUMBER OF CANDIDATES

Apriori principle:

If an itemset is frequent, then all of its subsets must also be frequent

Apriori principle holds due to the following property of the support measure:

Support of an itemset never exceeds the support of its subsets

This is known as the anti-monotone property of support

X,Y : (X ⊆Y) ⇒ s(X) ≥ s(Y)

(12)

Found to be Infrequent

Illustrating Apriori Principle

Pruned

supersets

(13)

ILLUSTRATING APRIORI PRINCIPLE

Item Count

Bread 4

Coke 2

Milk 4

Beer 3

Diaper 4

Eggs 1

Itemset Count

{Bread,Milk} 3 {Bread,Beer} 2 {Bread,Diaper} 3

{Milk,Beer} 2

{Milk,Diaper} 3 {Beer,Diaper} 3

Itemset Count

{Bread,Milk,Diaper} 3

Items (1-itemsets)

Pairs (2-itemsets) (No need to generate candidates involving Coke or Eggs)

Triplets (3-itemsets)

Minimum Support = 3

If every subset is considered,

6C1 + 6C2 + 6C3 = 41 With support-based pruning,

6 + 6 + 1 = 13

(14)

APRIORI ALGORITHM

Method:

Let k=1

Generate frequent itemsets of length 1

Repeat until no new frequent itemsets are identified

Generate length (k+1) candidate itemsets from length k frequent itemsets

Prune candidate itemsets containing subsets of length k that are infrequent

Count the support of each candidate by scanning the DB

Eliminate candidates that are infrequent, leaving only those that are frequent

(15)

REDUCING NUMBER OF COMPARISONS

Candidate counting:

Scan the database of transactions to determine the support of each candidate itemset

To reduce the number of comparisons, store the candidates in a hash structure

Instead of matching each transaction against every candidate, match it against candidates contained in the hashed buckets

(16)

FACTORS AFFECTING COMPLEXITY

Choice of minimum support threshold

lowering support threshold results in more frequent itemsets

this may increase number of candidates and max length of frequent itemsets

Dimensionality (number of items) of the data set

more space is needed to store support count of each item

if number of frequent items also increases, both computation and I/O costs may also increase

Size of database

since Apriori makes multiple passes, run time of algorithm may increase with number of transactions

Average transaction width

transaction width increases with denser data sets

This may increase max length of frequent itemsets and

traversals of hash tree (number of subsets in a transaction

increases with its width)

(17)

FP-GROWTH ALGORITHM

Use a compressed representation of the database using an FP-tree

Once an FP-tree has been constructed, it uses a

recursive divide-and-conquer approach to mine

the frequent itemsets

(18)

RULE GENERATION

Given a frequent itemset L, find all non-empty subsets f  L such that f  L – f satisfies the minimum confidence requirement

If {A,B,C,D} is a frequent itemset, candidate rules:

ABC D, ABD C, ACD B, BCD A, A BCD, B ACD, C ABD, D ABC AB CD, AC  BD, AD  BC, BC AD, BD AC, CD AB,

If |L| = k, then there are 2

k

– 2 candidate

association rules (ignoring L   and   L)

(19)

RULE GENERATION

How to efficiently generate rules from frequent itemsets?

In general, confidence does not have an anti- monotone property

c(ABC D) can be larger or smaller than c(AB D)

But confidence of rules generated from the same itemset has an anti-monotone property

e.g., L = {A,B,C,D}:

c(ABC  D)  c(AB  CD)  c(A  BCD)

Confidence is anti-monotone w.r.t. number of

items on the Right Hand Side of the rule

(20)

RULE GENERATION FOR APRIORI ALGORITHM

Lattice of rules

Pruned Rules Low

Confidence Rule

Pruned Rules

(21)

PATTERN EVALUATION

Association rule algorithms tend to produce too many rules

many of them are uninteresting or redundant

Redundant if {A,B,C}  {D} and {A,B}  {D}

have same support & confidence

Interestingness measures can be used to prune/rank the derived patterns

In the original formulation of association rules,

support & confidence are the only measures used

(22)

COMPUTING INTERESTINGNESS MEASURE

Given a rule X  Y, information needed to compute rule interestingness can be obtained from a

contingency table. f denotes the frequency.

Y Y

X f11 f10 f1+

X f01 f00 fo+

f+1 f+0 |T|

Contingency table for X  Y

f

11

: support of X and Y f

10

: support of X and Y f

01

: support of X and Y f

00

: support of X and Y

X means that X is absent from the transaction

f

11

is the number of times X and Y appears

together in the same rule …..

(23)

DRAWBACK OF CONFIDENCE

Coffee Coffee

Tea 15 5 20

Tea 75 5 80

90 10 100

Association Rule: Tea  Coffee

Support = 15 %

Confidence= P(Coffee|Tea) = 0.75

but P(Coffee) = 0.9 people who drinks coffee regardless they drink tea or not

 Although confidence is high, rule is misleading

 P(Coffee|Tea) = 0.9375

Problem: the measure ignores the support of the itemset of

the consequent!

(24)

STATISTICAL-BASED MEASURES

Measures that take into account statistical dependence. Example:

Lift = P(Y | X)

P(Y) = c(X →Y) s(Y)

Lift = 1 means independent

Lift > 1 means positively correlated

Lift < 1 means negatively correlated

(25)

EXAMPLE: LIFT/INTEREST

Coffee Coffee

Tea 15 5 20

Tea 75 5 80

90 10 100

Association Rule: Tea  Coffee

Support = 15%

Confidence= P(Coffee|Tea) = 0.75 but P(Coffee) =

 Lift = 0.75/0.9= 0.8333 (< 1, therefore is negatively associated)

(26)

There are lots of measures proposed in the literature

Some measures are good for certain

applications, but not for others

What criteria should we use to determine whether a measure is good or bad?

What about Apriori- style support based pruning? How does it affect these

measures?

(27)

SUBJECTIVE INTERESTINGNESS MEASURE

Subjective measure:

Rank patterns according to user’s interpretation

A pattern is subjectively interesting if it contradicts the expectation of a user (Silberschatz & Tuzhilin)

A pattern is subjectively interesting if it is actionable (Silberschatz & Tuzhilin)

(28)

INTERESTINGNESS VIA UNEXPECTEDNESS

Need to model expectation of users (domain knowledge)

Need to combine expectation of users with evidence from data (i.e., extracted patterns)

+

Pattern expected to be frequent

-

Pattern expected to be infrequent Pattern found to be frequent

Pattern found to be infrequent

+ -

Expected Patterns

-

+

Unexpected Patterns

(29)

SEQUENCE DATA

Object Timestamp Events

A 10 2, 3, 5

A 20 6, 1

A 23 1

B 11 4, 5, 6

B 17 2

B 21 7, 8, 1, 2

B 28 1, 6

C 14 1, 8, 7

Sequence Database:

(30)

EXAMPLES OF SEQUENCE DATA

Sequence

Database Sequence Element

(Transaction) Event (Item)

Customer Purchase history of a given

customer A set of items bought by

a customer at time t Books, diary products, CDs, etc

Web Data Browsing activity of a

particular Web visitor A collection of files

viewed by a Web visitor after a single mouse click

Home page, index page, contact info, etc Event data History of events generated

by a given sensor Events triggered by a

sensor at time t Types of alarms

generated by sensors Genome

sequences DNA sequence of a

particular species An element of the DNA

sequence Bases A,T,G,C

Element

(Transaction) Event

(Item) Sequence

E1

E2 E1

E3 E2 E3

E2 E4

(31)

FORMAL DEFINITION OF A SEQUENCE

A sequence is an ordered list of elements (transactions)

s = < e

1

e

2

e

3

… >

Each element contains a collection of events (items) e

i

= {i

1

, i

2

, …, i

k

}

Each element is attributed to a specific time or location

Length of a sequence, |s|, is given by the number of elements of the sequence

A k-sequence is a sequence that contains k events

(items)

(32)

EXAMPLES OF SEQUENCE

Web sequence:

< {Homepage} {Electronics} {Digital Cameras} {Canon Digital Camera} {Shopping Cart} {Order Confirmation} {Return to

Shopping} >

Sequence of initiating events causing the nuclear accident at 3-mile Island:

(http://stellar-one.com/nuclear/staff_reports/summary_SOE_the_initiating_event.htm)

< {clogged resin} {outlet valve closure} {loss of feedwater}

{condenser polisher outlet valve shut} {booster pumps trip}

{main waterpump trips} {main turbine trips} {reactor pressure increases}>

Sequence of books checked out at a library:

<{Fellowship of the Ring} {The Two Towers} {Return of the King}>

(33)

FORMAL DEFINITION OF A SUBSEQUENCE

A sequence <a

1

a

2

… a

n

> is contained in another sequence <b

1

b

2

… b

m

> (m ≥ n) if there exist

integers

i

1

< i

2

< … < i

n

such that a

1

 b

i1

, a

2

 b

i1

, …, a

n

 b

in

The support of a subsequence w is defined as the fraction of data sequences that contain w

A sequential pattern is a frequent subsequence (i.e., a subsequence whose support is ≥ minsup)

Data sequence Subsequence Contain?

< {2,4} {3,5,6} {8} > < {2} {3,5} > Yes

< {1,2} {3,4} > < {1} {2} > No

< {2,4} {2,4} {2,5} > < {2} {4} > Yes

(34)

SEQUENTIAL PATTERN MINING:

DEFINITION

Given:

a database of sequences

a user-specified minimum support threshold, minsup

Task:

Find all subsequences with support ≥ minsup

(35)

PRACTICE: EXERCISE 1

Load the bank dataset and discretize the attributes that are numeric. This pre-

processing can be done with filtering,

Now run the association rule algorithm.

Which rules are always true? Write them down.

Write down a couple of interesting rules and

a couple of trivial rules.

(36)

EXERCISE 2

Load Iris dataset and run association

analysis (note that association rules work on nominal attributes!)

generate 10 association rules and discuss some inferences you would make from them

Then change the support and confidence to lower values. What happened?

Select the OutputItemset option and run again the Apriori algorithm. What’s

happened?

(37)

EXERCISE 3

Load the contact-lens dataset and run association analysis Apriori

Which is the best rule found?

Can you correlate this rule with the decision

tree?

(38)

EXERCISE 4

Load the Weather-nominal dataset from the weka dataset.

Run association analysis.

How many rules fund?

Which is the maximum support for which you can find rules? Try to adjust the confidence to find rules with higher support. What is the

intepretation?

References

Related documents

Die in dieser Arbeit eingesetzten MMP-Inhibitoren haben einen unterschiedlichen Einfluss auf MMP-3. Lediglich Doxycyclin, ein seit Jahren in klinischer Benutzung

To investigate the contribution of single neurons to detection at the masked threshold, and to allow generalization of responses to other standard binaural configurations, we

The analysis process in this study was carried out by grouping trends in facade failure findings in each project using a simple trend principle analysis, namely the Pareto

Tetrad analysis and physical characterization of spore clones from recombination tetrads demonstrate that conver- sions, unequal crossovers and intrachromatid exchanges

tendencies of the rising capitalist order in his. presentation of Biprodas’s

Hindawi Publishing Corporation EURASIP Journal on Wireless Communications and Networking Volume 2007, Article ID 35946, 14 pages doi 10 1155/2007/35946 Research Article A Markovian

RESEARCH Open Access Fairness analysis of throughput and delay in WLAN environments with channel diversities Chiapin Wang1*, Hao Kai Lo1 and Shih Hau Fang2 Abstract The article

TX 1~AT/TX 2~AT Vol 11, Issue 7, 2018 Online 2455 3891 Print 0974 2441 PUBLIC KNOWLEDGE AND ATTITUDE TOWARD DEPRESSION AND SCHIZOPHRENIA FINDINGS FROM QUANTITATIVE STUDY IN UAE