National Level Hackathon Participation Certificate.pdf
Introduction to Data Mining
1. August 23, 2021 Data Mining: Concepts and Techniques 1
Data Mining:
— Introduction —
2. August 23, 2021 Data Mining: Concepts and Techniques 2
Introduction
Motivation: Why data mining?
What is data mining?
Data Mining: On what kind of data?
Data mining functionality
Classification of data mining systems
Top-10 most popular data mining algorithms
Major issues in data mining
Overview of the course
3. August 23, 2021 Data Mining: Concepts and Techniques 3
Why Data Mining?
The Explosive Growth of Data: from terabytes to petabytes
Data collection and data availability
Automated data collection tools, database systems, Web,
computerized society
Major sources of abundant data
Business: Web, e-commerce, transactions, stocks, …
Science: Remote sensing, bioinformatics, scientific simulation, …
Society and everyone: news, digital cameras, YouTube
We are drowning in data, but starving for knowledge!
“Necessity is the mother of invention”—Data mining—Automated
analysis of massive data sets
4. August 23, 2021 Data Mining: Concepts and Techniques 4
Evolution of Sciences
Before 1600, empirical science
1600-1950s, theoretical science
Each discipline has grown a theoretical component. Theoretical models often
motivate experiments and generalize our understanding.
1950s-1990s, computational science
Over the last 50 years, most disciplines have grown a third, computational branch
(e.g. empirical, theoretical, and computational ecology, or physics, or linguistics.)
Computational Science traditionally meant simulation. It grew out of our inability to
find closed-form solutions for complex mathematical models.
1990-now, data science
The flood of data from new scientific instruments and simulations
The ability to economically store and manage petabytes of data online
The Internet and computing Grid that makes all these archives universally accessible
Scientific info. management, acquisition, organization, query, and visualization tasks
scale almost linearly with data volumes. Data mining is a major new challenge!
Jim Gray and Alex Szalay, The World Wide Telescope: An Archetype for Online Science,
Comm. ACM, 45(11): 50-54, Nov. 2002
5. August 23, 2021 Data Mining: Concepts and Techniques 5
Evolution of Database Technology
1960s:
Data collection, database creation, IMS and network DBMS
1970s:
Relational data model, relational DBMS implementation
1980s:
RDBMS, advanced data models (extended-relational, OO, deductive, etc.)
Application-oriented DBMS (spatial, scientific, engineering, etc.)
1990s:
Data mining, data warehousing, multimedia databases, and Web
databases
2000s
Stream data management and mining
Data mining and its applications
Web technology (XML, data integration) and global information systems
6. August 23, 2021 Data Mining: Concepts and Techniques 6
What Is Data Mining?
Data mining (knowledge discovery from data)
Extraction of interesting (non-trivial, implicit, previously
unknown and potentially useful) patterns or knowledge from
huge amount of data
Data mining: a misnomer?
Alternative names
Knowledge discovery (mining) in databases (KDD), knowledge
extraction, data/pattern analysis, data archeology, data
dredging, information harvesting, business intelligence, etc.
Watch out: Is everything “data mining”?
Simple search and query processing
(Deductive) expert systems
7. August 23, 2021 Data Mining: Concepts and Techniques 7
Knowledge Discovery (KDD) Process
Data mining—core of
knowledge discovery
process
Data Cleaning
Data Integration
Databases
Data Warehouse
Task-relevant Data
Selection
Data Mining
Pattern Evaluation
8. August 23, 2021 Data Mining: Concepts and Techniques 8
Data Mining and Business Intelligence
Increasing potential
to support
business decisions End User
Business
Analyst
Data
Analyst
DBA
Decision
Making
Data Presentation
Visualization Techniques
Data Mining
Information Discovery
Data Exploration
Statistical Summary, Querying, and Reporting
Data Preprocessing/Integration, Data Warehouses
Data Sources
Paper, Files, Web documents, Scientific experiments, Database Systems
9. August 23, 2021 Data Mining: Concepts and Techniques 9
Data Mining: Confluence of Multiple Disciplines
Data Mining
Database
Technology Statistics
Machine
Learning
Pattern
Recognition
Algorithm
Other
Disciplines
Visualization
10. August 23, 2021 Data Mining: Concepts and Techniques 10
Why Not Traditional Data Analysis?
Tremendous amount of data
Algorithms must be highly scalable to handle such as tera-bytes of
data
High-dimensionality of data
Micro-array may have tens of thousands of dimensions
High complexity of data
Data streams and sensor data
Time-series data, temporal data, sequence data
Structure data, graphs, social networks and multi-linked data
Heterogeneous databases and legacy databases
Spatial, spatiotemporal, multimedia, text and Web data
Software programs, scientific simulations
New and sophisticated applications
11. August 23, 2021 Data Mining: Concepts and Techniques 11
Multi-Dimensional View of Data Mining
Data to be mined
Relational, data warehouse, transactional, stream, object-
oriented/relational, active, spatial, time-series, text, multi-media,
heterogeneous, legacy, WWW
Knowledge to be mined
Characterization, discrimination, association, classification, clustering,
trend/deviation, outlier analysis, etc.
Multiple/integrated functions and mining at multiple levels
Techniques utilized
Database-oriented, data warehouse (OLAP), machine learning, statistics,
visualization, etc.
Applications adapted
Retail, telecommunication, banking, fraud analysis, bio-data mining, stock
market analysis, text mining, Web mining, etc.
12. August 23, 2021 Data Mining: Concepts and Techniques 12
Data Mining: Classification Schemes
General functionality
Descriptive data mining
Predictive data mining
Different views lead to different classifications
Data view: Kinds of data to be mined
Knowledge view: Kinds of knowledge to be discovered
Method view: Kinds of techniques utilized
Application view: Kinds of applications adapted
13. August 23, 2021 Data Mining: Concepts and Techniques 13
Data Mining: On What Kinds of Data?
Database-oriented data sets and applications
Relational database, data warehouse, transactional database
Advanced data sets and advanced applications
Data streams and sensor data
Time-series data, temporal data, sequence data (incl. bio-sequences)
Structure data, graphs, social networks and multi-linked data
Object-relational databases
Heterogeneous databases and legacy databases
Spatial data and spatiotemporal data
Multimedia database
Text databases
The World-Wide Web
14. August 23, 2021 Data Mining: Concepts and Techniques 14
Data Mining Functionalities
Multidimensional concept description: Characterization and
discrimination
Generalize, summarize, and contrast data characteristics, e.g.,
dry vs. wet regions
Frequent patterns, association, correlation vs. causality
Diaper Beer [0.5%, 75%] (Correlation or causality?)
Classification and prediction
Construct models (functions) that describe and distinguish
classes or concepts for future prediction
E.g., classify countries based on (climate), or classify cars
based on (gas mileage)
Predict some unknown or missing numerical values
15. August 23, 2021 Data Mining: Concepts and Techniques 15
Data Mining Functionalities (2)
Cluster analysis
Class label is unknown: Group data to form new classes, e.g.,
cluster houses to find distribution patterns
Maximizing intra-class similarity & minimizing interclass similarity
Outlier analysis
Outlier: Data object that does not comply with the general behavior
of the data
Noise or exception? Useful in fraud detection, rare events analysis
Trend and evolution analysis
Trend and deviation: e.g., regression analysis
Sequential pattern mining: e.g., digital camera large SD memory
Periodicity analysis
Similarity-based analysis
Other pattern-directed or statistical analyses
16. August 23, 2021 Data Mining: Concepts and Techniques 16
Top-10 Most Popular DM Algorithms:
18 Identified Candidates (I)
Classification
#1. C4.5: Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan
Kaufmann., 1993.
#2. CART: L. Breiman, J. Friedman, R. Olshen, and C. Stone. Classification
and Regression Trees. Wadsworth, 1984.
#3. K Nearest Neighbours (kNN): Hastie, T. and Tibshirani, R. 1996.
Discriminant Adaptive Nearest Neighbor Classification. TPAMI. 18(6)
#4. Naive Bayes Hand, D.J., Yu, K., 2001. Idiot's Bayes: Not So Stupid
After All? Internat. Statist. Rev. 69, 385-398.
Statistical Learning
#5. SVM: Vapnik, V. N. 1995. The Nature of Statistical Learning Theory.
Springer-Verlag.
#6. EM: McLachlan, G. and Peel, D. (2000). Finite Mixture Models. J.
Wiley, New York. Association Analysis
#7. Apriori: Rakesh Agrawal and Ramakrishnan Srikant. Fast Algorithms
for Mining Association Rules. In VLDB '94.
#8. FP-Tree: Han, J., Pei, J., and Yin, Y. 2000. Mining frequent patterns
without candidate generation. In SIGMOD '00.
17. August 23, 2021 Data Mining: Concepts and Techniques 17
The 18 Identified Candidates (II)
Link Mining
#9. PageRank: Brin, S. and Page, L. 1998. The anatomy of a
large-scale hypertextual Web search engine. In WWW-7, 1998.
#10. HITS: Kleinberg, J. M. 1998. Authoritative sources in a
hyperlinked environment. SODA, 1998.
Clustering
#11. K-Means: MacQueen, J. B., Some methods for classification
and analysis of multivariate observations, in Proc. 5th Berkeley
Symp. Mathematical Statistics and Probability, 1967.
#12. BIRCH: Zhang, T., Ramakrishnan, R., and Livny, M. 1996.
BIRCH: an efficient data clustering method for very large
databases. In SIGMOD '96.
Bagging and Boosting
#13. AdaBoost: Freund, Y. and Schapire, R. E. 1997. A decision-
theoretic generalization of on-line learning and an application to
boosting. J. Comput. Syst. Sci. 55, 1 (Aug. 1997), 119-139.
18. August 23, 2021 Data Mining: Concepts and Techniques 18
The 18 Identified Candidates (III)
Sequential Patterns
#14. GSP: Srikant, R. and Agrawal, R. 1996. Mining Sequential Patterns:
Generalizations and Performance Improvements. In Proceedings of the
5th International Conference on Extending Database Technology, 1996.
#15. PrefixSpan: J. Pei, J. Han, B. Mortazavi-Asl, H. Pinto, Q. Chen, U.
Dayal and M-C. Hsu. PrefixSpan: Mining Sequential Patterns Efficiently by
Prefix-Projected Pattern Growth. In ICDE '01.
Integrated Mining
#16. CBA: Liu, B., Hsu, W. and Ma, Y. M. Integrating classification and
association rule mining. KDD-98.
Rough Sets
#17. Finding reduct: Zdzislaw Pawlak, Rough Sets: Theoretical Aspects of
Reasoning about Data, Kluwer Academic Publishers, Norwell, MA, 1992
Graph Mining
#18. gSpan: Yan, X. and Han, J. 2002. gSpan: Graph-Based Substructure
Pattern Mining. In ICDM '02.
20. August 23, 2021 Data Mining: Concepts and Techniques 20
Major Issues in Data Mining
Mining methodology
Mining different kinds of knowledge from diverse data types, e.g., bio, stream,
Web
Performance: efficiency, effectiveness, and scalability
Pattern evaluation: the interestingness problem
Incorporation of background knowledge
Handling noise and incomplete data
Parallel, distributed and incremental mining methods
Integration of the discovered knowledge with existing one: knowledge fusion
User interaction
Data mining query languages and ad-hoc mining
Expression and visualization of data mining results
Interactive mining of knowledge at multiple levels of abstraction
Applications and social impacts
Domain-specific data mining & invisible data mining
Protection of data security, integrity, and privacy
21. August 23, 2021 Data Mining: Concepts and Techniques 21
Summary
Data mining: Discovering interesting patterns from large amounts of
data
A natural evolution of database technology, in great demand, with
wide applications
A KDD process includes data cleaning, data integration, data
selection, transformation, data mining, pattern evaluation, and
knowledge presentation
Mining can be performed in a variety of information repositories
Data mining functionalities: characterization, discrimination,
association, classification, clustering, outlier and trend analysis, etc.
Data mining systems and architectures
Major issues in data mining
22. August 23, 2021 Data Mining: Concepts and Techniques 22
Why Data Mining?—Potential Applications
Data analysis and decision support
Market analysis and management
Target marketing, customer relationship management (CRM),
market basket analysis, cross selling, market segmentation
Risk analysis and management
Forecasting, customer retention, improved underwriting,
quality control, competitive analysis
Fraud detection and detection of unusual patterns (outliers)
Other Applications
Text mining (news group, email, documents) and Web mining
Stream data mining
Bioinformatics and bio-data analysis
23. August 23, 2021 Data Mining: Concepts and Techniques 23
Ex. 1: Market Analysis and Management
Where does the data come from?—Credit card transactions, loyalty cards,
discount coupons, customer complaint calls, plus (public) lifestyle studies
Target marketing
Find clusters of “model” customers who share the same characteristics: interest,
income level, spending habits, etc.
Determine customer purchasing patterns over time
Cross-market analysis—Find associations/co-relations between product sales,
& predict based on such association
Customer profiling—What types of customers buy what products (clustering
or classification)
Customer requirement analysis
Identify the best products for different groups of customers
Predict what factors will attract new customers
Provision of summary information
Multidimensional summary reports
Statistical summary information (data central tendency and variation)
24. August 23, 2021 Data Mining: Concepts and Techniques 24
Ex. 2: Corporate Analysis & Risk Management
Finance planning and asset evaluation
cash flow analysis and prediction
contingent claim analysis to evaluate assets
cross-sectional and time series analysis (financial-ratio, trend
analysis, etc.)
Resource planning
summarize and compare the resources and spending
Competition
monitor competitors and market directions
group customers into classes and a class-based pricing procedure
set pricing strategy in a highly competitive market
25. August 23, 2021 Data Mining: Concepts and Techniques 25
Ex. 3: Fraud Detection & Mining Unusual Patterns
Approaches: Clustering & model construction for frauds, outlier analysis
Applications: Health care, retail, credit card service, telecomm.
Auto insurance: ring of collisions
Money laundering: suspicious monetary transactions
Medical insurance
Professional patients, ring of doctors, and ring of references
Unnecessary or correlated screening tests
Telecommunications: phone-call fraud
Phone call model: destination of the call, duration, time of day or
week. Analyze patterns that deviate from an expected norm
Retail industry
Analysts estimate that 38% of retail shrink is due to dishonest
employees
Anti-terrorism
26. August 23, 2021 Data Mining: Concepts and Techniques 26
KDD Process: Several Key Steps
Learning the application domain
relevant prior knowledge and goals of application
Creating a target data set: data selection
Data cleaning and preprocessing: (may take 60% of effort!)
Data reduction and transformation
Find useful features, dimensionality/variable reduction, invariant
representation
Choosing functions of data mining
summarization, classification, regression, association, clustering
Choosing the mining algorithm(s)
Data mining: search for patterns of interest
Pattern evaluation and knowledge presentation
visualization, transformation, removing redundant patterns, etc.
Use of discovered knowledge
27. August 23, 2021 Data Mining: Concepts and Techniques 27
Are All the “Discovered” Patterns Interesting?
Data mining may generate thousands of patterns: Not all of them
are interesting
Suggested approach: Human-centered, query-based, focused mining
Interestingness measures
A pattern is interesting if it is easily understood by humans, valid on new
or test data with some degree of certainty, potentially useful, novel, or
validates some hypothesis that a user seeks to confirm
Objective vs. subjective interestingness measures
Objective: based on statistics and structures of patterns, e.g., support,
confidence, etc.
Subjective: based on user’s belief in the data, e.g., unexpectedness,
novelty, actionability, etc.
28. August 23, 2021 Data Mining: Concepts and Techniques 28
Find All and Only Interesting Patterns?
Find all the interesting patterns: Completeness
Can a data mining system find all the interesting patterns? Do we
need to find all of the interesting patterns?
Heuristic vs. exhaustive search
Association vs. classification vs. clustering
Search for only interesting patterns: An optimization problem
Can a data mining system find only the interesting patterns?
Approaches
First general all the patterns and then filter out the uninteresting
ones
Generate only the interesting patterns—mining query
optimization
29. August 23, 2021 Data Mining: Concepts and Techniques 29
Other Pattern Mining Issues
Precise patterns vs. approximate patterns
Association and correlation mining: possible find sets of precise
patterns
But approximate patterns can be more compact and sufficient
How to find high quality approximate patterns??
Gene sequence mining: approximate patterns are inherent
How to derive efficient approximate pattern mining
algorithms??
Constrained vs. non-constrained patterns
Why constraint-based mining?
What are the possible kinds of constraints? How to push
constraints into the mining process?
30. August 23, 2021 Data Mining: Concepts and Techniques 30
Primitives that Define a Data Mining Task
Task-relevant data
Database or data warehouse name
Database tables or data warehouse cubes
Condition for data selection
Relevant attributes or dimensions
Data grouping criteria
Type of knowledge to be mined
Characterization, discrimination, association, classification,
prediction, clustering, outlier analysis, other data mining tasks
Background knowledge
Pattern interestingness measurements
Visualization/presentation of discovered patterns
31. August 23, 2021 Data Mining: Concepts and Techniques 31
Integration of Data Mining and Data Warehousing
Data mining systems, DBMS, Data warehouse systems
coupling
No coupling, loose-coupling, semi-tight-coupling, tight-coupling
On-line analytical mining data
integration of mining and OLAP technologies
Interactive mining multi-level knowledge
Necessity of mining knowledge and patterns at different levels of
abstraction by drilling/rolling, pivoting, slicing/dicing, etc.
Integration of multiple mining functions
Characterized classification, first clustering and then association
32. August 23, 2021 Data Mining: Concepts and Techniques 32
Coupling Data Mining with DB/DW Systems
No coupling—flat file processing, not recommended
Loose coupling
Fetching data from DB/DW
Semi-tight coupling—enhanced DM performance
Provide efficient implement a few data mining primitives in a
DB/DW system, e.g., sorting, indexing, aggregation, histogram
analysis, multiway join, precomputation of some stat functions
Tight coupling—A uniform information processing
environment
DM is smoothly integrated into a DB/DW system, mining query
is optimized based on mining query, indexing, query processing
methods, etc.
33. August 23, 2021 Data Mining: Concepts and Techniques 33
Architecture: Typical Data Mining System
data cleaning, integration, and selection
Database or Data
Warehouse Server
Data Mining Engine
Pattern Evaluation
Graphical User Interface
Knowl
edge-
Base
Database
Data
Warehouse
World-Wide
Web
Other Info
Repositories
34. August 23, 2021 Data Mining: Concepts and Techniques 1
Data Mining:
Mining Frequent Patterns, Association and
Correlations
35. August 23, 2021 Data Mining: Concepts and Techniques 2
Mining Frequent Patterns, Association and
Correlations
Basic concepts and a road map
Efficient and scalable frequent itemset mining
methods
Mining various kinds of association rules
From association mining to correlation
analysis
Constraint-based association mining
Summary
36. August 23, 2021 Data Mining: Concepts and Techniques 3
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 sequence analysis.
37. August 23, 2021 Data Mining: Concepts and Techniques 4
Why Is Freq. Pattern Mining Important?
Discloses an intrinsic and important property of data sets
Forms the 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: associative classification
Cluster analysis: frequent pattern-based clustering
Data warehousing: iceberg cube and cube-gradient
Semantic data compression: fascicles
Broad applications
38. August 23, 2021 Data Mining: Concepts and Techniques 5
Basic Concepts: Frequent Patterns and
Association Rules
Itemset X = {x1, …, xk}
Find all the rules X Y with minimum
support and confidence
support, s, probability that a
transaction contains X Y
confidence, c, conditional
probability that a transaction
having X also contains Y
Let supmin = 50%, confmin = 50%
Freq. Pat.: {A:3, B:3, D:4, E:3, AD:3}
Association rules:
A D (60%, 100%)
D A (60%, 75%)
Customer
buys diaper
Customer
buys both
Customer
buys beer
Transaction-id Items bought
10 A, B, D
20 A, C, D
30 A, D, E
40 B, E, F
50 B, C, D, E, F
39. August 23, 2021 Data Mining: Concepts and Techniques 6
Closed Patterns and Max-Patterns
A long pattern contains a combinatorial number of sub-
patterns, e.g., {a1, …, a100} contains (100
1) + (100
2) + … +
(1
1
0
0
0
0) = 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)
Closed pattern is a lossless compression of freq. patterns
Reducing the # of patterns and rules
40. August 23, 2021 Data Mining: Concepts and Techniques 7
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?
!!
41. August 23, 2021 Data Mining: Concepts and Techniques 8
Apriori: A Candidate Generation-and-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
43. August 23, 2021 Data Mining: Concepts and Techniques 10
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;
44. August 23, 2021 Data Mining: Concepts and Techniques 11
Important Details of Apriori
How to generate candidates?
Step 1: self-joining Lk
Step 2: pruning
How to count supports of candidates?
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}
45. August 23, 2021 Data Mining: Concepts and Techniques 12
How to Generate Candidates?
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
46. August 23, 2021 Data Mining: Concepts and Techniques 13
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
48. August 23, 2021 Data Mining: Concepts and Techniques 15
Challenges of Frequent Pattern Mining
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
49. August 23, 2021 Data Mining: Concepts and Techniques 16
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. An efficient
algorithm for mining association in large databases. In
VLDB’95
50. August 23, 2021 Data Mining: Concepts and Techniques 17
DHP: Reduce the Number of Candidates
A k-itemset whose corresponding hashing bucket count is
below the threshold cannot be frequent
Candidates: a, b, c, d, e
Hash entries: {ab, ad, ae} {bd, be, de} …
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. In SIGMOD’95
51. August 23, 2021 Data Mining: Concepts and Techniques 18
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
52. August 23, 2021 Data Mining: Concepts and Techniques 19
DIC: Reduce Number of Scans
ABCD
ABC ABD ACD BCD
AB AC BC AD BD CD
A B C D
{}
Itemset lattice
Once both A and D are determined
frequent, the counting of AD begins
Once all length-2 subsets of BCD are
determined frequent, the counting of BCD
begins
Transactions
1-itemsets
2-itemsets
…
Apriori
1-itemsets
2-items
3-items
DIC
S. Brin R. Motwani, J. Ullman,
and S. Tsur. Dynamic itemset
counting and implication rules for
market basket data. In
SIGMOD’97
53. August 23, 2021 Data Mining: Concepts and Techniques 20
Bottleneck of Frequent-pattern Mining
Multiple database scans are costly
Mining long patterns needs many passes of
scanning and generates lots of candidates
To find frequent itemset i1i2…i100
# of scans: 100
# of Candidates: (100
1) + (100
2) + … + (1
1
0
0
0
0) = 2100-
1 = 1.27*1030 !
Bottleneck: candidate-generation-and-test
Can we avoid candidate generation?
54. August 23, 2021 Data Mining: Concepts and Techniques 21
Mining Frequent Patterns Without
Candidate Generation
Grow long patterns from short ones using local
frequent items
―abc‖ is a frequent pattern
Get all transactions having ―abc‖: DB|abc
―d‖ is a local frequent item in DB|abc abcd is
a frequent pattern
55. August 23, 2021 Data Mining: Concepts and Techniques 22
Construct FP-tree from a Transaction Database
{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
min_support = 3
TID Items bought (ordered) frequent items
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}
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}
1. Scan DB once, find
frequent 1-itemset
(single item pattern)
2. Sort frequent items in
frequency descending
order, f-list
3. Scan DB again,
construct FP-tree
F-list=f-c-a-b-m-p
56. August 23, 2021 Data Mining: Concepts and Techniques 23
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)
For Connect-4 DB, compression ratio could be over 100
57. August 23, 2021 Data Mining: Concepts and Techniques 24
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
58. August 23, 2021 Data Mining: Concepts and Techniques 25
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
Conditional pattern bases
item cond. pattern base
c f:3
a fc:3
b fca:1, f:1, c:1
m fca:2, fcab:1
p fcam:2, cb:1
{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
59. August 23, 2021 Data Mining: Concepts and Techniques 26
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
{}
f:3
c:3
a:3
m-conditional FP-tree
All frequent
patterns relate to m
m,
fm, cm, am,
fcm, fam, cam,
fcam
{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
60. August 23, 2021 Data Mining: Concepts and Techniques 27
Recursion: Mining Each Conditional FP-tree
{}
f:3
c:3
a:3
m-conditional FP-tree
Cond. pattern base of ―am‖: (fc:3)
{}
f:3
c:3
am-conditional FP-tree
Cond. pattern base of ―cm‖: (f:3)
{}
f:3
cm-conditional FP-tree
Cond. pattern base of ―cam‖: (f:3)
{}
f:3
cam-conditional FP-tree
61. August 23, 2021 Data Mining: Concepts and Techniques 28
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 node
Concatenation of the mining results of the two
parts
a2:n2
a3:n3
a1:n1
{}
b1:m1
C1:k1
C2:k2 C3:k3
b1:m1
C1:k1
C2:k2 C3:k3
r1
+
a2:n2
a3:n3
a1:n1
{}
r1 =
62. August 23, 2021 Data Mining: Concepts and Techniques 29
Mining Frequent Patterns With FP-trees
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
63. August 23, 2021 Data Mining: Concepts and Techniques 30
Why Is FP-Growth the Winner?
Divide-and-conquer:
decompose both the mining task and DB according to
the frequent patterns obtained so far
leads 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
64. August 23, 2021 Data Mining: Concepts and Techniques 31
MaxMiner: Mining Max-patterns
1st scan: find frequent items
A, B, C, D, E
2nd scan: find support for
AB, AC, AD, AE, ABCDE
BC, BD, BE, BCDE
CD, CE, CDE, DE,
Since BCDE is a max-pattern, no need to check BCD, BDE,
CDE in later scan
R. Bayardo. Efficiently mining long patterns from
databases. In SIGMOD’98
Tid Items
10 A,B,C,D,E
20 B,C,D,E,
30 A,C,D,F
Potential
max-patterns
65. August 23, 2021 Data Mining: Concepts and Techniques 32
Mining Frequent Closed Patterns: CLOSET
Flist: list of all frequent items in support ascending order
Flist: d-a-f-e-c
Divide search space
Patterns having d
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", DMKD'00.
TID Items
10 a, c, d, e, f
20 a, b, e
30 c, e, f
40 a, c, d, f
50 c, e, f
Min_sup=2
66. August 23, 2021 Data Mining: Concepts and Techniques 33
Mining Frequent Patterns, Association
and Correlations
Basic concepts and a road map
Efficient and scalable frequent itemset mining
methods
Mining various kinds of association rules
From association mining to correlation
analysis
Constraint-based association mining
Summary
67. August 23, 2021 Data Mining: Concepts and Techniques 34
Mining Various Kinds of Association Rules
Mining multilevel association
Miming multidimensional association
Mining quantitative association
Mining interesting correlation patterns
68. August 23, 2021 Data Mining: Concepts and Techniques 35
Mining Multiple-Level Association Rules
Items often form hierarchies
Flexible support settings
Items at the lower level are expected to have lower
support
Exploration of shared multi-level mining (Agrawal &
Srikant@VLB’95, Han & Fu@VLDB’95)
uniform support
Milk
[support = 10%]
2% Milk
[support = 6%]
Skim Milk
[support = 4%]
Level 1
min_sup = 5%
Level 2
min_sup = 5%
Level 1
min_sup = 5%
Level 2
min_sup = 3%
reduced support
69. August 23, 2021 Data Mining: Concepts and Techniques 36
Multi-level Association: Redundancy Filtering
Some rules may be redundant due to ―ancestor‖
relationships between items.
Example
milk wheat bread [support = 8%, confidence = 70%]
2% milk wheat bread [support = 2%, confidence = 72%]
We say the first rule is an ancestor of the second rule.
A rule is redundant if its support is close to the ―expected‖
value, based on the rule’s ancestor.
70. August 23, 2021 Data Mining: Concepts and Techniques 37
Mining Multi-Dimensional Association
Single-dimensional rules:
buys(X, ―milk‖) buys(X, ―bread‖)
Multi-dimensional rules: 2 dimensions or predicates
Inter-dimension assoc. rules (no repeated predicates)
age(X,‖19-25‖) occupation(X,―student‖) buys(X, ―coke‖)
hybrid-dimension assoc. rules (repeated predicates)
age(X,‖19-25‖) buys(X, ―popcorn‖) buys(X, ―coke‖)
Categorical Attributes: finite number of possible values, no
ordering among values—data cube approach
Quantitative Attributes: numeric, implicit ordering among
values—discretization, clustering, and gradient approaches
71. August 23, 2021 Data Mining: Concepts and Techniques 38
Mining Quantitative Associations
Techniques can be categorized by how numerical
attributes, such as age or salary are treated
1. Static discretization based on predefined concept
hierarchies (data cube methods)
2. Dynamic discretization based on data distribution
(quantitative rules, e.g., Agrawal & Srikant@SIGMOD96)
3. Clustering: Distance-based association (e.g., Yang &
Miller@SIGMOD97)
one dimensional clustering then association
4. Deviation: (such as Aumann and Lindell@KDD99)
Sex = female => Wage: mean=$7/hr (overall mean = $9)
72. August 23, 2021 Data Mining: Concepts and Techniques 39
Static Discretization of Quantitative Attributes
Discretized prior to mining using concept hierarchy.
Numeric values are replaced by ranges.
In relational database, finding all frequent k-predicate sets
will require k or k+1 table scans.
Data cube is well suited for mining.
The cells of an n-dimensional
cuboid correspond to the
predicate sets.
Mining from data cubes
can be much faster.
(income)
(age)
()
(buys)
(age, income) (age,buys) (income,buys)
(age,income,buys)
73. August 23, 2021 Data Mining: Concepts and Techniques 40
Quantitative Association Rules
age(X,”34-35”) income(X,”30-50K”)
buys(X,”high resolution TV”)
Proposed by Lent, Swami and Widom ICDE’97
Numeric attributes are dynamically discretized
Such that the confidence or compactness of the rules
mined is maximized
2-D quantitative association rules: Aquan1 Aquan2 Acat
Cluster adjacent
association rules
to form general
rules using a 2-D grid
Example
74. August 23, 2021 Data Mining: Concepts and Techniques 41
Mining Frequent Patterns, Association
and Correlations
Basic concepts and a road map
Efficient and scalable frequent itemset mining
methods
Mining various kinds of association rules
From association mining to correlation analysis
Constraint-based association mining
Summary
75. August 23, 2021 Data Mining: Concepts and Techniques 42
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
89
.
0
5000
/
3750
*
5000
/
3000
5000
/
2000
)
,
(
C
B
lift
Basketball Not basketball Sum (row)
Cereal 2000 1750 3750
Not cereal 1000 250 1250
Sum(col.) 3000 2000 5000
)
(
)
(
)
(
B
P
A
P
B
A
P
lift
33
.
1
5000
/
1250
*
5000
/
3000
5000
/
1000
)
,
(
C
B
lift
76. August 23, 2021 Data Mining: Concepts and Techniques 43
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 represent correlations
So many interestingness measures? (Tan, Kumar, Sritastava @KDD’02)
Milk No Milk Sum (row)
Coffee m, c ~m, c c
No Coffee m, ~c ~m, ~c ~c
Sum(col.) m ~m
)
(
)
(
)
(
B
P
A
P
B
A
P
lift
DB m, c ~m, c m~c ~m~c lift all-conf coh 2
A1 1000 100 100 10,000 9.26 0.91 0.83 9055
A2 100 1000 1000 100,000 8.44 0.09 0.05 670
A3 1000 100 10000 100,000 9.18 0.09 0.09 8172
A4 1000 1000 1000 1000 1 0.5 0.33 0
)
sup(
_
max_
)
sup(
_
X
item
X
conf
all
|
)
(
|
)
sup(
X
universe
X
coh
77. August 23, 2021 Data Mining: Concepts and Techniques 44
Which Measures Should Be Used?
lift and 2 are not
good measures for
correlations in large
transactional DBs
all-conf or
coherence could be
good measures
(Omiecinski@TKDE’03)
Both all-conf and
coherence have the
downward closure
property
Efficient algorithms
can be derived for
mining (Lee et al.
@ICDM’03sub)
79. August 23, 2021 Data Mining: Concepts and Techniques 46
Mining Frequent Patterns, Association
and Correlations
Basic concepts and a road map
Efficient and scalable frequent itemset mining
methods
Mining various kinds of association rules
From association mining to correlation analysis
Constraint-based association mining
Summary
80. August 23, 2021 Data Mining: Concepts and Techniques 47
Frequent-Pattern Mining: Summary
Frequent pattern mining—an important task in data mining
Scalable frequent pattern mining methods
Apriori (Candidate generation & test)
Projection-based (FPgrowth, CLOSET+, ...)
Vertical format approach (CHARM, ...)
Mining a variety of rules and interesting patterns
Constraint-based mining
Mining sequential and structured patterns
Extensions and applications
81. August 23, 2021 Data Mining: Concepts and Techniques 48
Frequent-Pattern Mining: Research Problems
Mining fault-tolerant frequent, sequential and structured
patterns
Patterns allows limited faults (insertion, deletion,
mutation)
Mining truly interesting patterns
Surprising, novel, concise, …
Application exploration
E.g., DNA sequence analysis and bio-pattern
classification
―Invisible‖ data mining
82. August 23, 2021 Data Mining: Concepts and Techniques 49
Ref: Basic Concepts of Frequent Pattern Mining
(Association Rules) R. Agrawal, T. Imielinski, and A. Swami. Mining
association rules between sets of items in large databases.
SIGMOD'93.
(Max-pattern) R. J. Bayardo. Efficiently mining long patterns from
databases. SIGMOD'98.
(Closed-pattern) N. Pasquier, Y. Bastide, R. Taouil, and L. Lakhal.
Discovering frequent closed itemsets for association rules. ICDT'99.
(Sequential pattern) R. Agrawal and R. Srikant. Mining sequential
patterns. ICDE'95
83. August 23, 2021 Data Mining: Concepts and Techniques 50
Ref: Apriori and Its Improvements
R. Agrawal and R. Srikant. Fast algorithms for mining association rules.
VLDB'94.
H. Mannila, H. Toivonen, and A. I. Verkamo. Efficient algorithms for
discovering association rules. KDD'94.
A. Savasere, E. Omiecinski, and S. Navathe. An efficient algorithm for
mining association rules in large databases. VLDB'95.
J. S. Park, M. S. Chen, and P. S. Yu. An effective hash-based algorithm
for mining association rules. SIGMOD'95.
H. Toivonen. Sampling large databases for association rules. VLDB'96.
S. Brin, R. Motwani, J. D. Ullman, and S. Tsur. Dynamic itemset
counting and implication rules for market basket analysis. SIGMOD'97.
S. Sarawagi, S. Thomas, and R. Agrawal. Integrating association rule
mining with relational database systems: Alternatives and implications.
SIGMOD'98.
84. August 23, 2021 Data Mining: Concepts and Techniques 51
Ref: Mining Correlations and Interesting Rules
M. Klemettinen, H. Mannila, P. Ronkainen, H. Toivonen, and A. I.
Verkamo. Finding interesting rules from large sets of discovered
association rules. CIKM'94.
S. Brin, R. Motwani, and C. Silverstein. Beyond market basket:
Generalizing association rules to correlations. SIGMOD'97.
C. Silverstein, S. Brin, R. Motwani, and J. Ullman. Scalable
techniques for mining causal structures. VLDB'98.
P.-N. Tan, V. Kumar, and J. Srivastava. Selecting the Right
Interestingness Measure for Association Patterns. KDD'02.
E. Omiecinski. Alternative Interest Measures for Mining
Associations. TKDE’03.
Y. K. Lee, W.Y. Kim, Y. D. Cai, and J. Han. CoMine: Efficient Mining
of Correlated Patterns. ICDM’03.
85. August 23, 2021 Data Mining: Concepts and Techniques 52
Ref: FP for Classification and Clustering
G. Dong and J. Li. Efficient mining of emerging patterns:
Discovering trends and differences. KDD'99.
B. Liu, W. Hsu, Y. Ma. Integrating Classification and Association
Rule Mining. KDD’98.
W. Li, J. Han, and J. Pei. CMAR: Accurate and Efficient
Classification Based on Multiple Class-Association Rules. ICDM'01.
H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern
similarity in large data sets. SIGMOD’ 02.
J. Yang and W. Wang. CLUSEQ: efficient and effective sequence
clustering. ICDE’03.
B. Fung, K. Wang, and M. Ester. Large Hierarchical Document
Clustering Using Frequent Itemset. SDM’03.
X. Yin and J. Han. CPAR: Classification based on Predictive
Association Rules. SDM'03.
86. August 23, 2021 Data Mining: Concepts and Techniques 53
Ref: Other Freq. Pattern Mining Applications
Y. Huhtala, J. Kärkkäinen, P. Porkka, H. Toivonen. Efficient
Discovery of Functional and Approximate Dependencies Using
Partitions. ICDE’98.
H. V. Jagadish, J. Madar, and R. Ng. Semantic Compression and
Pattern Extraction with Fascicles. VLDB'99.
T. Dasu, T. Johnson, S. Muthukrishnan, and V. Shkapenyuk.
Mining Database Structure; or How to Build a Data Quality
Browser. SIGMOD'02.
87. August 23, 2021 Data Mining: Concepts and Techniques 54
Thank you
89. 2
Outline
• Frequent Pattern Mining: Problem statement and an
example
• Review of Apriori-like Approaches
• FP-Growth:
– Overview
– FP-tree:
• structure, construction and advantages
– FP-growth:
• FP-tree conditional pattern bases conditional FP-tree
frequent patterns
• Experiments
• Discussion:
– Improvement of FP-growth
• Conclusion Remarks
Outline of the Presentation
90. 3
Frequent Pattern Mining: An Example
Given a transaction database DB and a minimum support threshold ξ, find
all frequent patterns (item sets) with support no less than ξ.
Frequent Pattern Mining Problem: Review
TID Items bought
100 {f, a, c, d, g, i, m, p}
200 {a, b, c, f, l, m, o}
300 {b, f, h, j, o}
400 {b, c, k, s, p}
500 {a, f, c, e, l, p, m, n}
DB:
Minimum support: ξ =3
Input:
Output: all frequent patterns, i.e., f, a, …, fa, fac, fam, fm,am…
Problem Statement: How to efficiently find all frequent patterns?
91. 4
• Main Steps of Apriori Algorithm:
– Use frequent (k – 1)-itemsets (Lk-1) to generate candidates of
frequent k-itemsets Ck
– Scan database and count each pattern in Ck , get frequent k-itemsets
( Lk ) .
• E.g. ,
Review of Apriori-like Approaches for finding complete frequent item-sets
TID Items bought
100 {f, a, c, d, g, i, m, p}
200 {a, b, c, f, l, m, o}
300 {b, f, h, j, o}
400 {b, c, k, s, p}
500 {a, f, c, e, l, p, m, n}
Apriori iteration
C1 f,a,c,d,g,i,m,p,l,o,h,j,k,s,b,e,n
L1 f, a, c, m, b, p
C2 fa, fc, fm, fp, ac, am, …bp
L2 fa, fc, fm, …
…
Apriori
Candidate
Generation
Candidate
Test
92. 5
Performance Bottlenecks of Apriori
• Bottlenecks of Apriori: candidate generation
– Generate huge candidate sets:
• 104 frequent 1-itemset will generate 107 candidate 2-
itemsets
• To discover a frequent pattern of size 100, e.g., {a1,
a2, …, a100}, one needs to generate 2100 1030
candidates.
–Candidate Test incur multiple scans of database:
each candidate
Disadvantages of Apriori-like Approach
93. 6
• Compress a large database into a compact, Frequent-Pattern
tree (FP-tree) structure
– highly compacted, but complete for frequent pattern mining
– avoid costly repeated database scans
• Develop an efficient, FP-tree-based frequent pattern mining
method (FP-growth)
– A divide-and-conquer methodology: decompose mining tasks into
smaller ones
– Avoid candidate generation: sub-database test only.
Overview of FP-Growth: Ideas
Overview: FP-tree based method
95. 8
Construct FP-tree
Two Steps:
1. Scan the transaction DB for the first time, find frequent
items (single item patterns) and order them into a list L in
frequency descending order.
e.g., L={f:4, c:4, a:3, b:3, m:3, p:3}
In the format of (item-name, support)
2. For each transaction, order its frequent items according to
the order in L; Scan DB the second time, construct FP-tree
by putting each frequency ordered transaction onto it.
FP-tree
96. 9
FP-tree Example: step 1
Item frequency
f 4
c 4
a 3
b 3
m 3
p 3
TID Items bought
100 {f, a, c, d, g, i, m, p}
200 {a, b, c, f, l, m, o}
300 {b, f, h, j, o}
400 {b, c, k, s, p}
500 {a, f, c, e, l, p, m, n}
FP-tree
L
Step 1: Scan DB for the first time to generate L
By-Product of First Scan
of Database
97. 10
FP-tree Example: step 2
TID Items bought (ordered) frequent items
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}
300 {b, f, h, j, o} {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}
FP-tree
Step 2: scan the DB for the second time, order frequent items
in each transaction
98. 11
FP-tree Example: step 2
FP-tree
Step 2: construct FP-tree
{}
f:1
c:1
a:1
m:1
p:1
{f, c, a, m, p}
{}
{}
f:2
c:2
a:2
b:1
m:1
p:1 m:1
{f, c, a, b, m}
NOTE: Each transaction
corresponds to one path
in the FP-tree
101. 14
FP-Tree Definition
• FP-tree is a frequent pattern tree . Formally, FP-tree is a tree structure
defined below:
1. One root labeled as “null", a set of item prefix sub-trees as the
children of the root, and a frequent-item header table.
2. Each node in the item prefix sub-trees has three fields:
– item-name : register which item this node represents,
– count, the number of transactions represented by the portion of the path
reaching this node,
– node-link that links to the next node in the FP-tree carrying the same
item-name, or null if there is none.
3. Each entry in the frequent-item header table has two fields,
– item-name, and
– head of node-link that points to the first node in the FP-tree carrying the
item-name.
FP-tree
102. 15
Advantages of the FP-tree Structure
• The most significant advantage of the FP-tree
– Scan the DB only twice and twice only.
• Completeness:
– the FP-tree contains all the information related to mining frequent
patterns (given the min-support threshold). Why?
• Compactness:
– The size of the tree is bounded by the occurrences of frequent items
– The height of the tree is bounded by the maximum number of items in a
transaction
FP-tree
103. 16
• Why descending order?
• Example 1:
Questions?
FP-tree
TID (unordered) frequent items
100 {f, a, c, m, p}
500 {a, f, c, p, m}
{}
f:1
p:1
a:1
c:1
m:1
p:1 m:1
c:1
f:1
a:1
104. 17
• Example 2:
Questions?
FP-tree
TID (ascended) frequent items
100 {p, m, a, c, f}
200 {m, b, a, c, f}
300 {b, f}
400 {p, b, c}
500 {p, m, a, c, f}
{}
p:3 c:1
b:1
p:1
b:1
m:2
a:2
c:2
f:2
c:1
m:2
b:1
a:2
c:1
f:2
This tree is larger than FP-tree,
because in FP-tree, more frequent
items have a higher position, which
makes branches less
106. 19
Mining Frequent Patterns Using FP-tree
• General idea (divide-and-conquer)
Recursively grow frequent patterns using the FP-tree: looking
for shorter ones recursively and then concatenating the suffix:
– 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)
FP-Growth
107. 20
3 Major Steps
Starting the processing from the end of list L:
Step 1:
Construct conditional pattern base for each item in the header table
Step 2
Construct conditional FP-tree from each conditional pattern base
Step 3
Recursively mine conditional FP-trees and grow frequent patterns
obtained so far. If the conditional FP-tree contains a single path, simply
enumerate all the patterns
FP-Growth
108. 21
Step 1: Construct Conditional Pattern Base
• Starting at the bottom of frequent-item header table in the FP-tree
• Traverse the FP-tree by following the link of each frequent item
• Accumulate all of transformed prefix paths of that item to form a
conditional pattern base
Conditional pattern bases
item cond. pattern base
p fcam:2, cb:1
m fca:2, fcab:1
b fca:1, f:1, c:1
a fc:3
c f:3
f { }
FP-Growth: An Example
{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item head
f
c
a
b
m
p
109. 22
Properties of FP-Tree
• Node-link property
– For any frequent item ai,all the possible frequent patterns that contain
ai can be obtained by following ai's node-links, starting from ai's head
in the FP-tree header.
• Prefix path property
– To calculate the frequent patterns for a node ai in a path P, only the
prefix sub-path of ai in P need to be accumulated, and its frequency
count should carry the same count as node ai.
FP-Growth
110. 23
Step 2: Construct Conditional FP-tree
• For each pattern base
– Accumulate the count for each item in the base
– Construct the conditional FP-tree for the frequent items of the
pattern base
m- cond. pattern base:
fca:2, fcab:1
{}
f:3
c:3
a:3
m-conditional FP-tree
{}
f:4
c:3
a:3
b:1
m:2
m:1
Header Table
Item head
f 4
c 4
a 3
b 3
m 3
p 3
FP-Growth: An Example
111. 24
Step 3: Recursively mine the conditional FP-
tree
{}
f:3
c:3
a:3
conditional FP-tree of
“am”: (fc:3)
{}
f:3
c:3
conditional FP-tree of
“cm”: (f:3)
{}
f:3
conditional FP-tree of
“cam”: (f:3)
{}
f:3
FP-Growth
conditional FP-tree of “fm”: 3
conditional FP-tree of
of “fam”: 3
conditional FP-tree of
“m”: (fca:3)
add
“a”
add
“c”
add
“f”
add
“c”
add
“f”
Frequent Pattern
fcam
add
“f”
conditional FP-tree of
“fcm”: 3
Frequent Pattern Frequent Pattern
Frequent Pattern
Frequent Pattern
Frequent Pattern
Frequent Pattern
Frequent Pattern
add
“f”
112. 25
Principles of FP-Growth
• Pattern growth property
– Let be a frequent itemset in DB, B be 's conditional pattern base,
and be an itemset in B. Then is a frequent itemset in DB iff
is frequent in B.
• Is “fcabm ” a frequent pattern?
– “fcab” is a branch of m's conditional pattern base
– “b” is NOT frequent in transactions containing “fcab ”
– “bm” is NOT a frequent itemset.
FP-Growth
113. 26
Conditional Pattern Bases and
Conditional FP-Tree
Empty
Empty
f
{(f:3)}|c
{(f:3)}
c
{(f:3, c:3)}|a
{(fc:3)}
a
Empty
{(fca:1), (f:1), (c:1)}
b
{(f:3, c:3, a:3)}|m
{(fca:2), (fcab:1)}
m
{(c:3)}|p
{(fcam:2), (cb:1)}
p
Conditional FP-tree
Conditional pattern base
Item
FP-Growth
order of L
114. 27
Single FP-tree Path Generation
• Suppose an FP-tree T has a single path P. The complete set of frequent
pattern of T can be generated by enumeration of all the combinations of
the sub-paths of P
{}
f:3
c:3
a:3
m-conditional FP-tree
All frequent patterns concerning m:
combination of {f, c, a} and m
m,
fm, cm, am,
fcm, fam, cam,
fcam
FP-Growth
115. Summary of FP-Growth Algorithm
• Mining frequent patterns can be viewed as first mining
1-itemset and progressively growing each 1-itemset by
mining on its conditional pattern base recursively
• Transform a frequent k-itemset mining problem into a
sequence of k frequent 1-itemset mining problems via a
set of conditional pattern bases
116. 29
Conclusion Remarks
• FP-tree: a novel data structure storing compressed,
crucial information about frequent patterns,
compact yet complete for frequent pattern mining.
• FP-growth: an efficient mining method of frequent
patterns in large Database: using a highly compact
FP-tree, divide-and-conquer method in nature.
117. Some Notes
• In association analysis, there are two main steps,
find complete frequent patterns is the first step,
though more important step;
• Both Apriori and FP-Growth are aiming to find
out complete set of patterns;
• FP-Growth is more efficient and scalable than
Apriori in respect to prolific and long patterns.
120. Mining Frequent Itemsets without
Candidate Generation
In many cases, the Apriori candidate
generate-and-test method significantly
reduces the size of candidate sets, leading to
good performance gain.
However, it suffer from two nontrivial costs:
It may generate a huge number of candidates (for
example, if we have 10^4 1-itemset, it may
generate more than 10^7 candidata 2-itemset)
It may need to scan database many times
122. Bottleneck of Frequent-pattern
Mining
Multiple database scans are costly
Mining long patterns needs many passes of scanning and
generates lots of candidates
To find frequent itemset i1i2…i100
# of scans: 100
# of Candidates: (100
1) + (100
2) + … + (1
1
0
0
0
0) = 2100-
1 = 1.27*1030 !
Bottleneck: candidate-generation-and-test
Can we avoid candidate generation?
123. Mining Frequent Patterns Without
Candidate Generation
Grow long patterns from short ones using local frequent
items
“abc” is a frequent pattern
Get all transactions having “abc”: DB|abc
“d” is a local frequent item in DB|abc abcd is a
frequent pattern
124. Process of FP growth
Scan DB once, find frequent 1-itemset
(single item pattern)
Sort frequent items in frequency descending
order
Scan DB again, construct FP-tree
125. Association Rules
Let’s have an example
T100 1,2,5
T200 2,4
T300 2,3
T400 1,2,4
T500 1,3
T600 2,3
T700 1,3
T800 1,2,3,5
T900 1,2,3
128. 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)
For Connect-4 DB, compression ratio could be over 100
129. Exercise
A dataset has five
transactions, let min-
support=60% and
min_confidence=80%
Find all frequent
itemsets using FP Tree
TID Items_bought
T1
T2
T3
T4
T5
M, O, N, K, E, Y
D, O, N, K , E, Y
M, A, K, E
M, U, C, K ,Y
C, O, O, K, I ,E
130. Association Rules with Apriori
K:5 KE:4 KE
E:4 KM:3 KM
M:3 KO:3 KO
O:3 => KY:3 => KY => KEO
Y:3 EM:2 EO
EO:3
EY:2
MO:1
MY:2
OY:2
132. Association Rules with FP Tree
Y: KEMO:1 KEO:1 KY:1
K:3 KY
O: KEM:1 KE:2
KE:3 KO EO KEO
M: KE:2 K:1
K:3 KM
E: K:4 KE
133. FP-Growth vs. Apriori: Scalability
With the Support Threshold
0 0.5 1 1.5
0
10
20
Support threshold(%)
Data set T25I20D10K
134. Why Is FP-Growth the Winner?
Divide-and-conquer:
decompose both the mining task and DB according to
the frequent patterns obtained so far
leads 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
136. Example 5.8 Misleading
“Strong” Association Rule
Of the 10,000 transactions analyzed, the data
show that
6,000 of the customer included computer
games,
while 7,500 include videos,
And 4,000 included both computer games
and videos
137. Misleading “Strong”
Association Rule
For this example:
Support (Game & Video) =
4,000 / 10,000 =40%
Confidence (Game => Video) =
4,000 / 6,000 = 66%
Suppose it pass our minimum support and
confidence (30% , 60%, respectively)
138. Misleading “Strong”
Association Rule
However, the truth is : “computer games and
videos are negatively associated”
Which means the purchase of one of these
items actually decreases the likelihood of
purchasing the other.
(How to get this conclusion??)
139. Misleading “Strong”
Association Rule
Under the normal situation,
60% of customers buy the game
75% of customers buy the video
Therefore, it should have 60% * 75% =
45% of people buy both
That equals to 4,500 which is more than
4,000 (the actual value)
140. From Association Analysis to
Correlation Analysis
Lift is a simple correlation measure that is given as
follows
The occurrence of itemset A is independent of the
occurrence of itemset B if
P(AUB) = P(A)P(B)
Otherwise, itemset A and B are dependent and correlated
as events
Lift(A,B) = P(AUB) / P(A)P(B)
If the value is less than 1, the occurrence of A is negatively
correlated with the occurrence of B
If the value is greater than 1, then A and B are positively
correlated
143. Mining Multiple-Level
Association Rules
Flexible support settings
Items at the lower level are expected to
have lower support
uniform support
Milk
[support = 10%]
2% Milk
[support = 6%]
Skim Milk
[support = 4%]
Level 1
min_sup = 5%
Level 2
min_sup = 5%
Level 1
min_sup = 5%
Level 2
min_sup = 3%
reduced support
144. Multi-level Association:
Redundancy Filtering
Some rules may be redundant due to “ancestor”
relationships between items.
Example
milk wheat bread [support = 8%, confidence = 70%]
2% milk wheat bread [support = 2%, confidence = 72%]
We say the first rule is an ancestor of the second
rule.
146. Classification and Prediction
What is classification? What is
prediction?
Issues regarding classification and
prediction
Classification by decision tree
induction
Bayesian classification
Rule-based classification
Classification by back propagation
Support Vector Machines (SVM)
Associative classification
Lazy learners (or learning from your
neighbors)
Other classification methods
Prediction
Accuracy and error measures
Ensemble methods
Model selection
Summary
12-09-2021 2
147. Classification vs. Prediction
Classification
predicts categorical class labels (discrete or nominal)
classifies data (constructs a model) based on the training
set and the values (class labels) in a classifying attribute
and uses it in classifying new data
Prediction
models continuous-valued functions, i.e., predicts unknown
or missing values
Typical applications
Credit approval
Target marketing
Medical diagnosis
Fraud detection
12-09-2021 3
148. Classification—A Two-Step Process
Model construction: describing a set of predetermined classes
Each tuple/sample is assumed to belong to a predefined class, as
determined by the class label attribute
The set of tuples used for model construction is training set
The model is represented as classification rules, decision trees, or
mathematical formulae
Model usage: for classifying future or unknown objects
Estimate accuracy of the model
The known label of test sample is compared with the classified
result from the model
Accuracy rate is the percentage of test set samples that are
correctly classified by the model
Test set is independent of training set, otherwise over-fitting will
occur
If the accuracy is acceptable, use the model to classify data tuples
whose class labels are not known
12-09-2021 4
149. Process (1): Model Construction
12-09-2021 5
Training
Data
NAME RANK YEARS TENURED
Mike Assistant Prof 3 no
Mary Assistant Prof 7 yes
Bill Professor 2 yes
Jim Associate Prof 7 yes
Dave Assistant Prof 6 no
Anne Associate Prof 3 no
Classification
Algorithms
IF rank = ‘professor’
OR years > 6
THEN tenured = ‘yes’
Classifier
(Model)
150. Process (2): Using the Model in Prediction
12-09-2021 6
Classifier
Testing
Data
NAME RANK YEARS TENURED
Tom Assistant Prof 2 no
Merlisa Associate Prof 7 no
George Professor 5 yes
Joseph Assistant Prof 7 yes
Unseen Data
(Jeff, Professor, 4)
Tenured?
151. Supervised vs. Unsupervised Learning
Supervised learning (classification)
Supervision: The training data (observations,
measurements, etc.) are accompanied by labels indicating
the class of the observations
New data is classified based on the training set
Unsupervised learning (clustering)
The class labels of training data is unknown
Given a set of measurements, observations, etc. with the
aim of establishing the existence of classes or clusters in
the data
12-09-2021 7
152. Issues: Data Preparation
Data cleaning
Preprocess data in order to reduce noise and handle
missing values
Relevance analysis (feature selection)
Remove the irrelevant or redundant attributes
Data transformation
Generalize and/or normalize data
12-09-2021 8
153. Issues: Evaluating Classification Methods
Accuracy
classifier accuracy: predicting class label
predictor accuracy: guessing value of predicted attributes
Speed
time to construct the model (training time)
time to use the model (classification/prediction time)
Robustness: handling noise and missing values
Scalability: efficiency in disk-resident databases
Interpretability
understanding and insight provided by the model
Other measures, e.g., goodness of rules, such as decision tree
size or compactness of classification rules
12-09-2021 9
154. Decision Tree Induction: Training Dataset
12-09-2021 10
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
This
follows an
example
of
Quinlan’s
ID3
(Playing
Tennis)
155. Output: A Decision Tree for “buys_computer”
12-09-2021 11
age?
overcast
student? credit rating?
<=30 >40
no yes yes
yes
31..40
fair
excellent
yes
no
156. Algorithm for Decision Tree Induction
Basic algorithm (a greedy algorithm)
Tree is constructed in a top-down recursive divide-and-conquer manner
At start, all the training examples are at the root
Attributes are categorical (if continuous-valued, they are discretized in
advance)
Examples are partitioned recursively based on selected attributes
Test attributes are selected on the basis of a heuristic or statistical
measure (e.g., information gain)
Conditions for stopping partitioning
All samples for a given node belong to the same class
There are no remaining attributes for further partitioning – majority
voting is employed for classifying the leaf
There are no samples left
12-09-2021 12
157. 12-09-2021 13
Attribute Selection Measure:
Information Gain (ID3/C4.5)
Select the attribute with the highest information gain
Let pi be the probability that an arbitrary tuple in D
belongs to class Ci, estimated by |Ci, D|/|D|
Expected information (entropy) needed to classify a tuple
in D:
Information needed (after using A to split D into v
partitions) to classify D:
Information gained by branching on attribute A
Info( D )=− ∑
i=1
m
pi log2 ( pi )
)
I(D
|
D
|
|
D
|
=
(D)
Info j
v
j=
j
A ×
1
Gain( A)=Info(D)− InfoA (D)
158. Attribute Selection: Information Gain
g Class P: buys_computer = “yes”
g Class N: buys_computer = “no”
means “age <=30” has 5 out of
14 samples, with 2 yes’es and 3
no’s. Hence
Similarly,
12-09-2021 14
age pi ni I(pi, ni)
<=30 2 3 0.971
31…40 4 0 0
>40 3 2 0.971
Infoage ( D )=
5
14
I ( 2,3 )+
4
14
I ( 4,0)
+
5
14
I ( 3,2)=0 . 694
Gain(income)=0.029
Gain( student)=0.151
Gain(creditrating )=0.048
Gain(age )=Info( D)− Infoage( D)=0.246
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
5
14
I(2,3)
Info(D)=I (9,5)=−
9
14
log2(
9
14
)−
5
14
log2(
5
14
)=0.940
159. Computing Information-Gain for Continuous-Value
Attributes
Let attribute A be a continuous-valued attribute
Must determine the best split point for A
Sort the value A in increasing order
Typically, the midpoint between each pair of adjacent values
is considered as a possible split point
(ai+ai+1)/2 is the midpoint between the values of ai and ai+1
The point with the minimum expected information
requirement for A is selected as the split-point for A
Split:
D1 is the set of tuples in D satisfying A ≤ split-point, and D2 is
the set of tuples in D satisfying A > split-point
12-09-2021 15
160. Gain Ratio for Attribute Selection (C4.5)
Information gain measure is biased towards attributes with a
large number of values
C4.5 (a successor of ID3) uses gain ratio to overcome the
problem (normalization to information gain)
GainRatio(A) = Gain(A)/SplitInfo(A)
Ex.
gain_ratio(income) = 0.029/0.926 = 0.031
The attribute with the maximum gain ratio is selected as the
splitting attribute
12-09-2021 16
SplitInfoA (D)=− ∑
j=1
v
|Dj|
|D|
×log2(
|Dj|
|D|
)
SplitInfoA (D)=−
4
14
×log2(
4
14
)−
6
14
×log2 (
6
14
)−
4
14
×log2(
4
14
)=0.926
161. Gini index (CART, IBM IntelligentMiner)
If a data set D contains examples from n classes, gini index, gini(D) is defined
as
where pj is the relative frequency of class j in D
If a data set D is split on A into two subsets D1 and D2, the gini index gini(D) is
defined as
Reduction in Impurity:
The attribute provides the smallest ginisplit(D) (or the largest reduction in
impurity) is chosen to split the node (need to enumerate all the possible
splitting points for each attribute)
12-09-2021 17
gini( D)=1− ∑
j=1
n
pj
2
giniA( D)=
|D1|
|D|
gini( D1
)+
|D2|
|D|
gini( D2
)
∆gini( A)=gini(D)− giniA (D)
162. Gini index (CART, IBM IntelligentMiner)
Ex. D has 9 tuples in buys_computer = “yes” and 5 in “no”
Suppose the attribute income partitions D into 10 in D1: {low, medium} and 4
in D2
but gini{medium,high} is 0.30 and thus the best since it is the lowest
All attributes are assumed continuous-valued
May need other tools, e.g., clustering, to get the possible split values
Can be modified for categorical attributes
12-09-2021 18
gini(D)=1−
(9
14 )
2
−
(5
14 )
2
=0.459
giniincome∈{low,medium}(D)=(10
14 )Gini(D1)+(4
14 )Gini(D1)
163. Comparing Attribute Selection Measures
The three measures, in general, return good results but
Information gain:
biased towards multivalued attributes
Gain ratio:
tends to prefer unbalanced splits in which one partition is
much smaller than the others
Gini index:
biased to multivalued attributes
has difficulty when # of classes is large
tends to favor tests that result in equal-sized partitions
and purity in both partitions
12-09-2021 19
164. Other Attribute Selection Measures
CHAID: a popular decision tree algorithm, measure based on χ2 test for
independence
C-SEP: performs better than info. gain and gini index in certain cases
G-statistics: has a close approximation to χ2 distribution
MDL (Minimal Description Length) principle (i.e., the simplest solution is
preferred):
The best tree as the one that requires the fewest # of bits to both (1)
encode the tree, and (2) encode the exceptions to the tree
Multivariate splits (partition based on multiple variable combinations)
CART: finds multivariate splits based on a linear comb. of attrs.
Which attribute selection measure is the best?
Most give good results, none is significantly superior than others
12-09-2021 20
165. Overfitting and Tree Pruning
Overfitting: An induced tree may overfit the training data
Too many branches, some may reflect anomalies due to noise or outliers
Poor accuracy for unseen samples
Two approaches to avoid overfitting
Prepruning: Halt tree construction early—do not split a node if this
would result in the goodness measure falling below a threshold
Difficult to choose an appropriate threshold
Postpruning: Remove branches from a “fully grown” tree—get a
sequence of progressively pruned trees
Use a set of data different from the training data to decide which is
the “best pruned tree”
12-09-2021 21
166. Enhancements to Basic Decision Tree Induction
12-09-2021 22
Allow for continuous-valued attributes
Dynamically define new discrete-valued attributes that
partition the continuous attribute value into a discrete
set of intervals
Handle missing attribute values
Assign the most common value of the attribute
Assign probability to each of the possible values
Attribute construction
Create new attributes based on existing ones that are
sparsely represented
This reduces fragmentation, repetition, and replication
167. Classification in Large Databases
Classification—a classical problem extensively studied by
statisticians and machine learning researchers
Scalability: Classifying data sets with millions of examples and
hundreds of attributes with reasonable speed
Why decision tree induction in data mining?
relatively faster learning speed (than other classification
methods)
convertible to simple and easy to understand classification
rules
can use SQL queries for accessing databases
comparable classification accuracy with other methods
12-09-2021 23
168. Bayesian Classification: Why?
A statistical classifier: performs probabilistic prediction, i.e.,
predicts class membership probabilities
Foundation: Based on Bayes’ Theorem.
Performance: A simple Bayesian classifier, naïve Bayesian
classifier, has comparable performance with decision tree and
selected neural network classifiers
Incremental: Each training example can incrementally
increase/decrease the probability that a hypothesis is correct —
prior knowledge can be combined with observed data
Standard: Even when Bayesian methods are computationally
intractable, they can provide a standard of optimal decision
making against which other methods can be measured
12-09-2021 24
169. Bayesian Theorem: Basics
Let X be a data sample (“evidence”): class label is unknown
Let H be a hypothesis that X belongs to class C
Classification is to determine P(H|X), the probability that the
hypothesis holds given the observed data sample X
P(H) (prior probability), the initial probability
E.g., X will buy computer, regardless of age, income, …
P(X): probability that sample data is observed
P(X|H) (posteriori probability), the probability of observing the
sample X, given that the hypothesis holds
E.g., Given that X will buy computer, the prob. that X is 31..40,
medium income
12-09-2021 25
170. Bayesian Theorem
Given training data X, posteriori probability of a hypothesis H,
P(H|X), follows the Bayes theorem
Informally, this can be written as
posteriori = likelihood x prior/evidence
Predicts X belongs to C2 iff the probability P(Ci|X) is the highest
among all the P(Ck|X) for all the k classes
Practical difficulty: require initial knowledge of many
probabilities, significant computational cost
12-09-2021 26
P( H|X )=
P( X|H ) P( H )
P( X )
171. Towards Naïve Bayesian Classifier
Let D be a training set of tuples and their associated class labels,
and each tuple is represented by an n-D attribute vector X = (x1,
x2, …, xn)
Suppose there are m classes C1, C2, …, Cm.
Classification is to derive the maximum posteriori, i.e., the
maximal P(Ci|X)
This can be derived from Bayes’ theorem
Since P(X) is constant for all classes, only
needs to be maximized
12-09-2021 27
P(Ci|X )=
P( X|Ci )P(Ci)
P( X )
P(Ci|X)=P(X|Ci)P(Ci )
172. Derivation of Naïve Bayes Classifier
A simplified assumption: attributes are conditionally
independent (i.e., no dependence relation between attributes):
This greatly reduces the computation cost: Only counts the
class distribution
If Ak is categorical, P(xk|Ci) is the # of tuples in Ci having value xk
for Ak divided by |Ci, D| (# of tuples of Ci in D)
If Ak is continous-valued, P(xk|Ci) is usually computed based on
Gaussian distribution with a mean μ and standard deviation σ
and P(xk|Ci) is
12-09-2021 28
P(X|Ci)=∏
k =1
n
P(x
k
|Ci )=P(x
1
|Ci )×P(x
2
|Ci )×...×P(x
n
|Ci)
g( x ,µ , σ )=
1
√
2 π σ
e
−
( x− µ )2
2σ 2
P(X|Ci)=g(xk , µCi
,σCi
)
173. Naïve Bayesian Classifier: Training Dataset
12-09-2021 29
Class:
C1:buys_computer = ‘yes’
C2:buys_computer = ‘no’
Data sample
X = (age <=30,
Income = medium,
Student = yes
Credit_rating = Fair)
age income student
credit_rating
buys_computer
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
175. Avoiding the 0-Probability Problem
Naïve Bayesian prediction requires each conditional prob. be non-zero.
Otherwise, the predicted prob. will be zero
Ex. Suppose a dataset with 1000 tuples, income=low (0), income= medium
(990), and income = high (10),
Use Laplacian correction (or Laplacian estimator)
Adding 1 to each case
Prob(income = low) = 1/1003
Prob(income = medium) = 991/1003
Prob(income = high) = 11/1003
The “corrected” prob. estimates are close to their “uncorrected”
counterparts
12-09-2021 31
P( X|Ci )=∏
k =1
n
P( xk|Ci )
176. Naïve Bayesian Classifier: Comments
Advantages
Easy to implement
Good results obtained in most of the cases
Disadvantages
Assumption: class conditional independence, therefore loss of
accuracy
Practically, dependencies exist among variables
E.g., hospitals: patients: Profile: age, family history, etc.
Symptoms: fever, cough etc., Disease: lung cancer, diabetes, etc.
Dependencies among these cannot be modeled by Naïve Bayesian
Classifier
How to deal with these dependencies?
Bayesian Belief Networks
12-09-2021 32
177. Using IF-THEN Rules for Classification
Represent the knowledge in the form of IF-THEN rules
R: IF age = youth AND student = yes THEN buys_computer = yes
Rule antecedent/precondition vs. rule consequent
Assessment of a rule: coverage and accuracy
ncovers = # of tuples covered by R
ncorrect = # of tuples correctly classified by R
coverage(R) = ncovers /|D| /* D: training data set */
accuracy(R) = ncorrect / ncovers
If more than one rule is triggered, need conflict resolution
Size ordering: assign the highest priority to the triggering rules that has the
“toughest” requirement (i.e., with the most attribute test)
Class-based ordering: decreasing order of prevalence or misclassification cost per
class
Rule-based ordering (decision list): rules are organized into one long priority list,
according to some measure of rule quality or by experts
12-09-2021 33
178. Rule Extraction from a Decision Tree
Example: Rule extraction from our buys_computer decision-tree
IF age = young AND student = no THEN buys_computer = no
IF age = young AND student = yes THEN buys_computer = yes
IF age = mid-age THEN buys_computer = yes
IF age = old AND credit_rating = excellent THEN buys_computer = yes
IF age = young AND credit_rating = fair THEN buys_computer = no
12-09-2021 34
age?
student? credit rating?
<=30 >40
no yes yes
yes
31..40
fair
excellent
yes
no
Rules are easier to understand than large trees
One rule is created for each path from the root to
a leaf
Each attribute-value pair along a path forms a
conjunction: the leaf holds the class prediction
Rules are mutually exclusive and exhaustive
179. Rule Extraction from the Training Data
Sequential covering algorithm: Extracts rules directly from training data
Typical sequential covering algorithms: FOIL, AQ, CN2, RIPPER
Rules are learned sequentially, each for a given class Ci will cover many tuples
of Ci but none (or few) of the tuples of other classes
Steps:
Rules are learned one at a time
Each time a rule is learned, the tuples covered by the rules are removed
The process repeats on the remaining tuples unless termination condition,
e.g., when no more training examples or when the quality of a rule
returned is below a user-specified threshold
Comp. w. decision-tree induction: learning a set of rules simultaneously
12-09-2021 35
180. How to Learn-One-Rule?
Star with the most general rule possible: condition = empty
Adding new attributes by adopting a greedy depth-first strategy
Picks the one that most improves the rule quality
Rule-Quality measures: consider both coverage and accuracy
Foil-gain (in FOIL & RIPPER): assesses info_gain by extending condition
It favors rules that have high accuracy and cover many positive tuples
Rule pruning based on an independent set of test tuples
Pos/neg are # of positive/negative tuples covered by R.
If FOIL_Prune is higher for the pruned version of R, prune R
12-09-2021 36
FOILGain=pos'×(log2
pos'
pos'+neg'
− log2
pos
pos+neg
)
neg
+
pos
neg
pos
=
(R)
FOILPrune
−
181. Classification: A Mathematical Mapping
Classification:
predicts categorical class labels
E.g., Personal homepage classification
xi = (x1, x2, x3, …), yi = +1 or –1
x1 : # of a word “homepage”
x2 : # of a word “welcome”
Mathematically
x ∈ X = ℜn, y ∈ Y = {+1, –1}
We want a function f: X Y
12-09-2021 37
182. Linear Classification
Binary Classification problem
The data above the red line
belongs to class ‘x’
The data below red line
belongs to class ‘o’
Examples: SVM, Perceptron,
Probabilistic Classifiers
12-09-2021 38
x
x
x
x
x
x
x
x
x
x oo
o
o
o
o
o
o
o o
o
o
o
183. Associative Classification
Associative classification
Association rules are generated and analyzed for use in classification
Search for strong associations between frequent patterns (conjunctions of
attribute-value pairs) and class labels
Classification: Based on evaluating a set of rules in the form of
P1 ^ p2 … ^ pl “Aclass = C” (conf, sup)
Why effective?
It explores highly confident associations among multiple attributes and may
overcome some constraints introduced by decision-tree induction, which
considers only one attribute at a time
In many studies, associative classification has been found to be more
accurate than some traditional classification methods, such as C4.5
12-09-2021 39
184. Typical Associative Classification Methods
CBA (Classification By Association: Liu, Hsu & Ma, KDD’98)
Mine association possible rules in the form of
Cond-set (a set of attribute-value pairs) class label
Build classifier: Organize rules according to decreasing precedence based on
confidence and then support
CMAR (Classification based on Multiple Association Rules: Li, Han, Pei, ICDM’01)
Classification: Statistical analysis on multiple rules
CPAR (Classification based on Predictive Association Rules: Yin & Han, SDM’03)
Generation of predictive rules (FOIL-like analysis)
High efficiency, accuracy similar to CMAR
RCBT (Mining top-k covering rule groups for gene expression data, Cong et al. SIGMOD’05)
Explore high-dimensional classification, using top-k rule groups
Achieve high classification accuracy and high run-time efficiency
12-09-2021 40
185. The k-Nearest Neighbor Algorithm
All instances correspond to points in the n-D space
The nearest neighbor are defined in terms of Euclidean
distance, dist(X1, X2)
Target function could be discrete- or real- valued
For discrete-valued, k-NN returns the most common value
among the k training examples nearest to xq
Vonoroi diagram: the decision surface induced by 1-NN for
a typical set of training examples
12-09-2021 41
.
_
+
_ xq
+
_ _
+
_
_
+
.
.
.
. .
186. Discussion on the k-NN Algorithm
k-NN for real-valued prediction for a given unknown tuple
Returns the mean values of the k nearest neighbors
Distance-weighted nearest neighbor algorithm
Weight the contribution of each of the k neighbors according
to their distance to the query xq
Give greater weight to closer neighbors
Robust to noisy data by averaging k-nearest neighbors
Curse of dimensionality: distance between neighbors could be
dominated by irrelevant attributes
To overcome it, axes stretch or elimination of the least
relevant attributes
12-09-2021 42
w≡
1
d(xq ,xi )2
187. Linear Regression
Linear regression: involves a response variable y and a single predictor
variable x
y = w0 + w1 x
where w0 (y-intercept) and w1 (slope) are regression coefficients
Method of least squares: estimates the best-fitting straight line
Multiple linear regression: involves more than one predictor variable
Training data is of the form (X1, y1), (X2, y2),…, (X|D|, y|D|)
Ex. For 2-D data, we may have: y = w0 + w1 x1+ w2 x2
Solvable by extension of least square method or using SAS, S-Plus
Many nonlinear functions can be transformed into the above
12-09-2021 43
w1=
∑
i=1
|D|
( xi
− x̄ )( yi
− ȳ )
∑
i=1
|D|
( xi− x̄ )
2
w0=ȳ− w1 x̄
188. Nonlinear Regression
Some nonlinear models can be modeled by a polynomial function
A polynomial regression model can be transformed into linear
regression model. For example,
y = w0 + w1 x + w2 x2 + w3 x3
convertible to linear with new variables: x2 = x2, x3= x3
y = w0 + w1 x + w2 x2 + w3 x3
Other functions, such as power function, can also be transformed
to linear model
Some models are intractable nonlinear (e.g., sum of exponential
terms)
possible to obtain least square estimates through extensive
calculation on more complex formulae
12-09-2021 44
189. Other Regression-Based Models
Generalized linear model:
Foundation on which linear regression can be applied to modeling
categorical response variables
Variance of y is a function of the mean value of y, not a constant
Logistic regression: models the prob. of some event occurring as a linear
function of a set of predictor variables
Poisson regression: models the data that exhibit a Poisson distribution
Log-linear models: (for categorical data)
Approximate discrete multidimensional prob. distributions
Also useful for data compression and smoothing
Regression trees and model trees
Trees to predict continuous values rather than class labels
12-09-2021 45
190. Regression Trees and Model Trees
Regression tree: proposed in CART system (Breiman et al. 1984)
CART: Classification And Regression Trees
Each leaf stores a continuous-valued prediction
It is the average value of the predicted attribute for the training tuples
that reach the leaf
Model tree: proposed by Quinlan (1992)
Each leaf holds a regression model—a multivariate linear equation for
the predicted attribute
A more general case than regression tree
Regression and model trees tend to be more accurate than linear regression
when the data are not represented well by a simple linear model
12-09-2021 46
191. Predictive Modeling in Multidimensional Databases
Predictive modeling: Predict data values or construct
generalized linear models based on the database data
One can only predict value ranges or category distributions
Method outline:
Minimal generalization
Attribute relevance analysis
Generalized linear model construction
Prediction
Determine the major factors which influence the prediction
Data relevance analysis: uncertainty measurement, entropy
analysis, expert judgement, etc.
Multi-level prediction: drill-down and roll-up analysis
12-09-2021 47
192. Classifier Accuracy Measures
Accuracy of a classifier M, acc(M): percentage of test set tuples that are
correctly classified by the model M
Error rate (misclassification rate) of M = 1 – acc(M)
Given m classes, CMi,j, an entry in a confusion matrix, indicates # of tuples in
class i that are labeled by the classifier as class j
Alternative accuracy measures (e.g., for cancer diagnosis)
sensitivity = t-pos/pos /* true positive recognition rate */
specificity = t-neg/neg /* true negative recognition rate */
precision = t-pos/(t-pos + f-pos)
accuracy = sensitivity * pos/(pos + neg) + specificity * neg/(pos + neg)
This model can also be used for cost-benefit analysis
12-09-2021 48
classes buy_computer = yes buy_computer = no total recognition(%)
buy_computer = yes 6954 46 7000 99.34
buy_computer = no 412 2588 3000 86.27
total 7366 2634 10000 95.52
C1 C2
C1 True positive False negative
C2 False positive True negative
193. Predictor Error Measures
Measure predictor accuracy: measure how far off the predicted value is from
the actual known value
Loss function: measures the error betw. yi and the predicted value yi’
Absolute error: | yi – yi’|
Squared error: (yi – yi’)2
Test error (generalization error): the average loss over the test set
Mean absolute error: Mean squared error:
Relative absolute error: Relative squared error:
The mean squared-error exaggerates the presence of outliers
Popularly use (square) root mean-square error, similarly, root relative
squared error
12-09-2021 49
∑
i=1
d
|yi− yi '|
d
∑
i=1
d
( yi− yi' )2
d
∑
i=1
d
|yi− yi '|
∑
i=1
d
| yi− ȳ|
∑
i=1
d
( yi− yi' )2
∑
i=1
d
( yi− ȳ )2
194. Evaluating the Accuracy of a Classifier or
Predictor (I)
Holdout method
Given data is randomly partitioned into two independent sets
Training set (e.g., 2/3) for model construction
Test set (e.g., 1/3) for accuracy estimation
Random sampling: a variation of holdout
Repeat holdout k times, accuracy = avg. of the accuracies obtained
Cross-validation (k-fold, where k = 10 is most popular)
Randomly partition the data into k mutually exclusive subsets, each
approximately equal size
At i-th iteration, use Di as test set and others as training set
Leave-one-out: k folds where k = # of tuples, for small sized data
Stratified cross-validation: folds are stratified so that class dist. in each
fold is approx. the same as that in the initial data
12-09-2021 50