Slide 3 Pengetahuan Data Mining
Pengetahuan Data Mining
Latar belakang
- Data Mining memang salah satu cabang ilmu komputer yang relatif baru. Dan sampai sekarang orang masih memperdebatkan untuk menempatkan data mining di bidang ilmu mana, karena data mining menyangkut database, kecerdasan buatan (artificial intelligence), statistik, dsb.
Latar belakang
- Kehadiran data mining dilatar belakangi dengan problema data explosion yang dialami akhir-akhir ini dimana banyak organisasi telah mengumpulkan data sekian tahun lamanya (data pembelian, data penjualan, data nasabah, data transaksi dsb.).
- Hampir semua data tersebut dimasukkan dengan menggunakan aplikasi komputer yang digunakan untuk menangani transaksi sehari-hari yang kebanyakan adalah OLTP (On Line Transaction Processing).
Latar belakang
• Jika Anda mempunyai kartu kredit, sudah pasti Anda bakal sering
menerima surat berisi brosur penawaran barang atau jasa. Jika
Bank pemberi kartu kredit Anda mempunyai 1.000.000 nasabah,dan mengirimkan sebuah (hanya satu) penawaran dengan biaya
pengiriman sebesar Rp. 1.000 per buah maka biaya yang dihabiskan adalah Rp. 1 Milyar!!- Jika Bank tersebut mengirimkan penawaran sekali sebulan yang
berarti 12x dalam setahun maka anggaran yang dikeluarkan per
tahunnya adalah Rp. 12 Milyar!! Dari dana Rp. 12 Milyar yang
dikeluarkan, berapa persenkah konsumen yang benar-benar membeli? Mungkin hanya 10 %-nya saja. Secara harfiah, berarti 90% dari dana tersebut terbuang sia-sia.
Defnisi
• Beberapa faktor dalam pendefnisian
data mining:– data mining adalah proses otomatis
terhadap data yang dikumpulkan di masa lalu– objek dari data mining adalah data
yang berjumlah besar atau kompleks- – tujuan dari data mining adalah menemukan hubungan-hubungan atau pola-pola yang mungkin
Defnisi
- Defnisi data mining
adalah serangkaian proses
- – Data mining
untuk menggali nilai tambah dari suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara manual.
- – Data mining adalah analisa otomatis dari
data yang berjumlah besar atau kompleks dengan tujuan untuk menemukan pola atau kecenderungan yang penting yang biasanya tidak disadari keberadaannya
Contoh Aplikasi
Perusahaan transportasi memining data customer untuk mengelompokan customer yang memiliki nilai tinggi yang perlu diprioritaskan.
Datamining di DB vs Independen
- Oracle 9i
- MS SQL Server • IBM Intelligent Miner V7R1
- NCR Teraminer • Kelebihan dan Kerugiannya?
Data Mining dan Business Intelligence Semakin mendukung pengambilan keputusan
End User Pengambil an Keputusan Business Presentasi Data Analyst
Teknik Visualiasi Data Data Mining Analyst
Penemuan Informasi Eksplorasi Data
Statistical Summary, Querying, and Reporting Data Preprocessing/Integrasi, Data Warehouses DBA Sumber Data
Ilmu
Teknologi DB Statistik
Machine Learning
Pattern Recognition
Algoritma Ilmu Lain
Visualisasi
Data Mining
Mengapa tidak analisis data biasa?
- Jumlah data yang sangat besar
- – Algoritma harus scalable untuk menangani data yang sangat besar (tera)
- Dimensi yang sangat besar: ribuan feld
- Data Kompleks – Aliran data dan sensor
- – Data terstruktur, graph, social networdk, multi-linked data
- – Database dari berbagai sumber, database lama
- – Spasial (peta), multimedia, text, web
- – Software Simulator
Kategori dalam Data mining
- Classifcation • Clustering
- Statistical Learning • Association Analysis • Link Mining • Bagging and Boosting • Sequential Patterns • Integrated Mining • Rough Sets • Graph Mining
Classifcation
- Klasifiasi adalah suatu proses
pengelom-pokan data dengan
didasarkan pada ciri-ciri tertentu ke
dalam kelas-kelas yang telah ditentukan pula.- Dua metode yang cukup dikenal dalam klasifkasi, antara lain:
- – Naive Bayes – K Nearest Neighbours (kNN)
Classifcation
- Teorema Bayes: P(C|X) = P(X|C)·P(C) / P(X)
- – P(X) bernilai konstan utk semua klas
- – P(C) merupakan frek relatif sample klas C
- Masalah: menghitung P(X|C) tidak
Classifcation
- Apabila diberikan k atribut yang saling bebas (independence), nilai probabilitas dapat diberikan sebagai berikut. P(x ,…,x |C) = P(x |C) x … x P(x |C)
1 k 1 k
- Jika atribut ke-i bersifat diskret, maka P(x |C) diestimasi sebagai frekwensi
i
relatif dari sampel yang memiliki nilai x
i
Classifcation
- Namun jika atribut ke-i bersifat kontinu, maka P(x |C) diestimasi
i
dengan fungsi densitas Gauss. 2 x 2
1
2 f ( x ) e
2
dengan = mean, dan = deviasi
Classifcation
- Contoh:
– Untuk menetapkan suatu daerah akan
dipilih sebagai lokasi untuk mendirikan perumahan, telah dihimpun 10 aturan.- – Ada 4 atribut yang digunakan, yaitu:
- jarak daerah tersebut dari pusat kota (C2),
- Keberadaan angkutan umum di daerah tersebut (C3), dan
- keputusan untuk memilih daerah tersebut
Naïve Bayesian Classifcation
- – Tabel Aturan
Jarak dari Ada angkutan Dipilih untuk Harga tanah
Aturan ke- pusat kota umum perumahan
(C1)(C2) (C3) (C4)
1 Murah Dekat Tidak Ya
2 Sedang Dekat Tidak Ya
3 Mahal Dekat Tidak Ya
4 Mahal Jauh Tidak Tidak
5 Mahal Sedang Tidak Tidak
6 Sedang Jauh Ada Tidak
7 Murah Jauh Ada Tidak
8 Murah Sedang Tidak Ya
9 Mahal Jauh Ada Tidak
10 Sedang Sedang Ada Ya
Classifcation
- – Probabilitas kemunculan setiap nilai untuk atribut
Harga Tanah (C1)
Harga tanah Jumlah kejadian
“Dipilih” Probabilitas
Ya Tidak Ya Tidak Murah
2 1 2/5 1/5 Sedang Mahal
1 3 1/5 3/5
Jumlah
5
5
1
1
Classifcation
- – Probabilitas kemunculan setiap nilai untuk atribut
Jarak dari pusat kota (C2)
Jumlah kejadian Probabilitas
“Dipilih” Harga tanah
Ya Tidak Ya Tidak Dekat
3 3/5
Sedang Jauh
4 4/5
Jumlah
5
5
1
1
Classifcation
- – Probabilitas kemunculan setiap nilai untuk atribut Ada
angkutan umum (C3)
Harga tanah Jumlah kejadian
“Dipilih” Probabilitas
Ya Tidak Ya Tidak Ada
1 3 1/5 3/5 Tidak
Jumlah
5
5
1
1
Classifcation
- – Probabilitas kemunculan setiap nilai untuk atribut
Dipilih untuk perumahan (C4)
Harga tanah Jumlah kejadian
“Dipilih” Probabilitas
Ya Tidak Ya Tidak
Jumlah
5 5 1/2 1/2
Classifcation
- Berdasarkan data tersebut, apabila diketahui suatu daerah dengan harga tanah MAHAL, jarak dari pusat kota SEDANG, dan ADA angkutan umum, maka dapat dihitung:
- – Likelihood Ya = 1/5 x 2/5 x 1/5 x 5/10 = 2/125 = 0,008
- – Likelihood Tidak = 3/5 x 1/5 x 3/5 x 5/10 = 2/125 = 0,036
Classifcation
- Nilai probabilitas dapat dihitung dengan melakukan normalisasi terhadap likelihood tersebut sehingga jumlah nilai yang diperoleh = 1.
- – Probabilitas Ya =
- – Probabilitas Tidak =
. 182 , , 008 036 , 008 ,
. 818 , , 008 036 , 036 ,
Classifcation
- – Modifkasi data
Aturan ke- Harga tanah (C1)
Jarak dari
pusat kota(C2) Ada angkutan umum (C3) Dipilih untuk perumahan (C4) 1 100
2 Tidak Ya 2 200
1 Tidak Ya 3 500
3 Tidak Ya 4 600
20 Tidak Tidak 5 550
7
75
8
80
10 Tidak Ya 9 700
18 Ada Tidak 10 180
Classifcation
- – Probabilitas kemunculan setiap nilai untuk atribut
Harga Tanah (C1)
Ya Tidak 1 100 600 2 200 550 3 500 250
4
80
75 5 180 700 Mean ()
Deviasi standar () 212
168,8787 435
261,9637
Classifcation
- – Probabilitas kemunculan setiap nilai untuk atribut
Jarak dari pusat kota (C2)
Ya Tidak
1
2
20
2
1
8
3
3
25
4
10
15
5
8
18 Mean () 4,8 17,2
3,9623 6,3008 Deviasi standar ()
Classifcation
- Berdasarkan hasil penghitungan tersebut, apabila diberikan C1 = 300, C2 = 17, C3 = Tidak, maka:
. 0021 , e ) 8787 , 168 (
2
1 ) ya | 300 ( 1 C f 2 2 ) 8787 , 168 ( 2 212 300
. 0013 , e ) 261.9637 (
2
1
) tidak | 300 ( 1 C f 2 2 ) 261.9637 ( 2 435 300 . 0009 , e ) 3.9623 (
2
1 ) ya | 17 ( 2 C f 2 2 ) 3.9623 ( 2 8 , 4 17
. 0633 , e
1 ) tidak | 17 ( 2 C f 2 2 ) 6,3008 ( 2 2 , 17 17
Classifcation
- Sehingga:
- – Likelihood Ya = (0,0021) x (0,0009) x 4/5 x 5/10 = 0,000000756.
- – Likelihood Tidak = (0,0013) x (0,0633) x 2/5 x 5/10 = 0,000016458.
- Nilai probabilitas dapat dihitung dengan melakukan normalisasi terhadap likelihood tersebut sehingga jumlah nilai yang diperoleh = 1.
- – Probabilitas Ya =
0,00000075
6 , 0439 .
0,00000075 6 0,00001645
8 0,00001645
8 , 9561 .
- – Probabilitas Tidak =
K-Nearest Neighbor - 1
- Konsep dasar dari K-NN adalah mencari
jarak terdekat antara data yang akan dievaluasi dengan K tetangga terdekatnya dalam data pelatihan.
- Penghitungan jarak dilakukan dengan konsep Euclidean.
- Jumlah kelas yang paling banyak dengan jarak terdekat tersebut akan menjadi kelas dimana data evaluasi tersebut berada.
K-Nearest Neighbor - 2
- Algoritma
- – Tentukan parameter K = jumlah tetangga terdekat.
- – Hitung jarak antara data yang akan dievaluasi dengan semua data pelatihan.
- – Urutkan jarak yang terbentuk (urut naik) dan tentukan jarak terdekat sampai urutan ke-K.
- – Pasangkan kelas (C) yang bersesuaian.
- – Cari jumlah kelas terbanyak dari tetangga terdekat tersebut, dan tetapkan kelas tersebut sebagai kelas data yang dievaluasi.
Clustering
- Clustering adalah proses pengelompokan objek yang didasarkan pada kesamaan antar ob
- Tidak seperti proses klasifkasi yang bersifat
supervised learning, pada clustering proses
pengelompokan dilakukan atas dasar unsupervised learning.
- Pada proses klasifkasi, akan ditentukan lokasi dari suatu kejadian pada klas tertentu dari beberapa klas yang telah teridentifkasi sebelumnya.
- Sedangkan pada proses clustering, proses pengelompokan kejadian dalam klas akan dilakukan secara alami tanpa mengidentifkasi klas-klas sebelumnya.
Clustering
- Suatu metode clustering dikatakan baik apabila metode tersebut dapat menghasilkan cluster- cluster dengan kualitas yang sangat baik.
- Metode tersebut akan menghasilkan cluster- cluster dengan objek-objek yang memiliki tingkat kesamaan yang cukup tinggi dalam suatu cluster, dan memiliki tingkat ketidaksamaan yang cukup tinggi juga apabila objek-objek tersebut terletak pada cluster yang berbeda.
- Untuk mendapatkan kualitas yang baik, metode clustering sangat tergantung pada ukuran kesamaan yang akan digunakan dan kemampuannya untuk menemukan beberapa pola yang tersembunyi.
K-Means
- Konsep dasar dari K-Means adalah
pencarian pusat cluster secara iteratif.
- Pusat cluster ditetapkan berdasarkan jarak setiap data ke pusat cluster.
- Proses clustering dimulai dengan mengidentifkasi data yang akan dicluster, x (i=1,...,n; j=1,...,m) dengan
ij n adalah jumlah data yang akan dicluster dan m adalah jumlah variabel.
K-Means
- Pada awal iterasi, pusat setiap cluster ditetapkan secara bebas (sembarang), c (k=1,...,K; kj j=1,...,m).
- Kemudian dihitung jarak antara setiap data dengan setiap pusat cluster.
- Untuk melakukan penghitungan jarak data ke-i
(X ) pada pusat cluster ke-k (C ), diberi nama (d ), i k ik dapat digunakan formula Euclidean, yaitu:
m
2 d x c ik ij kj
j
1
K-Means
- Suatu data akan menjadi anggota dari cluster ke-J apabila jarak data tersebut ke pusat cluster ke-J bernilai paling kecil jika dibandingkan dengan jarak ke pusat cluster lainnya.
- Selanjutnya, kelompokkan data-data yang menjadi anggota pada setiap cluster.
- Nilai pusat cluster yang baru dapat dihitung dengan cara mencari nilai rata-rata dari data- data yang menjadi anggota pada cluster tersebut, dengan rumus: p
y hj h 1 c ; y x cluster ke k kj hj ij p
K-Means
- – Tentukan jumlah cluster (K), tetapkan pusat cluster sembarang.
Algoritma:
- – Hitung jarak setiap data ke pusat cluster.
- – Kelompokkan data ke dalam cluster yang dengan jarak yang paling pendek.
- – Hitung pusat cluster.
- – Ulangi langkah 2 - 4 hingga sudah tidak ada lagi data yang berpindah ke cluster yang lain.
Penentuan Jumlah Cluster
- Salah satu masalah yang dihadapi pada proses clustering adalah pemilihan jumlah cluster yang optimal. Kaufman dan Rousseeuw (1990)
- memperkenalkan suatu metode untuk menentukan jumlah cluster yang optimal, metode ini disebut dengan silhouette measure.
- Misalkan kita sebut A sebagai cluster dimana data X berada, hitung ai sebagai rata-rata jarak X ke i i semua data yang menjadi anggo
- selain A.
Anggaplah bahwa C adalah sembarang cluster
Penentuan Jumlah Cluster
- Hitung rata-rata jarak antara X dengan data yang i menjadi anggota dari C, sebut sebagai d(X , C). i
- Cari rata-rata jarak terkecil dari semua cluster, sebut sebagai b , b = min(d(X ,C)) dengan CA. i i i
- Silhoutte dari X , sebut sebagai s dapat dipandang i i sebagai berikut (Chih-Ping, 2005):
• Rata-rata si untuk semua data untuk k
cluster tersebut disebut sebagai rata-
• Nilai rata-rata silhouette terbesar pada
jumlah cluster (katakanlah: k) menunjukkan bahwa k merupakan jumlah cluster yang optimal.
a a b i i i 1 ,
b i s , a b i i i
b a b i i i
1 ,
Penentuan Jumlah Cluster
s~ k rata silhouette ke-k, .