Pattern Sekuensial
Pattern Sekuensial
Timeline
10 15 20 25 30 35
Database Sequence:
Object C:
1
7
8
Contoh Data Sequence
Database Sequence Elemen Kejadian
Sequence (Transaksi) (Item)
Customer Transaksi-transaksi penjualan Item – item yang dibeli Buku, diary Produk, CD,
yang dilakukan oleh konsumen konsumen dalam waktu t. dll.
tertentu
Web Data Aktifitas browsing pada Sekumpulan File-file yang Home page, index page,
pengunjung web tertentu dilihat pengunjung web contact info, dll
setelah melakukan proses
single mouse click
Event data Kejadian – kejadian yang Kejadian-kejadi yang timbul Jenis-jenis tanda(alarm)
dihasilkan oleh sensor tertentu dari sensor saat waktu t yang dihasilkan oleh
sensor
Genome DNA sequence dari spesies Elemen dari DNA sequence Bases A,T,G,C
sequences tertentu
Elemen
Kejadian
(Transaksi) E1 E1 E3 (Item)
E2 E2
E2 E3 E4
Sequence
Definisi Sequence
• Sebuah sequence adalah urutan dari elemen-elemen (transaksi)
s = < e 1 e2 e3 … >
• 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
• Task:
– Menemukan semua subsequence dengan user yang mendukup
≥ minsup
Tantangan : Sequential Pattern Mining
• 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.
Answer :
k=4: Y_ _YY _ _ _Y n 9
126
k 4
<{a} {d e} {i}>
Contoh :
Sequential Pattern Mining
Object Timestamp Events
A 1 1,2,4 Minsup = 50%
A 2 2,3
A 3 5 Contoh Frequent Subsequence:
B 1 1,2
B 2 2,3,4 < {1,2} > s=60%
< {2,3} > s=60%
C 1 1, 2
< {2,4}> s=80%
C 2 2,3,4
< {3} {5}> s=80%
C 3 2,4,5 < {1} {2} > s=80%
D 1 2 < {2} {2} > s=60%
D 2 3, 4 < {1} {2,3} > s=60%
D 3 4, 5 < {2} {2,3} > s=60%
E 1 1, 3 < {1,2} {2,3} > s=60%
E 2 2, 4, 5
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}>,
…
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
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}>
• 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
xg = 2, ng = 0, ms= 4
• Pendekatan 2:
– Memodifikasi GSP untuk langsung menjadi prune candidates
namun melanggar timing constraints
– Question:
• Apa apriori prinsip masih dipegang ?
Apriori Principle Untuk Data Sequence
xg = 2, ng = 0, ws = 1, ms= 5
COBJ 1
CWIN 6 Asumsi:
xg = 2 (max-gap)
ng = 0 (min-gap)
CMINWIN 4
ws = 0 (window size)
ms = 2 (maximum span)
CDIST_O 8
CDIST 5