TANJUNGPINANG
2014
MODUL DATA MINING
Nidn : 1002048601
TANJUNGPINANG
2014
Data mining adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan
di dalam database. Data mining adalah proses yang menggunakan teknik statistik,
metematika, kecerdasan buatan, dan machine learning untuk mengekstrasi dan
mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai
database besar (Turban, dkk. 2005 di dalam Kusrini, dkk. 2009).
Menurut Gartner Group data mining adalah suatu proses menemukan hubungan yang berarti,
pola dan kecenderungan dengan memeriksa dalam sekumpulan besar data yang tersimpan
dalam penyimpanan dengan menggunakan teknik pengenalan pola seperti teknik statistik dan
matematika (Larose, 2005 di dalam Kusrini, dkk. 2009)
Selain definisi di atas beberpa definisi juga diberikan seperti tertera di bawah ini
“ Data mining adalah serangkaian proses untuk menggali nilai tambah dari suatu kumpulan
data berupa pengetahuan yang selama ini tidak diketahui secara manual”. (Pramudiono, 2006
di dalam Kusrini, dkk. 2009)
“Data mining adalah analisis otomatis dari data yang berjumlah besar atau kompleks dengan
tujuan untuk menemukan pola atau kecenderungan yang penting yang biasanya tidak disadari
keberadaannya”. (Pramudiono, 2006 di dalam Kusrini, dkk. 2009)
“ Data mining merupakan analisis dari peninjauan kumpulan data untuk menemukan
hubungan yang tidak diduga dan meringkas data dengan cara yang berbeda dengan
sebelumnya, yang dapat dipahami dan bermanfaat bagi pemilik data”. (Larose, 2005 di dalam
Kusrini, dkk. 2009)
“Data mining merupakan bidang dari beberapa bidang keilmuan yang menyatukan teknik dari
pembelajaran mesin, pengenalan pola statistik, database, dan visualisasi untuk penanganan
permasalahan pengambilan informasi dari database yang besar”. (Larose, 2005 di dalam
Kusrini, dkk. 2009)
Kemajuan luar biasa yang terus berlanjut dalam bidang data mining didorong oleh beberapa
faktor, antara lain (Larose, 2005 di dalam Kusrini, dkk. 2009)
1. Pertumbuhan yang cepat dalam kumpulan data.
2. Penyimpanan data dalam data warehouse, sehingga seluruh perusahaan memiliki
akses ke dalam database yang handal.
3. Adanya peningkatan akses data melalui navigasi web dan intranet.
4. Tekanan kompetisi bisnis untuk meningkatan penguasaan pasar dalam globalisasi
ekonomi.
5. Perkembangan teknologi perangkat lunak untuk data mining (ketersediaan teknologi)
6. Perkembangan yang hebat dalam kemampuan komputasi dan pengembangan
kapasitas media penyimpanan.
Dari definisi-definisi yang telah disampaikan, hal penting yang terkait dengan data mining
adalah:
1. Data mining merupakan suatu proses otomatis terhadap data yang sudah ada.
Istilah data mining dan knowledge discovery in databases (KDD) sering kali digunakan
secara bergantian untuk menjelaskan proses penggalian informasi tersembunyi dalam suatu
basis data yang besar. Sebenarnya kedua istilah tersebut memiliki konsep yang berbeda,
tetapi berkatian satu sama lain. Salah satu tahapan dalam keseluruhan proses KDD adalah
data mining. Proses KDD secara garis besar dapat dijelaskan sebagai berikut (Fayyad, 1996
dalam Kusrini, dkk. 2009)
1. Data Selection
Pemilihan (seleksi) data dari sekumpulan data operasional perlu dilakukan sebelum tahap
penggalian informasi dalan KDD dimulai. Data hasil seleski yang akan digunakan untuk
proses data mining, disimpan dalam suatu berkas, terpisah dari basis data operasional.
2. Pre-processing/Cleaning
Sebelum proses data mining dapat dilaksanakan, perlu dilakukan proses cleaning pada
data yang mejadi fokus KDD. Proses cleaning mencakup antara lain membuang duplikasi
data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data, seperti
kesalahan cetak (tipografi). Juga dilakukan proses encrichment, yaitu proses
3. Transformation
Coding adalah proses tranformasi pada data yang telah dipilih sehingga data tersebut
sesuai untuk proses data mining. Proses coding dalam KDD merupakan proses kreatif dan
sangat tergantung pada jenis atau pola informasi yang akan dicari dalam basis data.
4. Data mining
Data mining adalah proses mencari pola atau informasi menarik dalam data terpilih
dengan menggunakan gteknik atau metode tertentu. Teknik, metode atau algoritma dalam
data mining sangat bervariasi. Pemuliah metode atau algoritma yang tepat sangat
bergantung pada tujuan dan proses KDD secara keseluruhan.
5. Interpretation/Evaluation
Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan dalam bentuk
yang mudah dimengerti oleh pihak yang berkepentingan. Tahap ini merupakan bagian dari
proses KDD yang disebut interpretation. Tahap ini mencakup pemeriksaan apakah pola
atau informasi yang ditemukan bertentangan dengan fakta atau hipotesis yang ada
sebelumnya.
Clustering sebenarnya merupakan teknik data mining yang digunakan untuk mencari
pengelompokan data, yang tidak memiliki pengelompokkan alami. Pada algoritma clustering,
data akan dikelompokkan menjadi cluster-cluster berdasarkan kemiripan satu data dengan
data yang lain. Dalam hal ini tidak ada patokan tertentu yang digunakan pada algoritma
clustering untuk mencari pengelompokkan data yang ada pada sekumpulan data tersebut.
Data yang dikelompokkan dalam satu cluster memiliki similaritas tinggi, sedangkan antara
satu cluster dengan cluster lainnya memiliki semilaritas rendah.
Konsep terpenting yang harus disadari adalah bahwa proses clustering yang baik akan
menghasilkan cluster dengan kualitas tinggi bila memiliki:
Tingkat kesamaan yang tinggi dalam class (high intra-class similarity)
Tingkat kesamaan yang rendah antar class (low inter-class similarity)
Similarity yang dimaksud merupkan pengukuran secara numerik terhadap dua buah objek.
Nilai similarity ini akan semakin tinggi bila dua objek yang dibandingkan tersebut memiliki
kemiripan yang tinggi pula. Tentunya, perbedaan kualitas suatu hasil clustering ini
bergantung pada metode yang dipakai untuk mengukur kesamaan (similaritas) tersebut serta
implementasinya.
√∑ (
p
2
d= x2 i−x 1 i )
i=1
Dengan :
x1 = sampel data
x2 = data uji
i = varibel data
d = jarak
p = dimensi data
Yang dimaksud dengan bobot field (µk) adalah ukuran kemampuan suatu field ke-k dalam
mempengaruhi jarak antara kedua point. Semakin besar nilai µk, akan semakin besar pula
pengaruhnya terhadap jarak antara kedua point, dan sebaliknya semakin kecil nilai µk, akan
semakin kecil pengaruhnya terhadap jarak antara ke dua point.
Tipe Clustering
Salah satu Density-based clustring methods adalah metoda DBSCAN (Density-Based Spatial
Clustering of Applications with Noise)
DBSCAN adalah salah satu algoritma clustering density-based, algoritma ini pertama kali
dikenalkan oleh Ester, dkk [Ester 1996] di dalam Adriano Moreira, dkk University of Minho
- Portugal. Dalam satu daerah dengan kepadatan titik yang tinggi menggambarkan
keberadaan cluster sedangkan daerah dengan kepadatan titik rendah disebut dengan Noise.
Algoritma ini terutama cocok untuk menangani data yang besar, dengan noise, dan mampu
mengidentifikasi cluster dengan berbagai ukuran dan bentuk.
Ide dasar dari density-based clustering berkaitan dengan beberapa definisi baru
1. Neighborhood dengan radius Eps dari suatu obyek disebut Eps-neighborhood dari
suatu obyek tersebut.
2. Jika Eps-neighborhood dari suatu obyek mengandung titik sekurang-kurangnya
jumlah minimum, MinPts, maka suatu obyek tersebut dinamakan core object
3. Diberikan set obyek D, obyek p dikatakan directly density-reachable (kepadatan
terjangkau langsung) dari obyek q jika p termasuk dalam Eps-neighborhood dari q
dan q adalah core objek.
Ilustrasi directly density-reachable (kepadatan terjangkau langsung)
Gambar density-reachable
5. Sebuah obyek p adalah density-connected terhadap obyek q dengan memperhatikan
Eps dan MinPts dalam set obyek D, jika ada sebuah obyek o elemen D sehingga p dan
q keduanya density-reachable dari o dengan memperhatikan Eps dan MinPts. Gambar
di bawah ini merupakan ilustrasi dari konsep density-connected.
Gambar density-connected
Algoritma DBSCAN
2. Retrieve all points density-reachable from p wrt Eps and MinPts. (Ambil semua point
yang density reachable terhadap titik p)
3. If p is a core point, a cluster is formed. (jika p adalah core point, maka cluster
terbentuk)
4. If p is a border point, no points are density-reachable from p and DBSCAN visits the
next point of the database.
Contoh :
Eps = 4
MinPts = 4
Node (x,y ) dari table diatas direfresentasikan dengan gambar dibawah ini :
Dengan titik tengah (4,4) maka point yang menjadi anggota adalah 5 point yaitu B, C, D, F,
G. Untuk lebih jelasnya dapat dilihat pada tabel berikut :
Iterasi 2
Dengan titik tengah (4,7) maka point yang menjadi anggota adalah 4 point yaitu A, D, F, K.
Untuk lebih jelasnya dapat dilihat pada tabael berikut :
Iterasi 3
Dengan titik tengah (6,9) maka point yang menjadi anggota adalah 6 point yaitu D, G, L,
Q, S dan T. Untuk lebih jelasnya dapat dilihat pada tabael berikut :
Dengan titik tengah (7,12) maka point yang menjadi anggota adalah 7 point yaitu O, P, Q,
S dan W. Untuk lebih jelasnya dapat dilihat pada tabel berikut :
Iterasi 5
Dengan titik tengah (16,7) maka point yang menjadi anggota adalah 5 point yaitu D, I, M
dan N. Untuk lebih jelasnya dapat dilihat pada tabel berikut :
Iterasi 6
Dengan titik tengah (19,8) maka point yang menjadi anggota adalah 5 point yaitu H,I, J, M,
P dan R. Untuk lebih jelasnya dapat dilihat pada tabael berikut :
Iterasi 7
Dengan titik tengah (20,10) maka point yang menjadi anggota adalah 4 point yaitu I, J, M, N.
Untuk lebih jelasnya dapat dilihat pada tabael berikut :
Iterasi 8
Dengan titik tengah (15,21)maka point yang menjadi anggota adalah 2 point yaitu. Untuk
lebih jelasnya dapat dilihat pada tabael berikut :
Dengan cara yang sama hitung jara tiap titik ke titik pusat ke dan kita akan mendapatkan D 21=
4.12, D22=4.27, D23= 1.18, D24= 1.86, D25=1.22, D26=2.62, D27=2.06
b. Dari penghitungan Euclidean distance, kita dapat membandingkan:
M1 M2 M3 M4 M5 M6 M7
jarak ke C1 1.41 1.80 2.06 3.94 4.06 0.94 1.12
C2 4.12 4.27 1.18 1.86 1.22 2.62 2.06
{M1, M2, M6, M7} anggota C1 and {M3, M4, M5} anggota C2
c. Hitung titik pusat baru
Kesimpulan
M1, M2, M6, M7} anggota C1 dan {M3, M4, M5} anggota C2
k-medoid adalah teknik partisi klasik untuk clustering yang melakukan klasterisasi
data dari n objek ke dalam k cluster yang dikenal dengan a priori. Sebuah alat yang berguna
untuk menentukan k adalah silhouette.
k-medoid lebih kuat terhadap noise dan outliner dibandingkan dengan k-means karena
meminimalkan jumlah dari ketidaksamaan bukannya meminimalkan jumlah kuadrat jarak
Euclidean.
medoid dapat didefinisikan sebagai objek cluster, yang rata-rata perbedaan untuk
semua objek dalam suatu cluster minimal yaitu merupakan titik paling pusat dari data yang
diberikan.
Realisasi yang paling umum dari clustering k-medoid adalah Partition Around
Medoids (PAM) dan algoritma adalah sebagai berikut :
Klasterisasi data set yang terdiri dari sepuluh objek menjadi 2 cluster, anggaplah data
set nya adalah dalam 2 dimensi sebagai berikut
X1 2 6
X2 3 4
X3 3 8
X4 4 7
X5 6 2
X6 6 6
X7 7 3
X8 7 4
X9 8 5
X10 7 6
Langkah Pertama
Inisialisasi pusat k
Jadi kita sekarang memiliki c1 dan c2 sebagai medoid, berikutnya kalkulasi jarak
menggunakan rumus jarak minkowski dengan p = 1
n 1
∑ (|x i− y i| )
p p
i=1
Untuk point pertama data objek (2,6) sedangkan data pusat adalah (3,4) jadi total jarak yang
didapat adalah
Dan untuk titik-titik yang lain maka akan mendapatkan jarak sebagai berikut
d
cost ( x , c )=∑ |x−c|
i=1
Dimana
c adalah medoid
total cost adalah perhitungan total dari setiap cost yang dimiliki dalam sebuah cluster
dimana untuk c1 dan c2 total cost adalah
= (3 + 4 + 4) + (3 + 1 + 1 + 2 + 2)
= 20
Mari kita asumsikan O’= (7,3) (ada di c2 maka kita akan tukar c2 dengan O’)
Maka sekarang medoids yang ada adalah c1 (3,4) dan O’(7,3)
Jika c1 dan O’ adalah medoids baru, hitung biaya total yang terlibat
Dengan menggunakan rumus yang sama dengan langkah pertama maka didapatkat
Total cost’ = 3 + 4 + 4 + 2 + 2 + 1 + 3 + 3
Total cost’ = 22
S = 22 – 20 = 2
Karena 2 > 0 maka didapatkan kesimpulan bahwa medoid yang baru tidak lebih baik
dari medoid yang lama, berikut adalah hasil klasterisasi setelah langkah kedua
dilakukan
Lakukanlah langkah 1 dan 2 terus menerus (mengulang langkah 2 sampai 5 pada k-
medoid) sampai akhirnya mendapatkan medoid yang paling bagus (medoid tidak
dirubah lagi) dan algoritma ini pun akan dihentikan.
F. Konsep Dasar Klasifikasi
Aplikasi lain yang penting dari data mining adalah kemampuannya untuk melakukan
proses klasifikasi pada suatu data dalam jumlah besar. Hal ini sering disebut mining
classification rules. Sebagai contoh, sebuah dealer mobil ingin mengkiasifikasikan
pelanggannya menurut kecenderungan mereka untuk menyukai mobil jenis tertentu,
sehingga para sales yang bekerja disitu akan mengetahui siapa yang harus didekati,
kemana katalog mobil jenis baru harus dikirim, sehingga hal ini akan sangat membantu
dalam hal promosi.
Klasifikasi data adalah suatu proses yang menemukan properti-properti yang sama pada
sebuah himpunan obyek di dalarn sebuah basis data, dan mengklasifikasikannya ke
dalam kelas-kelas yang berbeda menurut model klasifikasi yang ditetapkan. Untuk
membentuk sebuah model klasifikasi, suatu sampel basis data 'E' diperlakukan sebagai
training set, dimana setiap tupel terdiri dari himpunan yang sama yang memuat atribut
yang beragam seperti tupel-tupel yang terdapat dalam suatu basis data yang besar 'W'.
Setiap tupel diidentifkasikan dengan sebuah label atau identitas kelas. Tujuan dari
klasifikasi ini adalah pertama-tama untuk menganalisa training data dan membentuk
sebuah deskripsi yang akurat atau sebuah model untuk setiap kelas berdasarkan feature-
feature yang tersedia di dalam data itu. Deskripsi dari masing-masing kelas itu nantinya
akan digunakan untuk mengklasifikasikan data yang hendak di test dalam basis data
'W', atau untuk membangun suatu deskripsi yang lebih baik untuk setiap kelas dalam
basis data. Contoh untuk model ini adalah prediksi terhadap resiko pemberian kredit.
Data terdiri dari orang-orang yang telah menerima kredit. Sebagian kreditur
menjalankan kewajiban dengan baik, dan sebagian lagi tidak. Data mining, harus
mampu mendefinisikan atribut-atribut apa yang paling berpengaruh.
G. Algoritma NAÏVE BAYES
Bayesian classification adalah pengklasifikasian statistik yang dapat digunakan
untuk memprediksi probabilitas keanggotaan suatu class.
BC didasarkan pada teorema Bayes yg memiliki kemampuan klasifikasi serupa
dengan decision tree dan neural network
Memiliki akurasi dan kecepatan yg tinggi saat diaplikasikan ke dalam database
yg besar
Bentuk Umum Teorema Bayes
P(H I X) = P(X I H) P(H)
P(X)
Keterangan :
X : data dgn class yg belum diketahui
H : hipotesis data X
P(HIX) : probabilitas hipotesis H berdasar kondisi X
(posteriori probability)
P(H) : probabilitas hipotesis H (prior porbability)
P(XIH) : probabilitas X berdasar kondisi pada hipotesis H
P(X) : probabilitas dari X
Contoh Soal :
IPK
JENIS STATUS STATUS STATUS
NO Semester
KELAMIN MAHASISWA PRENIKAHAN KELULUSAN
1-6
1 LAKI - LAKI MAHASISWA BELUM 3.17 TEPAT
2 LAKI - LAKI BEKERJA BELUM 3.30 TEPAT
3 PEREMPUAN MAHASISWA BELUM 3.01 TEPAT
4 PEREMPUAN MAHASISWA MENIKAH 3.25 TEPAT
5 LAKI - LAKI BEKERJA MENIKAH 3.20 TEPAT
6 LAKI - LAKI BEKERJA MENIKAH 2.50 TERLAMBAT
7 PEREMPUAN BEKERJA MENIKAH 3.00 TERLAMBAT
8 PEREMPUAN BEKERJA BELUM 2.70 TERLAMBAT
9 LAKI - LAKI BEKERJA BELUM 2.40 TERLAMBAT
10 PEREMPUAN MAHASISWA MENIKAH 2.50 TERLAMBAT
11 PEREMPUAN MAHASISWA BELUM 2.50 TERLAMBAT
12 PEREMPUAN MAHASISWA BELUM 3.50 TEPAT
13 LAKI - LAKI BEKERJA MENIKAH 3.30 TEPAT
Tabel Data Training :
Jawaban :
Tahap 1 menghitung jumlah class/label
P(Y= TEPAT) = 8/15
(jumlah data “TEPAT” pada komom ‘STATUS KELULUSAN’ dibagijumlah data)
P(Y= TERLAMBAT) = 7/15
(jumlah data “TERLAMBAT” pada komom ‘STATUS KELULUSAN’dibagi jumlah
data)
Tahap 2 menghitung jumlah kasus yang sama dengan class yang sama
Keterangan :
S : himpunan kasus
A : atribut
n : jumlah partisi atribut A
|Si| : jumlah kasus pada partisi ke-i
|S| : jumlah kasus dalam S
Rumus untuk menghitung Nilai Entropy
n
entropy ( S )=∑ − pi *log 2 pi
i=1
Keterangan :
S : himpunan kasus
A : fitur
n : jumlah partisi
Pi : proporsi dari Si terhadap S
Contoh Soal : Buat Pohon keputusan dari tabel dibawah ini
Dari perhitungan Nilai Gain Humadity adalah nilai tertinggi sehingga menjadi akar
dari pohon.
Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus untuk
keputusan No, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan
atribut OUTLOOK, TEMPERATURE dan WINDY yang dapat menjadi node akar
dari nilai atribut HIGH.
Jumlah kasus : 7
Jumlah kasus untuk keputusan yes : 4
Jumlah kasus untuk keputusan no : 3
Gain tertinggi : outlook
Outlook menjadi akar
Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus untuk
keputusan No, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan
atribut TEMPERATURE dan WINDY yang dapat menjadi node cabang dari nilai
atribut RAINY.
Gain tertinggi : windy
Windy menjadi akar
I. Algoritma KNN (K-Nearest Neighbor)
Nilai k yang terbaik untuk algoritma ini tergantung pada data; secara umumnya, nilai k
yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara
setiap klasifikasi menjadi lebih kabur. Nilai k yang bagus dapat dipilih dengan optimasi
parameter, misalnya dengan menggunakan cross-validation. Kasus khusus di mana
klasifikasi diprediksikan berdasarkan data pembelajaran yang paling dekat (dengan kata
lain, k = 1) disebut algoritma nearest neighbor. Berikut rumus pencarian jarak
menggunakan rumus Euclediean Distence
√∑ (
p
2
d= x2 i−x 1 i )
i=1
Dengan :
x1 = sampel data
x2 = data uji
i = varibel data
d = jarak
p = dimensi data
Ketepatan algoritma KNN ini sangat dipengaruhi oleh ada atau tidaknya fitur-fitur yang
tidak relevan, atau jika bobot fitur tersebut tidak setara dengan relevansinya terhadap
klasifikasi. Riset terhadap algoritma ini sebagian besar membahas bagaimana memilih
dan memberi bobot terhadap fitur, agar performa klasifikasi menjadi lebih baik.
Kita mempunyai data dari survey kuesioner (dengan meminta pendapat masyarakat)
dan testing objektif dengan dua atribut (acid durability and strength) untuk
mengklasifikasi apakah suatu bahan pembuat kertas baik atau tidak. Dengan data yang
telah ada adalah sebagai berikut:
Sekarang pabrik ingin menghasilkan sebuah bahan kertas yang melewati uji
laboratorium dengan x1=3 dan x2 = 7.
Tentukan parameter K = jumlah tetangga terdekat, misal kita gunakan K = 3.
Hitung jarak antara instance query dengan semua sampel pelatihan, koordinat
instance query adalah (3, 7).
Gunakan mayoritas kecil dari kategori tetangga terdekat sebagai nilai prediksi
dari instance query.
7 7 4 3 Yes Bad
7 4 5 4 No -
3 4 3 1 Yes Good
Kita mempunyai 2 good dan 1 bad, karena 2 > 1 maka kita simpulkan bahwa
bahan kertas yang baru yang melewati tes uji laboratorium dengan X1 = 3 dan
X2 = 7 termasuk dalam kategori Good.
Metoda Konversi Atribut Nominal Ke Atribut Numerik
Ada 2 metoda yang digunakan untuk mengkonversi atribut nominal ke atribut numerik
Contoh Kedua
Ada 5 data yang menunjukkan kelas apakah orang tersebut RESPONSE atau NO
RESPONSE
John, Rachel, Hannah, Tom, Nellie, kemudian diinputkan data baru yaitu David.
John 35 35K 3 NO
Hannah 63 200K 1 NO
Tom 59 170K 1 NO
John
Rachel
Hannah
Tom
.75
Nellie
37 50K 2 YES
David
Berdasarkan perhitungan jarak dan nilai K = 3, artinya hanya diambil 3 yang memiliki
jarak terpendek dari lima data yang disajikan. Ketiga data yang jaraknya terpendik yaitu
15.S6; 15; 15.75 dan kelas responsenya YES, NO, YE. Kesimpulan yang dapat ditarik
David masuk dalam kelas RESPONSE YES
Normalisasi Variabel
Normalisasi yaitu membagi nilai variabel dengan nilai yang tertinggi dari data yang
ada.
Dari contoh di atas ada 24 data X1 dan X2 dan Kelas yang di cari adalah Y (positif atau
negatif)
Data baru X1 = 4; X2 = 7 dengan K = 8
Dari hasil perhitungan dapat ditarik kesimpulan data X1 = 4 dan X2 = 7 termasuk
dalam kelas NEGATIF.
DAFTAR PUSTAKA