data mining sequential pattern mining
DESCRIPTION
Data Mining Sequential Pattern Mining. Object. Timestamp. Events. A. 10. 2, 3, 5. A. 20. 6, 1. A. 23. 1. B. 11. 4, 5, 6. B. 17. 2. B. 21. 7, 8, 1, 2. B. 28. 1, 6. C. 14. 1, 8, 7. Data Sequence. Database Sequence:. Contoh Data Sequence. Elemen (Transaksi). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/1.jpg)
Data MiningSequential Pattern Mining
![Page 2: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/2.jpg)
Data Sequence
10 15 20 25 30 35
235
61
1
Timeline
Object A:
Object B:
Object C:
456
2 7812
16
178
Object Timestamp EventsA 10 2, 3, 5A 20 6, 1A 23 1B 11 4, 5, 6B 17 2B 21 7, 8, 1, 2B 28 1, 6C 14 1, 8, 7
Database Sequence:
![Page 3: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/3.jpg)
Contoh Data SequenceDatabase
SequenceSequence Elemen
(Transaksi)Kejadian
(Item)Customer Transaksi-transaksi penjualan
yang dilakukan oleh konsumen tertentu
Item – item yang dibeli konsumen dalam waktu t.
Buku, diary Produk, CD, dll.
Web Data Aktifitas browsing pada pengunjung web tertentu
Sekumpulan File-file yang dilihat pengunjung web setelah melakukan proses single mouse click
Home page, index page, contact info, dll
Event data Kejadian – kejadian yang dihasilkan oleh sensor tertentu
Kejadian-kejadi yang timbul dari sensor saat waktu t
Jenis-jenis tanda(alarm) yang dihasilkan oleh sensor
Genome sequences
DNA sequence dari spesies tertentu
Elemen dari DNA sequence Bases A,T,G,C
Sequence
E1E2
E1E3
E2E3E4E2
Elemen
(Transaksi)Kejadian(Item)
![Page 4: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/4.jpg)
Definisi Sequence
• Sebuah sequence adalah urutan dari elemen-elemen (transaksi)
s = < e1 e2 e3 … >
– Setiap elemen terdiri dari kumpulan kejadian-kejadian (item)ei = {i1, i2, …, ik}
– Setiap elemen merupakan atribut yang dihubungkan dengan suatu lokasi atau waktu tertentu (spesifik)
• Panjang Sequence, |s|, adalah banyaknya unsur-unsur sequence yang diberikan.
• A k-sequence adalah sebuah sequence yang terdiri dari k kejadian (item)
![Page 5: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/5.jpg)
Contoh Sequence• Web sequence:
< {Homepage} {Electronics} {Digital Cameras} {Canon Digital Camera} {Shopping Cart} {Order Confirmation} {Return to Shopping} >
• Sequence kejadian kecelakaan yang disebabkan oleh ledakan nuklir pada 3-mile Island:(http://stellar-one.com/nuclear/staff_reports/summary_SOE_the_initiating_event.htm)
< {clogged resin} {outlet valve closure} {loss of feedwater} {condenser polisher outlet valve shut} {booster pumps trip} {main waterpump trips} {main turbine trips} {reactor pressure increases}>
• Sequence buku checked out pada perpustakaan:
<{Fellowship of the Ring} {The Two Towers} {Return of the King}>
![Page 6: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/6.jpg)
Definisi Subsequence
• Sebuah sequence <a1 a2 … an> terdapat dalam sequence lain <b1 b2 … bm> (m ≥ n) jika terdapat integer i1 < i2 < … < in maka a1 bi1 , a2 bi1, …, an bin
• Support subsequence w didefinisikan sebagai bagian dari data sequence yang berisi w
• Sequential pattern adalah subsequence yang sering muncul (yaitu, support subsequence ≥ minsup)
Data sequence Subsequence Contain?
< {2,4} {3,5,6} {8} > < {2} {3,5} > Yes
< {1,2} {3,4} > < {1} {2} > No
< {2,4} {2,4} {2,5} > < {2} {4} > Yes
![Page 7: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/7.jpg)
Definisi :Sequential Pattern Mining
• Terdapat: – Database sequence
– Minimum menetapkan user yang mendukung(support), minsup
• Task:– Menemukan semua subsequence dengan user yang mendukup
≥ minsup
![Page 8: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/8.jpg)
1264
9
:Answer
k
n
• Diberikan sebuah sequence: <{a b} {c d e} {f} {g h i}>– contoh subsequence:
<{a} {c d} {f} {g} >, < {c d e} >, < {b} {g} >, dll.
• Berapakah banyaknya k-subsequences yang dapat diekstraksi dari n-sequence yang diberikan?
<{a b} {c d e} {f} {g h i}> n = 9
k=4: Y _ _ Y Y _ _ _ Y
<{a} {d e} {i}>
Tantangan : Sequential Pattern Mining
![Page 9: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/9.jpg)
Contoh :Sequential Pattern Mining
Minsup = 50%
Contoh Frequent Subsequence:
< {1,2} > s=60%< {2,3} > s=60%< {2,4}> s=80%< {3} {5}> s=80%< {1} {2} > s=80%< {2} {2} > s=60%< {1} {2,3} > s=60%< {2} {2,3} > s=60%< {1,2} {2,3} > s=60%
Object Timestamp EventsA 1 1,2,4A 2 2,3A 3 5B 1 1,2B 2 2,3,4C 1 1, 2C 2 2,3,4C 3 2,4,5D 1 2D 2 3, 4D 3 4, 5E 1 1, 3E 2 2, 4, 5
![Page 10: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/10.jpg)
Ekstraksi Sequential Pattern• Terdapat n kejadian: i1, i2, i3, …, in
• Candidate 1-subsequence:
<{i1}>, <{i2}>, <{i3}>, …, <{in}>
• Candidate 2-subsequence:
<{i1, i2}>, <{i1, i3}>, …, <{i1} {i1}>, <{i1} {i2}>, …, <{in-1} {in}>
• Candidate 3-subsequence:
<{i1, i2 , i3}>, <{i1, i2 , i4}>, …, <{i1, i2} {i1}>, <{i1, i2} {i2}>, …,
<{i1} {i1 , i2}>, <{i1} {i1 , i3}>, …, <{i1} {i1} {i1}>, <{i1} {i1} {i2}>, …
![Page 11: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/11.jpg)
Generalisasi Sequential Pattern (GSP)
• Step 1: – Langkah pertama mengabaikan database sequence D untuk
menghasilkan semua 1-element frequent sequence• Step 2:
Ulangi sampai tidak (ada) frequent sequences baru yang ditemukan– Candidate Generation:
• Gabungkan frequent subsequences yang ditemukan ( k-1)th untuk menghasilkan candidate sequence yang berisi k item
– Candidate Pruning:• Prune candidate k-sequence yang berisikan infrequent(k-1)-
subsequences– Support Counting:
• Mencari hal yang baru dalam sequence database D untuk menemukan support pada candidate sequence tersebut.
– Candidate Elimination:• Meng-eliminasi candidate k-sequences yang actual support kurang
dari minsup
![Page 12: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/12.jpg)
Generalisasi Candidate• Kasus Dasar (k=2):
– Penggabungan dua frequent 1-sequences <{i1}> dan <{i2}> akan menghasilkan dua candidate 2-sequences: <{i1} {i2}> dan <{i1 i2}>
• Kasus Umum (k>2):– Sebuah frequent (k-1)-sequence w1 digabungkan dengan frequent yang lain
(k-1)-sequence w2 untuk menghasilkan sebuah candidate k-sequence jika subsequence yang diperoleh dengan memindahkan event pertama di w1 adalah sama dengan subsequence yang diperoleh dengan memindahkan event terakhir in w2
• Hal ini menghasilkan candidate setelah penggabungan diberi oleh sequence w1 diperluas sampai dengan event yang terakhir dari w2
– Jika yang terakhir dua event didalam Cara lainnya, event yang terakhir di dalam w2 menjadi suatu element terpisah dengan menambahkan pada ujung w1 mempunyai element yang sama, kemudian peristiwa yang terakhir di dalam w2 menjadi bagian dari element yang terakhir di dalam w1
– Cara lainnya, event yang terakhir di dalam w2 menjadi suatu element terpisah dengan menambahkan pada ujung w1
![Page 13: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/13.jpg)
Contoh : Candidate Generation
• Penggabungan sequences w1=<{1} {2 3} {4}> dan w2 =<{2 3} {4 5}> akan menghasilkan candidate sequence < {1} {2 3} {4 5}> karena dua event yang terakhir didalam w2 (4 and 5) merupakan element yang sama
• Penggabungan sequences w1=<{1} {2 3} {4}> dan w2 =<{2 3} {4} {5}> akan menghasilkan candidate sequence < {1} {2 3} {4} {5}> karena dua event yang terakhir w2 (4 and 5) bukan merupakan element yang sama
• Tidak dapat dilakukan penggabungan sequence w1 =<{1} {2 6} {4}> dan w2 =<{1} {2} {4 5}> menghasilkan candidate < {1} {2 6} {4 5}> karena jika yang terakhir adalah viable candidate,lalu tersebut dapat diperoleh dari penggabungan w1 dengan < {1} {2 6} {5}>
![Page 14: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/14.jpg)
GSP Example
< {1} {2} {3} >< {1} {2 5} >< {1} {5} {3} >< {2} {3} {4} >< {2 5} {3} >< {3} {4} {5} >< {5} {3 4} >
< {1} {2} {3} {4} >< {1} {2 5} {3} >< {1} {5} {3 4} >< {2} {3} {4} {5} >< {2 5} {3 4} >
< {1} {2 5} {3} >
Frequent3-sequences
CandidateGeneration
CandidatePruning
![Page 15: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/15.jpg)
Timing Constraints (I){A B} {C} {D E}
<= ms
<= xg >ng
xg: max-gap
ng: min-gap
ms: maximum span
Data sequence Subsequence Contain?< {2,4} {3,5,6} {4,7} {4,5} {8} > < {6} {5} > Yes
< {1} {2} {3} {4} {5}> < {1} {4} > No
< {1} {2,3} {3,4} {4,5}> < {2} {3} {5} > Yes
< {1,2} {3} {2,3} {3,4} {2,4} {4,5}>
< {1,2} {5} > No
xg = 2, ng = 0, ms= 4
![Page 16: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/16.jpg)
Mining Sequential Pattern Dengan Timing Constraints
• Pendekatan 1:– Menemukan sequential pattern tanpa timing constraints– Postprocess menentukan pattern
• Pendekatan 2:– Memodifikasi GSP untuk langsung menjadi prune candidates
namun melanggar timing constraints– Question:
• Apa apriori prinsip masih dipegang ?
![Page 17: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/17.jpg)
Apriori Principle Untuk Data Sequence
Object Timestamp EventsA 1 1,2,4A 2 2,3A 3 5B 1 1,2B 2 2,3,4C 1 1, 2C 2 2,3,4C 3 2,4,5D 1 2D 2 3, 4D 3 4, 5E 1 1, 3E 2 2, 4, 5
Suppose:
xg = 1 (max-gap)
ng = 0 (min-gap)
ms = 5 (maximum span)
minsup = 60%
<{2} {5}> support = 40%
but
<{2} {3} {5}> support = 60%
Problem ada dikarenakan terdapat max-gap constraint
Tidak terdapat problem jika max-gap tanpa batas
![Page 18: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/18.jpg)
Contiguous Subsequences
• s merupakan contiguous subsequence dari w = <e1>< e2>…< ek>
jika memenuhi kriteria berikut ini :
1. s diperoleh dari w dengan menghapus suatu item dari e1 or ek
2. s diperoleh w dengan menghapus sebuah item dari elemen ei yang terdiri lebih dari 2 item.
3. s dikatakan contiguous subsequence dari s’ dan s’ dikatakan a
contiguous subsequence dari w (recursive definition)
• Contoh: s = < {1} {2} > – contiguous subsequence
< {1} {2 3}>, < {1 2} {2} {3}>, dan < {3 4} {1 2} {2 3} {4} > – BUKAN contiguous subsequence
< {1} {3} {2}> and < {2} {1} {3} {2}>
![Page 19: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/19.jpg)
Langkah Modifikasi Candidate Pruning
• Without maxgap constraint:– Candidate k-sequence dikatakan pruned jika
salah satunya (k-1)-subsequences adalah infrequent
• With maxgap constraint:– Candidate k-sequence dikatakan pruned jika
salah satunya contiguous (k-1)-subsequences adalah infrequent
![Page 20: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/20.jpg)
Timing Constraints (II)
{A B} {C} {D E}
<= ms
<= xg >ng <= ws
xg: max-gap
ng: min-gap
ws: window size
ms: maximum span
Data sequence Subsequence Contain?< {2,4} {3,5,6} {4,7} {4,6} {8} > < {3} {5} > No
< {1} {2} {3} {4} {5}> < {1,2} {3} > Yes
< {1,2} {2,3} {3,4} {4,5}> < {1,2} {3,4} > Yes
xg = 2, ng = 0, ws = 1, ms= 5
![Page 21: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/21.jpg)
Langkah Modifikasi Support Counting Step
• Candidate pattern: <{a, c}>– Beberapa data sequences terdiri dari
<… {a c} … >,<… {a} … {c}…> ( dimana time({c}) – time({a}) ≤ ws) <…{c} … {a} …> (dimana time({a}) – time({c}) ≤ ws)
yang digunakan dalam menentukan candidate pattern
![Page 22: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/22.jpg)
Formula Lain• Dalam beberapa domain, kita hanya mempunyai satu very long time
series– Contoh:
• monitoring network traffic events for attacks• Monitoring siatuasi network traffic untuk mencari penyelesaian
suatu masalah • monitoring telecommunication alarm signals• Memonitor sinyal telecommunication
• Bertujuan untuk menemukan kejadian- kejadian frequent sequences dalam time series– Masalah ini juga untuk mengetahui frequent episode mining
E1
E2
E1
E2
E1
E2
E3
E4 E3 E4
E1
E2
E2 E4
E3 E5
E2
E3 E5
E1
E2 E3 E1
Pattern: <E1> <E3>
![Page 23: Data Mining Sequential Pattern Mining](https://reader036.vdocuments.net/reader036/viewer/2022081603/568137ed550346895d9fa74c/html5/thumbnails/23.jpg)
Skema General Support Counting
p
Object's TimelineSequence: (p) (q)
Method Support Count
COBJ 1
1
CWIN 6
CMINWIN 4
p qp
q qp
qqp
2 3 4 5 6 7
CDIST_O 8
CDIST 5
Asumsi:
xg = 2 (max-gap)
ng = 0 (min-gap)
ws = 0 (window size)
ms = 2 (maximum span)