1
Data Mining
2
Pokok Bahasan
•Latar Belakang Data Mining•Pengenalan Data Mining•Rangkaian Proses Knowledge Discovery
In Database•Fungsionalitas Data Mining•Teknik-Teknik Data Mining•Algoritma Apriori•Algoritma FP Growth•Kesimpulan
3
Latar Belakang• Melimpahnya data• Walaupun data teramat melimpah, namun yang
diolah menjadi knowledge sangat sedikit • Pemeriksaan data manual adalah membosankan
dan terkadang tidak masuk akal• Solusinya Data warehouse dan data mining
▫Ekstraksi knowledge yang menarik dalam bentuk rule, regularities, pola, konstrain dll dari data yang tersimpan dalam sejumlah besar basis data
• Meningkatkan potensi untuk mendukung keputusan bisnis
4
Contoh Sederhana
SOLUTION DATA MINING
5
Pengenalan Data Mining
•Secara sederhana data mining adalah penambangan atau penemuan informasi baru dengan mencari pola atau aturan tertentu dari sejumlah data yang besar (Davies & Paul Beynon)
•Data mining juga disebut sebagai serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui secara manual (Pramudiono)
6
Pengenalan Data Mining
•Data mining sering disebut juga sebagai knowledge discovery in database (KDD)
•KDD adalah kegiatan pengumpulan, pemakaian data, dan historis untuk menemukan pola pada data berukuran besar
7
Knowledge Discovery in Databases (KDD)•Rangkaian proses KDD:
1. Data cleaning2. Data integration3. Data selection4. Data transformation5. Data mining6. Pattern evaluation7. Knowledge presentation
8
1. Data Cleaning
•Proses menghilangkan noise atau data yang tidak konsisten atau data tidak relevan
•Data cleaning akan mempengaruhi performansi dari data mining
9
2. Data Integration
•Proses penggabungan data dari berbagai database ke dalam satu database baru
•Integrasi data perlu dilakukan secara cermat karena kesalahan integrasi data bisa menghasilkan hasil yang menyimpang dan menyesatkan pengambilan aksi berikutnya
10
3. Data Selection
•Tidak semua data pada database yang akan dipakai
•Hanya data yang sesuai untuk dianalisis yang akan diambil dari database
11
4. Data Transformation
•Data diubah atau digabung ke dalam format yang sesuai untuk diproses
12
5. Data Mining
•Proses utama saat metode diterapkan untuk mendapatkan pengetahuan yang tersembunyi dari data
13
6. Pattern Evaluation
•Proses mengidentifikasi pola-pola menarik ke dalam knowledge based yang ditemukan
14
7. Knowledge Presentation
•Proses visualisasi pengetahuan mengenai metode yang digunakan dari pengetahuan yang telah didapat
15
Knowledge Discovery in Databases (KDD)
16
Proses Data Mining
•Kegiatan menemukan pola yang menarik dari data dalam jumlah besar yang terdapat di database
•Proses data mining dapat diterapkan pada berbagai jenis repository
17
Proses Data Mining
•Repositorynya antara lain:▫Basis data relasional▫Data warehouse▫Basis data transaksional▫Flat files▫Basis data berorientasi object▫Basis data spasial▫Basis data multimedia dan text
18
Karakteristik Data Mining
•Data mining berhubungan dengan penemuan sesuatu yang tersembunyi dan pola
•Data mining biasanya menggunakan data yang sangat besar
•Data mining berguna untuk membuat keputusan yang kritis
19
Fungsionalitas Data Mining
•Fungsi Predictive▫Memprediksi nilai suatu atribut
berdasarkan nilai-nilai dari atribut lainnya•Fungsi Descriptive
▫Memperoleh pola yang merangkum relasi pokok pada data yang ditambang
20
Teknik-Teknik Data Mining
•Classification•Clustering•Association Rule Mining
21
Classification
•Proses menemukan model atau fungsi yang menjelaskan dan membedakan tentang konsep kelas data dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui
22
Classification
23
Clustering
•Mengelompokkan sejumlah data/object ke dalam cluster (grup) sehingga dalam setiap cluster akan berisi data yang semirip mungkin
24
Clustering
25
Association Rule Mining
•Metode mining untuk menemukan aturan assosiatif antara suatu kombinasi item
•Biasa disebut juga dengan market basket analysis
26
market basket analysis• Analisa yang menunjukan keterhubungan
asosiatif atau korelasi yang menarik diantara item-item data.(Frekuensi kemunculan kondisi dimana nilai-nilai atributnya
sama.)
• Contoh nyata: ▫ analisa pembelian di suatu pasar swalayan, dapat diketahui
berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu
▫ Pemilik pasar swalayan dapat mengatur penempatan barangnya dan merancang kampanye pemasaran dengan diskon untuk kombinasi barang-barang tertentu
27
Association Rule IF-THEN Form• Menyediakan informasi dalam bentuk “IF-THEN”.
(Tidak seperti if-then logik pada umumnya, IF-THEN pada association rule ini bersifat probabilistik)
• Bagian “IF” dikenal dengan antecedent.• Bagian “THEN” dikenal dengan consequent.• Bagian tersebut merupakan Itemsets (kombinasi item) yang
setiap itemnya berbeda.
• Contoh: IF Sikat Gigi THEN Pasta Gigi (dapat diartikan: Jika beli Sikat Gigi Maka Pasta Gigi juga dibeli)
Itemsets = {Sikat Gigi, Pasta Gigi}Antecedent = {Sikat Gigi}Consequent = {Pasta Gigi}
28
Support & Confidence• Terdapat dua parameter yang menentukan
kepastian tentang aturan yaitu:
▫ Support: Rasio antara jumlah transaksi yang memuat antecedent dan consequent terhadap jumlah transaksi.
▫ Confidence: Rasio antara jumlah transaksi yang memuat antecedent dan consequent terhadap jumlah transaksi yang meliputi semua item dalam antecedent.
29
Contoh
• Terdapat dua record transaksi yang setiap transaksinya memiliki tiga item:
• Diketahui:
• MakaIF A THEN B,CSupport = 0.5 (50%)Confidence = 1 (100%)
IF B THEN CSupport = 1 (100%)Confidence = 1 (100%)
IF B THEN C,ASupport = 0.5 (50%)Confidence = 0.5 (50%)
30
Association Rule Mining Algorithm•Algoritma yang digunakan:
▫Algoritma apriori lebih umum digunakan▫Algoritma FP (frequency pattern) growth
31
Apriori Algorithm• Algoritma untuk mendapatkan pola item yang berfrekuensi paling
tinggi.
• Berdasarkan Minimum Support Threshold dan Minimum Confidence Threshold yang ditentukan.
• Idenya dengan mengembangkan frequent itemsets dan memangkas item yang tingkat frekuensinya dibawah Minimum Support. (Support >= Min. Support)
• Dengan cara iteratif dimulai dengan satu item kemudian kombinasi dua item, tiga item, hingga ke-semua ukuran. (Kelemahan apriori – setiap iterasi men-scan database sehingga memakan waktu)
32
Apriori Algorithm Pseudocode
33
Contoh Apriori Algorithm• Data transaksi dengan 9 record sebagai berikut;
• Ditentukan:▫ Jumlah Minimum Support = 2
-> Min. Sup = 2/9 = 22%▫ Minimum Confidence = 70%
34
Step 1: Generate 1-itemset Frequent Pattern
• Pada iterasi pertama ini, semua itemset memenuhi aturan minimum supportnya sehingga semua item menjadi kandidat.
35
Step 2: Generate 2-itemset Frequent Pattern
• C2 adalah hasil dari L1 join L1.• L2 adalah itemsets C2 yang memenuhi aturan
Min.Support.• Note: Algoritma apriori belum digunakan hingga langkah
ini.
36
Step 3: Generate 3-itemset Frequent Pattern
• Disini kita perlu gunakan algoritma apriori.• Terlebih dahulu Join Step: Maka didapat;
{{I1, I2, I3}, {I1, I2, I5}, {I1, I3, I5}, {I2, I3, I4}, {I2, I3, I5}, {I2, I4, I5}}• Setelah hasil join didapat, selanjutnya untuk mengurangi
ukurannya maka Prune Step digunakan sehingga didapat;C3 = {{I1, I2, I3}, {I1, I2, I5}}
• Semua kandidat memiliki minimum support.
37
Step 4: Generate 4-itemset Frequent Pattern•L3 Join L3 untuk kandidat C4 dengan 4-
itemsets menghasilkan {I1, I2, I3, I5}.
•Itemset tersebut pruned (terpangkas) karena subset {I2,I3,I5} tidak frequent.
•C4 = φ, telah didapat semua frequent item maka algoritma apriori selesai.
38
Step 5: Generate Association Rules from Frequent Itemsets•Semua frequent itemset digunakan untuk
membuat strong association rule (memenuhi min. Support & min. Confidence)
•Semua Frequent itemset telah memenuhi min.support.
•Gunakan bentuk “IF-THEN” pada setiap subset dari frequent itemset nya.
•Frequent itemsets yang didapat:{{I1}, {I2}, {I3}, {I4}, {I5}, {I1,I2}, {I1,I3}, {I1,I5}, {I2,I3}, {I2,I4}, {I2,I5}, {I1,I2,I3}, {I1,I2,I5}}
39
Step 5: Generate Association Rules from Frequent Itemsets•Contoh menentukan strong association
rule:Frequent Itemset = {I1,I2,I5}; Subset = {{I1,I2}, {I1,I5}, {I2,I5}, {I1}, {I2}, {I5}}
• IF {I1,I2} THEN {I5} Confidence: sc{I1,I2,I5}/sc {I1,I2} = 2/4 = 50%(Rule Rejected!)
• IF {I1,I5} THEN {I2} Confidence: sc{I1,I2,I5}/sc {I1,I5} = 2/2 = 100%(Rule Selected!)
• IF {I2,I5} THEN {I1} Confidence: sc{I1,I2,I5}/sc {I2,I5} = 2/2 = 100%(Rule Selected!)
• IF {I1} THEN {I2,I5} Confidence: sc{I1,I2,I5}/sc {I1} = 2/6 = 33%(Rule Rejected!)
• IF {I2} THEN {I1,I5} Confidence: sc{I1,I2,I5}/sc {I2} = 2/7 = 29%(Rule Rejected!)
• IF {I5} THEN {I1,I2} Confidence: sc{I1,I2,I5}/sc {I5} = 2/2 = 100%(Rule Selected!)
40
Frequent Pattern Growth•Merupakan pengembangan dari algoritma
Apriori (Candidate Generation Explosion and Repeated Database Scan).
•Dilakukan tanpa melakukan proses “Candidate Generation” sebagai gantinya menggunakan FP-tree untuk divide-and-conquer.
•FP-tree dapat dibuat dalam database terpisah (conditional database).
•FP-tree merupakan hasil kompresi dari frequent itemsets.
41
FP-Growt (step 1)
Langkah awal mengikuti algoritma yang sama dengan apriori untuk mendapatkan C1 dan L1.
asumsi min. support = 2
42
FP-Growt (step 2)
Buat FP-tree menggunakan data frekuensi (L) + data pada tabel (D).
Sort menurut frekuensi:
asumsi min. support = 2
43
FP-Growt (step 3)
Conditional pattern base (sort descending) didapat dari FP-tree.
asumsi min. support = 2
44
FP-Growt (step 4)
Dapatkan conditional FP-tree dari conditional pattern base (min. support).
asumsi min. support = 2
45
FP-Growt (step 5)
Hitung frequent pattern item dengan formula:
Ambil (hitung) nilai frequent pattern dari tabel (D).
𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑡 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝐼𝑡𝑒𝑚=𝐼𝑡𝑒𝑚 𝑥𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛𝑎𝑙 𝐹𝑃−𝑡𝑟𝑒𝑒
46
Summary•Data mining sangat berguna untuk pengguna
pada level manajerial dimana diharapkan dari data yang ada dapat digunakan untuk mengambil keputusan.
•Apriori adalah algoritma sederhana yang dapat digunakan untuk menemukan keterkaitan antar itemsets.
•FP-Growt adalah algoritma yang dikembangkan untuk menghilangkan proses candidate generation dan mengurangi scanning database.