Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Mining Data Streams
Challenges, Techniques, and Future Work
Ruoming Jin
Joint work with Prof. Gagan Agrawal
August 10-17, 2003
Major Power outrage simultaneously hits a dozen of
big cities in the east of America and Canada
Internet Worm
Suddenly, millions of people have to live without electricity
Millions of computers were attacked
In a single day, I received almost 100 emails generated by
the worm
Capable to collect and monitor the data from power
grid and email server
Unable to extract knowledge fast enough from the dynamic and
huge amount of data!
Data Explosion
The Challenge:
Our ability to access, collect, generate, and store the data
has been exceeding our ability to understand them
Real Applications
WALMART: 20M transactions per day
AT&T: 300 M calls per day
Earth Observing System from NASA: 50 GB per hour
Amazon. COM: 4-5M sessions per day
Power Grid/Sensor Network
Internet/Intranet
Data Streams
What is Data Streams?
Continuous streams
Hugh, Fast and Changing
Why Data Streams?
The arrival of streams and the volume of data are beyond our
capability to store them
Real-time processing
Evolution of Data (Static/Dynamic)
You can only have one look at the data!
Data Mining
Extracting useful information or knowledge from large
amounts of data
Typical Data Mining Tasks
Interesting patterns
Regularity or Anomaly
Association Rule Mining
Classification
Clustering
Disk-resident or in-core datasets
Traditional data mining needs multi-pass of the data!
Stream Data Mining
How to run traditional mining tasks over data streams
How to discover new information over data streams
Single pass/multi-pass
Changing
How to perform data mining over dynamic data streams
Concept drifting
Roadmap
Thesis Statement
Current Work
Future Work
Decision Tree Construction
Frequent Itemsets Mining
Mining Maximal/Closed/Approximate Frequent Itemsets
Mining New Knowledge from Data Streams
Mining Dynamic Data Streams
Applications
Conclusion
Motivation
The need for efficient computation and low
memory mining algorithms
Real-time constraint
Memory requirements
The need to mine new information from data
streams
The need for having results with high accuracy
and confidence
Approximate results with high accuracy
Thesis Statement
“Designing computation and memory efficient algorithms to
provide approximate results with high accuracy and
confidence helps mine useful information from data streams”
Roadmap
Thesis Statement
Current Work
Future Work
Decision Tree Construction
Frequent Itemsets Mining
Mining Maximal/Closed/Approximate Frequent Itemsets
Mining New Knowledge from Data Streams
Mining Dynamic Data Streams
Applications
Conclusion
Decision Tree Construction
Salary
Age
Employment
Group
30K
30
Self
C
40K
35
Industry
C
Salary
<= 50K
> 50K
Age
Group C
70K
50
Academia
C
50K
45
Self
B
70K
30
Academia
B
60K
35
Industry
A
60K
35
Self
A
70K
30
Self
A
40K
45
Industry
C
<= 40
> 40
Employment
Academia, Industry
Group B
Group C
Self
Group A
Three predictor attributes: Numerical (salary, age), Categorical (employment)
Class label attribute: group
The problem
Basic algorithm (a greedy algorithm)
Analysis
Tree will be built in a top-down recursive way
At start, all the training records are at the root; the records are partitioned
recursively based on split criteria
Split criteria are selected based on a heuristic or statistical measure (e.g.,
information gain or gini function)
To find the split criteria, all the records falling into the node need to be
scanned
Scanning the entire datasets multiple times
The difficulty to handle numerical attributes
Streaming Data
You can only have one look at the data
Real-time constraint and memory requirement
Outline of Our Solution
Motivation
Three New Techniques
Experimental results
Conclusion
Very Fast Decision Tree (VFDT)
─Domingo and Hulten (SIGKDD’00)
Sampling based approach
Accuracy
Given a desired confidence level (α), applying Hoeffding
Inequality to test if enough samples has collected to find the
best split criteria
Probabilistic bound on the different number of nodes between
the tree built on samples and the one built on complete data
Limitation
Focus on processing categorical attributes
Ideal environment
Our Contributions
Efficient processing of numerical attributes
Determining exact split points in one pass
High memory and computational overheads
Numerical Interval Pruning (NIP)
Confidence interval
ExactSplit algorithm
Using smaller samples size for the same
probabilistic bound
Normal Test
•Efficient Decision Tree Construction on Streaming Data (R. Jin and G. Agrawal,
SIGKDD’03)
•Accurate One Pass Mining of Streaming Data (R. Jin, A. Goswami and G.
Agrawal, submitted to SDM’04)
Numerical Interval Pruning (NIP) –
Efficiently Handling Numerical Attributes
Existing methods
Preprocessing
Online sorting
Full Class Histogram
Basic Ideas of NIP
Hierarchical Information
– Concise class Histogram and Detailed Information
Divide the range of numerical attributes into intervals
Summarize class histogram for intervals
Only visit intervals likely to have best split point
Drop the detailed information for pruned intervals
(Approximate)
Finding Best Split Point
76
68
60
52
44
36
28
40
20
0
20
Counts
Com plete Class Histogram s
The data comes from a
class-2 IBM Quest synthetic
dataset for function 0
class-1
Age
0.1
0.08
0.06
0.04
0.02
0
Best Split Point
Age
76
69
62
55
48
41
34
gain function
27
20
gain
Gain Function
Summarizing and Pruning Intervals
30
20
10
0
Class-2
75,79
70,74
65,69
60,64
55,59
50,54
45,49
40,44
35,39
30,34
25,29
Class-1
20,24
Counts
Summarized class histogram for intervals
from sample set
Upper bound of
gains for intervals
Age
gain function on sample set
gains f or
interval
boundaries
0.1
upper bound of
gain
0.05
Age
76
68
60
52
44
36
28
0
20
gain
0.15
gain f unction
Visiting Detailed Information
Summarized Class Histograms for Intervals
150
100
50
0
Detailed class histogram for
Interval[35,39]
Class-2
70
,74
60
,64
50
,54
40
,44
30
,34
20
,24
Class-1
25
20
15
Class-2
10
5
0
Class-1
35
0.1
0.08
0.06
0.04
0.02
0
Complete
gain function
Age
74
65
56
47
38
Partial gain
function
29
20
Gain
Gain function from partial materialized
class histogram
36
37
38
39
Best Split Point
Re-pruning and Verification
Gain of Best Split Point
False Pruning
Gain function and upper bound from
partial materialized class histogram
Gain
0.1
Complete gain
function
0.05
Partial gain
function
Age
76
69
62
55
48
41
34
27
20
0
Upper bound
for Intervals
Additional intervals needs to be visited if false pruning happens
Least Upper Bound of Gain for an
Interval
Class Histogram for Interval [50,54]
Class Histograms for Intervals
30
150
100
20
Class-2
10
Class-1
Clas s -2
50
0
Clas s -1
70
,7
4
60
,6
4
40
,4
4
50
,5
4
20
,2
4
30
,3
4
0
[ 50 ,54 ]
Possible Best Configuration-1
50
51
52
53
54
[ 50 ,54 ]
Possible Best Configuration-2
Finding Exact Split Points in a Single Pass
Confidence Interval (CI)
ExactSplit algorithm
Build CI near the approximate split points
If the exact split points after processing all data falls into the
CI, we will be able to determine it, and correct the descendant
nodes also
Recursively find exact split points and correct the descendant
nodes from the root
Dynamic shrinking
Reduce the length of CI as more data instances are
processed
Sample Size Problem
Let n be the sample size of S, N be the normal distribution.
Then, for the entropy function g, we have
where,
Normal Test
Normal Test is better than Hoeffding Bound because later one
does not utilize the normal distribution property.
Performance Results
Running Time: F7
500
400
ClassHist-H
300
Sample-H
200
NIP-H
NIP-N
100
0
0
0.02
0.04
0.06
Noise Factor
0.08
0.1
Running Time (Seconds)
Running Time (Seconds)
Running Time: F6
800
700
600
500
400
300
200
100
0
ClassHist-H
Sample-H
NIP-H
NIP-N
0
0.02
0.04
0.06
0.08
0.1
Noise Factor
•700MHz Intel Pentium III, with 1GB SDRAM and a 18GB disk with Ultra 160 SCI Drive
•Stop condition: >=95% accuracy, depth of nodes<=12, >=1% fraction of instances
•Start processing the nodes where data instances >=10,000, re-evaluate each node every
5,000 data instances
Instances Utilization
80.00
70.00
60.00
50.00
40.00
30.00
20.00
10.00
0.00
Instances Actively Processed (IAP): F7
ClassHist-H
Sample-H
NIP-H
NIP-N
0.00
0.02
0.04
0.06
Noise Factor
0.08
0.10
Number of Instances
(Millions)
Number of Instances
(Millions)
Total Instances Read (TIR): F7
7.00
6.00
5.00
ClassHist-H
4.00
3.00
Sample-H
2.00
1.00
NIP-N
NIP-H
0.00
0.00
0.02
0.04
0.06
0.08
0.10
Noise Factor
•ClassHist-H: Hoeffding bound and full class histograms
•Sample-H: Hoeffding bound and samples to evaluate candidate split conditions
•NIP-H: Hoeffding bound and Numerical Interval Pruning
•NIP-N: Normal test and Numerical Interval Pruning
Adult Dataset
Predicting whether income exceeds $50K/yr based on census data
48842 instances, 14 attributes (6 continuous and 8 nominal)
Algorithm
Concept Size
Inaccuracy
Running Time
TIR
IAP
ClassHist-H
92
13.8%
308.655
27.0
3.0
Sample-H
104
13.8%
366.095
27.2
2.9
NIP-H
92
13.8%
262.369
27.0
3.1
NIP-N
100
13.7%
157.217
19.5
1.7
Running Time in seconds, TIR and IAP in millions
Summary
Three new techniques enable
an average of 39% reduction in execution times
a 37% reduction in the number of data instances required
an average of 79% accuracy to determine the exact split
condition for the non-leaf nodes on the top 5 levels.
The techniques can be applied to other applications,
such as
K-mean clustering (ongoing work)
Roadmap
Thesis Statement
Current Work
Future Work
Decision Tree Construction
Frequent Itemsets Mining
Mining Maximal/Closed/Approximate Frequent Itemsets
Mining New Knowledge from Data Streams
Mining Dynamic Data Streams
Applications
Conclusion
Frequent Itemsets Mining
TID
Transactions
100
A,B,E
200
B,D
300
A, B, E
400
A,C
500
B, C
600
A, C
700
A, B
800
A, B,C,E
900
A, B, C
1000
A, C, E
Desired frequency 50%
Down-closure property
{A},{B},{C},{A,B}, {A,C}
If an itemset is frequent, all of its
subset must also be frequent
Multi-pass algorithms or in-core
datasets
Apriori, Eclat, FP-tree
The Problem
Streaming data
You can only have one look of the data
Impossible to find all the frequent itemsets in one pass
Proposed solutions (with θ,ε)
A one-pass algorithm to find a superset of the frequent (θ)
itemsets, and each itemset in the superset has to appear
more than a desired frequency(θ(1-ε))
A two-pass algorithm will find the exact frequent itemsets
(eliminate the false positive)
Outline of Our Solution
A simplified problem and its solution
StreamMining
Implementing Issues
Experimental Results
Conclusion
A Simplified Problem
Finding frequent items
Given a sequence (x1,…xN) where xi ∈[1,n], and a real
number θ between zero and one.
Looking for xi whose frequency > θ
N>>n>>1/θ
The number of frequent items ≤ 1/θ
P*(Nθ) ≤ N
KRP algorithm
─ R. Karp, et. al (TODS’ 03)
n=12
N=30
Θ=0.35
⌈1/θ⌉ = 3
N/ (⌈1/θ⌉) ≤ Nθ
Frequent Itemsets
n=10K, Θ=0.1%, average length=10,
n*n=100M, |frequent 2-itemsets| ≤ 50K
2-itemset is the key!
Frequent Items for Transactions with Fixed
Length
Θ=0.60
Frequent Items for Transactions with Varied
Length
Θ=0.60
Enhance the Accuracy
n=12
Θ=0.35
⌈1/θ⌉ = 3
ε=0.5 Θ(1- ε )=0.175
⌈1/(θ ε) ⌉ = 6
N=30
StreamMining Sketch
Put a transaction into the buffer
Update 1-itemset counts
Update/insert 2-itemsets
If the 2-itemsets is beyond a threshold
Crossover
Applying the transactions in the buffer to update 3-itemsets, 4itemsets …
Clear buffer
Perform additional Crossover
Implementing Issues
Data Structure
TreeHash, a prefix tree encoded into a hash table
Frequently insert/delete/increment the potential frequent
itemsets
Optimizations
Online dataset trimming
Reducing subset checking
Online checking
Experimental Results
T10.I4.N10K Dataset, 12M transactions
Experimental Results (Cont’)
T10.I4.N10K Dataset, 0.1% support level
Results for very large number of distinctive
items
T25.I4.N100K Dataset, 12M transactions
Real Dataset
BMS-WebView-1 Dataset
Related Work
One-pass algorithm Manku and Motwani
Two-pass algorithm
Partition
Sampling based
CARMA
Oracle
FP-tree and FP-stream
Multi-pass algorithm
Discussion
The new algorithm StreamMining
High accuracy ( even when ε=1, the accuracy is 94% or higher)
Memory efficient
Handle very large number of distinctive itemsets and low
threshold using reasonable amounts of memory
Observations
Reducing passes can not directly contribute to the performance
Computational Intensive instead of I/O Intensive
In-core algorithm is the key
Roadmap
Thesis Statement
Current Work
Future Work
Decision Tree Construction
Frequent Itemsets Mining
Mining Maximal/Closed/Approximate Frequent Itemsets
Mining New Knowledge from Data Streams
Mining Dynamic Data Streams
Applications
Conclusion
Mining Frequent Itemsets
The problem
Different Solutions
Computational Intensive
Maximal Frequent Itemsets
Closed Frequent Itemsets
Approximate Frequent Itemsets
StreamMax
Contour sets
Stream*
Common characteristics of one-pass and two-pass
algorithms for streaming data and very large datasets
Maintaining a superset of frequent itemsets
Different methods to update the supersets
Applying slightly different in-core algorithms
A framework to efficiently incorporate different in-core
algorithms for mining streams
Apriori, Eclat and FP-tree
TreeHash and StreamMining/MM
Frequent Itemsets Mining over Dynamic Data
Streams
Sliding Window Model
New queries raised from sliding window
Recent data
Frequent itemsets for the current window
The intersection and union of frequent itemsets over windows
Itemsets with large frequency changes
Two key issues
How to forget/delete information obsolete
Computing the new queries systematically
Learning over
Dynamic Streaming Data
Concept Drifting
CVFDT
Ensemble classifiers
Clustering
Mining changes
Demon
Burst detection
Cluster Changes
Can a single classifier perform as good as or even
better than ensemble classifiers?
Advantage of a single classifier
Simple
Intuitive
Sampling approach
Incorporating time and change as factors to sample data
streams
Dynamic Sample Sets
How the knowledge of changes will help us to
mine under concept drifting?
What’s the appropriate model to describe the changes
Kernel methods
How to incorporate the knowledge of changes into
classifiers?
Roadmap
Thesis Statement
Current Work
Future Work
Decision Tree Construction
Frequent Itemsets Mining
Mining Maximal/Closed/Approximate Frequent Itemsets
Mining New Knowledge from Data Streams
Mining Dynamic Data Streams
Applications
Conclusion
Network-based Network Intrusion Detection
Very large and Evolving Databases
Some very large datasets are not streaming data
Typical Examples
Possibly recorded on storage
No real time constraints
But arrives in order and updated in a block fashion
War-Mart
AT&T
EOS
Stream mining which provides approximate results is
helpful and even necessary to monitor and facilitate
mining exact knowledge from such databases
Roadmap
Thesis Statement
Current Work
Future Work
Decision Tree Construction
Frequent Itemsets Mining
Mining Maximal/Closed/Approximate Frequent Itemsets
Mining New Knowledge from Data Streams
Mining Dynamic Data Streams
Applications
Conclusion
Rule of Thumbs
Application Driven
Network Security
E-Commercial
Sensor Network
The key techniques
Sampling
Counting
Approximation
Data structure
Conclusion
The model of data streams and our motivation to mine
streams
Decision tree construction and frequent Itemsets mining
over data streams
Future work
Applications