Data Mining Notes
Data Mining Notes
Introduction
Motivation: Why data mining? What is data mining? Data Mining: On what kind of data? Data mining functionality Are all the patterns interesting? Classification of data mining systems Data Mining Task Primitives
Business: Web, e-commerce, transactions, stocks, Science: Remote sensing, bioinformatics, scientific simulation, Society and everyone: news, digital cameras,
We are drowning in data, but starving for knowledge! Necessity is the mother of inventionData miningAutomated
3 analysis of massive data sets
1960s:
Data collection, database creation, IMS and network DBMS Relational data model, relational DBMS implementation RDBMS, advanced data models (extended-relational, OO, deductive, etc.) Application-oriented DBMS (spatial, scientific, engineering, etc.) Data mining, data warehousing, multimedia databases, and Web databases Stream data management and mining
1970s:
1980s:
1990s:
2000s
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. Simple search and query processing
(Deductive) expert systems
Target marketing, customer relationship management (CRM), market basket analysis, cross selling, market segmentation
Other Applications
Text mining (news group, email, documents) and Web mining Stream data mining Bioinformatics and bio-data analysis
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 analysisFind associations/co-relations between product sales, & predict based on such association Customer profilingWhat types of customers buy what products (clustering or classification) Customer requirement analysis
Identify the best products for different customers Predict what factors will attract new customers Multidimensional summary reports Statistical summary information (data central tendency and variation)
Resource planning
Competition
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 Phone call model: destination of the call, duration, time of day or week. Analyze patterns that deviate from an expected norm Analysts estimate that 38% of retail shrink is due to dishonest employees
Retail industry
Anti-terrorism
Pattern Evaluation
Data Cleaning
Data Integration Databases
10
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 summarization, classification, regression, association, clustering
Choosing the mining algorithm(s) Data mining: search for patterns of interest Pattern evaluation and knowledge presentation
Decision Making
Data Presentation Visualization Techniques Data Mining Information Discovery
End User
Data Exploration Statistical Summary, Querying, and Reporting Data Preprocessing/Integration, Data Warehouses Data Sources Paper, Files, Web documents, Scientific experiments, Database Systems
DBA
12
Statistics
Machine Learning
Pattern Recognition
Data Mining
Visualization
Algorithm
Other Disciplines
13
Algorithms must be highly scalable to handle such as tera-bytes of data Micro-array may have tens of thousands of dimensions Data streams and sensor data
High-dimensionality of data
14
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
Applications adapted
Retail, telecommunication, banking, fraud analysis, bio-data mining, stock market analysis, text mining, Web mining, etc.
15
General functionality
Data view: Kinds of data to be mined Knowledge view: Kinds of knowledge to be discovered Method view: Kinds of techniques utilized
16
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
17
Generalize, summarize, and contrast data characteristics, e.g., dry vs. wet regions
Diaper Beer [0.5%, 75%] (Correlation or causality?)
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)
18
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 Periodicity analysis Similarity-based analysis Other pattern-directed or statistical analyses
19
Data mining may generate thousands of patterns: Not all of them are interesting
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
Objective: based on statistics and structures of patterns, e.g., support, confidence, etc.
20
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
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 patternsmining query optimization
21
Finding all the patterns autonomously in a database?unrealistic because the patterns could be too many but uninteresting
Users must be provided with a set of primitives to be used to communicate with the data mining system
Incorporating these primitives in a data mining query language
More flexible user interaction Foundation for design of graphical user interface Standardization of data mining industry and practice
22
Motivation
A DMQL can provide the ability to support ad-hoc and interactive data mining By providing a standardized language like SQL
Hope to achieve a similar effect like that SQL has on relational database Foundation for system development and evolution
23
24
Necessity of mining knowledge and patterns at different levels of abstraction by drilling/rolling, pivoting, slicing/dicing, etc.
25
Loose coupling
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
DM is smoothly integrated into a DB/DW system, mining query is optimized based on mining query, indexing, query processing methods, etc.
26
Database
27
Mining methodology
Mining different kinds of knowledge from diverse data types, e.g., bio, stream, Web
User interaction
28
Frequent patterns: patterns (set of items, sequence, etc.) that occur frequently in a database [AIS93] Frequent pattern mining: finding regularities in data
What products were often purchased together? Beer and diapers?! What are the subsequent purchases after buying a car? Can we automatically profile customers?
29
Basics
Support of itemsets
Items bought
f, a, c, d, g, I, m, p a, b, c, f, l,m, o b, f, h, j, o b, c, k, s, p a, f, c, e, l, p, m, n
Given min_sup=3, acm is a frequent pattern Frequent pattern mining: find all frequent patterns in a database
30
Apriori and its variations/improvements Mining frequent-patterns without candidate generation Mining max-patterns and closed itemsets Mining multi-dimensional, multi-level frequent patterns with flexible support constraints Interestingness: correlation and causality
31
A transaction containing {beer, diaper, nuts} also contains {beer, diaper} {beer, diaper, nuts} is frequent {beer, diaper} must also be frequent
32
Apriori-based Mining
Generate length (k+1) candidate itemsets from length k frequent itemsets, and Test the candidates against DB
33
Apriori Algorithm
Data base D
TID 10 20 30 40
1-candidates
Scan D
Itemset a b c d e Sup 2 3 3 1 3
Freq 1-itemsets
Itemset a b c e Sup 2 3 3 3
2-candidates
Itemset ab ac ae bc be ce
Min_sup=2 3-candidates
Scan D
Itemset bce
Freq 2-itemsets
Itemset ac bc be ce Sup 2 2 3 2
Counting
Itemset ab ac ae bc be ce Sup 1 2 1 2 3 2
Scan D
Freq 3-itemsets
Itemset bce 34 Sup 2
Ck: Candidate itemset of size k Lk : frequent itemset of size k L1 = {frequent items}; for (k = 1; Lk !=; k++) do
return k Lk;
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
35
36
Suppose the items in Lk-1 are listed in an order Step 1: self-join 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
For each itemset c in Ck do For each (k-1)-subsets s of c do if (s is not in Lk-1) then delete c from Ck
37
Example of Candidate-generation
abcd from abc and abd acde from acd and ace acde is removed because ade is not in L3
Pruning:
C4={abcd}
38
The total number of candidates can be very huge One transaction may contain many candidates 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
Method:
39
Challenges
Multiple scans of transaction database Huge number of candidates Tedious workload of support counting for candidates
Reduce number of transaction database scans Shrink number of candidates Facilitate support counting of candidates
40
Summary
41
Advances in Knowledge Discovery and Data Mining (U. Fayyad, G. PiatetskyShapiro, P. Smyth, and R. Uthurusamy, 1996)
1995-1998 International Conferences on Knowledge Discovery in Databases and Data Mining (KDD95-98)
ACM SIGKDD conferences since 1998 and SIGKDD Explorations More conferences on data mining
PAKDD (1997), PKDD (1997), SIAM-Data Mining (2001), (IEEE) ICDM (2001), etc.
42
KDD Conferences
Other related conferences ACM SIGMOD VLDB (IEEE) ICDE WWW, SIGIR ICML, CVPR, NIPS
ACM SIGKDD Int. Conf. on Knowledge Discovery in Databases and Data Mining (KDD) SIAM Data Mining Conf. (SDM) (IEEE) Int. Conf. on Data Mining (ICDM) Conf. on Principles and practices of Knowledge Discovery and Data Mining (PKDD) Pacific-Asia Conf. on Knowledge Discovery and Data Mining (PAKDD)
Journals
43
Conferences: ACM-SIGKDD, IEEE-ICDM, SIAM-DM, PKDD, PAKDD, etc. Journal: Data Mining and Knowledge Discovery, KDD Explorations, ACM TKDD Conferences: ACM-SIGMOD, ACM-PODS, VLDB, IEEE-ICDE, EDBT, ICDT, DASFAA Journals: IEEE-TKDE, ACM-TODS/TOIS, JIIS, J. ACM, VLDB J., Info. Sys., etc. Conferences: Machine learning (ML), AAAI, IJCAI, COLT (Learning Theory), CVPR, NIPS, etc.
Journals: Machine Learning, Artificial Intelligence, Knowledge and Information Systems, IEEEPAMI, etc.
Conferences: SIGIR, WWW, CIKM, etc. Journals: WWW: Internet and Web Information Systems, Conferences: Joint Stat. Meeting, etc. Journals: Annals of statistics, etc. Conference proceedings: CHI, ACM-SIGGraph, etc. Journals: IEEE Trans. visualization and computer graphics, etc.
Web and IR
Statistics
Visualization
44
S. Chakrabarti. Mining the Web: Statistical Analysis of Hypertex and Semi-Structured Data. Morgan Kaufmann, 2002 R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, 2ed., Wiley-Interscience, 2000 T. Dasu and T. Johnson. Exploratory Data Mining and Data Cleaning. John Wiley & Sons, 2003 U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy. Advances in Knowledge Discovery and Data Mining. AAAI/MIT Press, 1996
U. Fayyad, G. Grinstein, and A. Wierse, Information Visualization in Data Mining and Knowledge Discovery, Morgan Kaufmann, 2001
J. Han and M. Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2nd ed., 2006
D. J. Hand, H. Mannila, and P. Smyth, Principles of Data Mining, MIT Press, 2001 T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer-Verlag, 2001
T. M. Mitchell, Machine Learning, McGraw Hill, 1997 G. Piatetsky-Shapiro and W. J. Frawley. Knowledge Discovery in Databases. AAAI/MIT Press, 1991 P.-N. Tan, M. Steinbach and V. Kumar, Introduction to Data Mining, Wiley, 2005 S. M. Weiss and N. Indurkhya, Predictive Data Mining, Morgan Kaufmann, 1998 I. H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java