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

  • ClassifcationClustering
  • 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

    >Dicari P(C|X) bernilai maksimum, sama halnya dengan P(X|C)·P(C) juga bernilai maksimum
  • 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:

    >harga tanah per meter persegi (C1),
  • 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 hjh 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 CA. i i i
  • Silhoutte dari X , sebut sebagai s dapat dipandang i
  • i sebagai berikut (Chih-Ping, 2005):

       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

    • • Rata-rata si untuk semua data untuk k

      cluster tersebut disebut sebagai rata-

      s~ k rata silhouette ke-k, .

    • • Nilai rata-rata silhouette terbesar pada

      jumlah cluster (katakanlah: k) menunjukkan bahwa k merupakan jumlah cluster yang optimal.