Klasifikasi.

Slides:



Advertisements
Presentasi serupa
KNOWLEGDE DISCOVERY in DATABASE (KDD)
Advertisements

Pohon Keputusan (Decision Tree)
Kesimpulan BUKU Data Mining
Diadaptasi dari slide Jiawei Han
Peran Utama Data Mining
Ujian Akhir Semester (UAS)
BAYESIAN CLASSIFICATION
Klasifikasi (Season 1) Naive Bayes
Marselina Silvia Suhartinah / 4IA05
Oleh : Devie Rosa Anamisa
Data Mining: Klasifikasi dan Prediksi Naive Bayesian & Bayesian Network . April 13, 2017.
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Decision Tree.
NIPRL 1.4 Probabilitas Bersyarat Definisi Probabilitas Bersyarat(1/2) Probabilitas Bersyarat Probabilitas bersyarat kejadian A pada kejadian B adalah.
Distribusi Binomial. 2 Pendahuluan Diantara sekian banyak distribusi barangkali distribusi normal merupakan distribusi yang secara luas banyak digunakan.
A rsitektur dan M odel D ata M ining. Arsitektur Data Mining.
Data Mining Algoritma C4.5. Penjelasan metode Kelebihan dan kekurangan.
Naive Bayesian & Bayesian Network
DATA MINING (Machine Learning)
Sistem Berbasis Fuzzy Materi 4
Decision Tree.
Teorema Bayes - #4 PAC175 (3 sks) DATA MINING Nurdin Bahtiar, S.Si, MT.
STUDI KASUS KLASIFIKASI Algoritma C 4.5
MUHAMMAD RAFI MUTTAQIN G
Peran Utama Data Mining
Martin Budi G Di Bawah Bimbingan Rindang Karyadin, S.T., M.Kom.
PEMBUATAN POHON KEPUTUSAN
Algoritma C4.5. Algoritma C4.5 Object-Oriented Programming Introduction Algoritma C4.5 merupakan algoritma yang digunakan.
Data Mining Junta Zeniarja, M.Kom, M.CS
Decision Tree Classification.
Decision Tree Classification.
Bayes’ Theorem: Basics
Data Mining.
Konsep Data Mining Ana Kurniawati.
Klasifikasi Berdasarkan Teorema Bayes
Data Mining: Klasifikasi Naive Bayesian & Bayesian Network
Naïve Bayes Classification.
Pohon Keputusan (Decision Trees)
Business Intelligent Ramos Somya, S.Kom., M.Cs.
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Classification Supervised learning.
Naïve Bayes Classification.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
.:: NAive bayes ::. DSS - Wiji Setiyaningsih, M.Kom.
Analisis Klastering K-Means Model Datamining Kelompok 1 Eko Suryana
PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
MIK | FAKULTAS ILMU-ILMU KESEHATAN
Data Mining DATA SET. Set Data Ada bermacam –macam cara untuk merepresentasikan data, Misalnya, atribut yang digunakan untuk menggambarkan jenis objek.
DATA MINING with W E K A.
Data Mining.
KLASIFIKASI.
Machine Learning Naïve Bayes
Anggota Dwita Eprila ( ) Mayang Hermeiliza Eka Putri ( ) Nadiah Amelia ( ) Rafif Abdusalam ( ) Shofyan.
Perancangan Sistem Klasifikasi Masa Studi Mahasiswa Menggunakan Data Mining Berbasis Algoritma ID3 (Studi Kasus:Jurusan Teknik Komputer –Unikom) Oleh:
Data Mining: Klasifikasi dan Prediksi Naive Bayesian & Bayesian Network . November 8, 2018.
DATA PREPARATION Kompetensi
Oleh: Selvia Lorena Br Ginting
Decision Tree Pertemuan : 13.
Arsitektur dan Model Data Mining
TEKNIK KLASIFIKASI DAN PENGENALAN POLA
Pertemuan 1 & 2 Pengantar Data Mining 12/6/2018.
DATA PREPARATION.
KLASIFIKASI.
Konsep Data Mining Ana Kurniawati.
Information Retrieval “Document Classification dengan Naive Bayes”
Pertemuan 10.
DECISION SUPPORT SYSTEM [MKB3493]
Universitas Gunadarma
Data Mining Classification.
Universitas Gunadarma
Transcript presentasi:

Klasifikasi

Pengantar Classification Prediction Aplikasi Memprediksi kelas suatu item Membuat model berdasarkan data pelatihan dan digunakan untuk mengklasifikasi data. Prediction Memprediksi nilai yang belum diketahui Aplikasi Persetujuan kredit Diagnosis penyakit Target marketing Fraud detection

Contoh Kasus Input: data mahasiswa Output: dua kelas (lulus_tepat_waktu dan lulus_terlambat) Bagaimana kalau diberikan data input mahasiswa, sistem secara otomatis menentukan mhs tersebut akan lulus tepat waktu atau terlambat?

Pembuatan Model Algoritma Klasifikasi Data Pelatihan Classifier IF IPK > 3 OR MATDAS =A THEN tepat_waktu = ‘yes’

Proses Testing Model Classifier (MODEL) Testing Data Sejauh mana model tepat meramalkan?

Proses Klasifikasi Lulus tepat waktu? Classifier (MODEL) Data Baru (Tatang, 3.0, A) Lulus tepat waktu?

Proses pembuatan model Proses testing model Proses klasifikasi Data latihan  Model Klasifikasi Proses testing model Data testing  Apakah model sudah benar? Proses klasifikasi Data yang tidak diketahui kelasnya  kelas data

Sebelum Klasifikasi Data cleaning Preprocess data untuk mengurangi noise dan missing value Relevance analysis (feature selection) Memilih atribut yang penting Membuang atribut yang tidak terkait atau duplikasi. Data transformation Generalize and/or normalize data

Evaluasi Metode Klasifikasi Akurasi classifier accuracy: memprediksi label kelas predictor accuracy: memprediksi nilai atribut kecepatan Waktu untuk membuat model (training time) Waktu untuk menggunakan model (classification/prediction time) Robustness: menangai noise dan missing value. Scalability: efisien untuk proses dengan DBMS Interpretability Model mudah dimengerti Slide berikutnya… salah satu metode: decision tree

Decision Tree

Proses Klasifikasi Dalam Data Mining Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Model itu sendiri bisa berupa aturan “jika-maka”, berupa decision tree, formula matematis atau neural network. (Iko Pramudiono, Modul Pengantar Data Mining, www.ilmukomputer.com) Proses klasifikasi biasanya dibagi menjadi dua fase : learning dan test. Pada fase learning, sebagian data yang telah diketahui kelas datanya diumpankan untuk membentuk model perkiraan. Kemudian pada fase test model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tsb. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui. Klasifikasi dicirikan dengan data training mempunyai label, berdasarkan label ini proses klasifikasi memperoleh pola attribut dari suatu data.

Proses Klasifikasi Dalam Data Mining X Y Kelas 1 2 Kelas 1 Kelas 2

Proses Klasifikasi Dapat Menjadi Sebuah Tree X Y Kelas 1 2 X 1 Kelas=1 Kelas=2

Proses Klasifikasi Dapat Menjadi Sebuah Tree X Y Z Kelas 2 1 X 1 Y Kelas=2 1 Kelas=2 Kelas=1

Konsep Decision Tree Data Decision Tree Rule Mengubah data menjadi pohon keputusan (decision tree) dan aturan-aturan keputusan (rule) Data Decision Tree Rule Berat overweight average Jenis Kelamin Tidak underweight pria wanita Ya Usia muda tua Ya/Tidak R1: IF berat=average v berat=underweight THEN hipertensi=tidak R2: IF berat=overweight^kelamin=wanita THEN hipertensi=ya R3: IF berat=overweigt^kelamin=pria^ usia=muda THEN hipertensi=ya R4: IF berat=overweigt^kelamin=pria^ usia=tua THEN hipertensi=tidak Nama Usia Berat Kelamin Hipertensi Ali muda overweight pria ya Edi underweight tidak Annie average wanita Budiman tua Herman Didi Rina Gatot

Gambaran Pemakaian Decision Tree Membuat aturan (rule) yang dapat digunakan untuk menentukan apakah seseorang mempunyai potensi untuk menderita hipertensi atau tidak berdasarkan data usia, berat badan dan jenis kelamin. # Usia Berat Badan Kelamin Hipertensi 1 muda overweight pria ya 2 underweight tidak 3 average wanita 4 tua 5 6 7 8

Gambaran Pemakaian Decision Tree Berat overweight average Jenis Kelamin Tidak underweight pria wanita Ya Usia muda tua R1: IF berat=average v berat=underweight THEN hipertensi=tidak R2: IF berat=overweight^kelamin=wanita THEN hipertensi=ya R3: IF berat=overweigt^kelamin=pria^ usia=muda THEN hipertensi=ya R4: IF berat=overweigt^kelamin=pria^ usia=tua THEN hipertensi=tidak

Konsep Data Dalam Decision Tree Data dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Misalkan untuk menentukan main tenis, kriteria yang diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut. Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan.

Konsep Data Dalam Decision Tree Nama Cuaca Angin Temperatur Main Ali cerah keras panas tidak Budi lambat ya Heri berawan sedang Irma hujan dingin Diman Sample attribut Target atribut

Proses Dalam Decision Tree Mengubah bentuk data (tabel) menjadi model tree. Dalam Modul ini menggunakan algoritma ID3. Mengubah model tree menjadi rule Menyederhanakan Rule (Pruning)

Proses Data Menjadi Tree Indentity Atribut Atribut 1 Atribut 2 Atribut 3 ...... Atribut n Target   Atribut #1 Atribut #2 Subset 1 Subset 2 Subset 3

Entropy S adalah ruang (data) sample yang digunakan untuk training. P+ adalah jumlah yang bersolusi positif (mendukung) pada data sample untuk kriteria tertentu. P- adalah jumlah yang bersolusi negatif (tidak mendukung) pada data sample untuk kriteria tertentu. Besarnya Entropy pada ruang sample S didefinisikan dengan: Entropy(S) = -p+ log2 p+ - p- log2 p-

Definisi Entropy -p+ log2 p+ - p- log2 p- Entropy(S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sample S. Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai Entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas. Panjang kode untuk menyatakan informasi secara optimal adalah –log2 p bits untuk messages yang mempunyai probabilitas p. Sehingga jumlah bit yang diperkirakan untuk mengekstraksi S ke dalam kelas adalah: -p+ log2 p+ - p- log2 p-

Contoh Permasalahan Penentuan Hipertensi Menggunakan Decision Tree Data diambil dengan 8 sample, dengan pemikiran bahwa yang mempengaruhi seseorang menderita hipertensi atau tidak adalah usia, berat badan, dan jenis kelamin. Usia mempunyai instance: muda dan tua Berat badan mempunyai instance: underweight, average dan overweight Jenis kelamin mempunyai instance: pria dan wanita

Data Sample yang Digunakan Untuk Menentukan Hipertensi Nama Usia Berat Kelamin Hipertensi Ali muda overweight pria ya Edi underweight tidak Annie average wanita Budiman tua Herman Didi Rina Gatot Langkah Mengubah Data Menjadi Tree Menentukan Node Terpilih Menyusun Tree

Menentukan Node Terpilih Untuk menentukan node terpilih, gunakan nilai Entropy dari setiap kriteria dengan data sample yang ditentukan. Node terpilih adalah kriteria dengan Entropy yang paling kecil.

Memilih Node Awal Usia = muda Usia = tua Entropy untuk Usia: Usia Hipertensi Jumlah muda Ya (+) 1 Tidak (-) 3 tua ya 2 tidak Usia = muda Usia = tua Entropy untuk Usia:

Memilih Node Awal Entropy = 0.91 Entropy = 0.41 Usia Hipertensi Jumlah muda ya 1 tidak 3 tua 2 Berat Hipertensi Jumlah overweight ya 3 tidak 1 average 2 underweight Entropy = 0.91 Kelamin Hipertensi Jumlah pria ya 2 tidak 4 wanita 1 Entropy = 0.41 Terpilih atribut BERAT BADAN sebagai node awal karena memiliki entropy terkecil Entropy = 0.94

Penyusunan Tree Awal Berat overweight average Ali (+) Budiman (-) Herman (+) Rina (+) Annie (-) Gatot (-) underweight Didi (-) Edi (-) Leaf Node berikutnya dapat dipilih pada bagian yang mempunyai nilai + dan -, pada contoh di atas hanya berat=overweight yang mempunyai nilai + dan – maka semuanya pasti mempunya leaf node. Untuk menyusun leaf node lakukan satu-persatu.

Penentuan Leaf Node Untuk Berat=Overweight Data Training untuk berat=overweight Nama Usia Kelamin Hipertensi Ali muda pria ya Budiman tua tidak Herman Rina wanita Usia Hipertensi Jumlah muda ya 1   tidak tua 2 Entropy = 0,69 Kelamin Hipertensi Jumlah pria ya 2   tidak 1 wanita Entropy = 0,69

Penyusunan Tree Berat Jenis Kelamin overweight average Tidak underweight pria wanita Ali (+) Budiman (-) Herman (+) Rina (+) Leaf Node Usia dan Jenis Kelamin memiliki Entropy yang sama, sehingga tidak ada cara lain selain menggunakan pengetahuan pakar atau percaya saja pada hasil acak.

Hasil Tree Berat Jenis Kelamin Usia overweight average Tidak underweight pria wanita Ya Usia muda tua Ya/Tidak Nama Usia Kelamin Hipertensi Ali muda pria ya Budiman tua tidak Herman Pada usia=tua ternyata ada 1 data menyatakan ya dan 1 data menyatakan tidak, keadaan ini perlu dicermati. Pilihan hanya dapat ditentukan dengan campur tangan seoranng pakar.

Mengubah Tree Menjadi Rules Atribut #1 Atribut #2 Subset 1 Subset 2 Subset 3 Answer 1 Answer 2 Subset 21 Subset 22 If atribut#1=subset2 ^ atribut#2=subset21 then answer=answer1 If atribut#1=subset2 ^ atribut#2=subset22 then answer=answer2

Conjunction & Disjunction Cuaca Angin Yes No Cerah Keras Lambat Hujan Berawan IF cuaca=hujan v cuaca=berawan THEN MainTenis=No Disjunction v IF cuaca=cerah ^ angin=lambat THEN MainTenis=Yes IF cuaca=cerah ^ angin=keras THEN MainTenis=No Conjunction ^

Mengubah Tree Menjadi Rule Berat overweight average Jenis Kelamin Tidak underweight pria wanita Ya Usia muda tua R1: IF berat=average v berat=underweight THEN hipertensi=tidak R2: IF berat=overweight^kelamin=wanita THEN hipertensi=ya R3: IF berat=overweigt^kelamin=pria^ usia=muda THEN hipertensi=ya R4: IF berat=overweigt^kelamin=pria^ usia=tua THEN hipertensi=tidak

Hasil Prediksi Pada Data Training Nama Usia Berat Kelamin Hipertensi Prediksi Ali muda overweight pria ya Edi underweight tidak Annie average wanita Budiman tua Herman Didi Rina Gatot Kesalahan (e) = 12.5 % ( 1 dari 8 data )

Decision Tree Diciptakan oleh Ross Quinlan ID3, C4.5, C5.0 Model direpresentasikan dalam bentuk tree

Decision Tree: Contoh Input (Data Latih)

Masalah Bagaimana dari data latih tersebut dapat diperoleh model yang bisa mengklasifikasikan secara otomatis?

Model: Decision Tree age? <=30 overcast 31..40 >40 student? yes credit rating? excellent fair no yes no yes no yes Dari data latih, model ini dibangkitkan secara otomatis…

Tree Dapat Direpresentasikan sebagai Rule ((age<=30) and (student) ) OR (age=31..40) (age>40) and (credit_rating=fair) THEN BELI_PC=YES age? <=30 overcast 31..40 >40 student? yes credit rating? excellent fair no yes no yes no yes

Bagaimana cara pemilihan urutan atribut? age? <=30 overcast 31..40 >40 student? yes credit rating? excellent fair no yes no yes no yes

Cara Pemilihan Atribut Entrophy: Ukuran kemurnian, semakin murni, semakin homogen, semakin rendah nilainya. Information Gain: pengurangan entropy disebabkan oleh partisi berdasarkan suatu atribut. Semakin besar info gain = atribut itu semakin membuat homogen = semakin bagus Idenya  pilih atribut dengan info gain yg paling besar

Entrophy untuk dua kelas: + dan - Entropy(S)  -p log p - p log p   2 2  Entropy([9+,5-] ((9 positif, 5 neg)) = -(9/14) log2(9/14) – (5/14) log2(5/14) = 0.940 1.0 entropy Entropy([9+,5-]) = 0.940 Entropy([7+,7-]) = 1 Entropy([14+,0]) = 0 Entroy([0+,14-]) = 0 0.0 1.0 Proprosi contoh positif

Entrophy untuk kelas > 2 Info (D) = Entrophy (D) (istilah dibuku J. HAN)

Information Gain Gain(A) seberapa besar entropy berkurang akibat atribut A. Makin besar makin bagus.

Contoh Pemilihan Atribut Class P: buys_computer = “yes” Class N: buys_computer = “no” berarti ada 5 dari 14 “age <=30” dgn 2 yes dan 3 no. Gain (Age) = Info(D) – Info age (D) =0.940 – 0.694 = 0.246

Pemilihan Atribut (lanj) Gain (Age) = 0.246  yang terbesar, dipilih Gain (income)=0.029 Gain(student)=0.151 Gain(credit_rating) =0.048 Setelah AGE, atribut apa selanjutnya? Diproses untuk setiap cabang selama masih ada > 1 kelas age? <=30 overcast 31..40 >40 Selanjutnya... proses data yang <=30 Tidak perlu diproses lagi yes

Pemilihan Atribut (lanj) Selanjutnya... proses data age<=30 Gain(age) tidak perlu dihitung lagi, hitung gain(student), gain(credit_rating) Gain (student) = Info(D) – Infostudent(D) =0.97 – 0 = 0.97

Pemilihan Atribut (lanj) hitung gain(credit_rating) Gain (credit_rating) = Info(D) – Infostudent(D) =0.97 – 0.95 = 0.02

Pilihan Atribut (lanj) Bandingkan semua gain, ambil yang paling besar Gain (studet) = 0.97 Gain (credit_rating = 0.02 Gain (income) = 0.4 Paling besar student

Pemilhan Atribut (lanj) age? <=30 overcast 31..40 >40 student? yes no yes no yes

Latihan No Kelas Kulit Buah Warna Ukuran Bau 1 Aman Kasar Coklat Besar keras 2 Hijau 3 Berbahaya Halus Merah Lunak 4 5 Kecil Keras 6 7 8 9 10 11 12 13 14 15 16

Mengapa Decision Tree? Mudah diimplementasikan Hipotesis yang dihasilkan mudah dipahami Efisien

Decision Tree Cocok untuk Masalah: Data dalam bentuk atribut-nilai. Kondisi ideal adalah jika isi nilai jumlahnya sedikit. Misalnya: “panas”, “sedang”, “dingin”. Output diskrit. Training data dapat tidak lengkap

Masalah DT Overfitting: terlalu mengikuti training data Terlalu banyak cabang, merefleksikan anomali akibat noise atau outlier. Akurasi rendah untuk data baru Dua pendekatan untuk menghindari overfitting Prepruning: Hentikan pembuatan tree di awal. Tidak mensplit node jika goodness measure dibawah threshold. Sulit untuk menentukan threshold Postpruning: Buang cabang setelah tree jadi Menggunakan data yang berbeda dengan training untuk menentukan pruned tree yang terbaik.

Bayesian Classification P( H | X ) Kemungkinan H benar jika X. X adalah kumpulah atribut. P(H) Kemungkinan H di data, independen terhadap X P (“Single” | “muka sayu”, “baju berantakan”, “jalan sendiri”)  nilainya besar P (“Non Single” | “muka ceria”, “baju rapi”, “jalan selalu berdua”)  nilainya besar P (“Single”) = jumlah single / jumlah mahasiwa

P( H | X )  posterior P(H)  a priori P (X | H) probabilitas X, jika kita ketahui bahwa H benar  data training Kegiatan klasifikasi: kegiatan mencari P (H | X) yang paling maksimal Teorema Bayes:

Klasifikasi X = (“muka cerah”, “jalan sendiri”, “baju rapi”) Kelasnya Single atau Non Single? Cari P(H|X) yang paling besar: ( “Single” | “muka cerah”, “jalan sendiri”, “baju rapi”) Atau ( “Non Single” | “muka cerah”, “jalan sendiri”, “baju rapi”)

Harus memaksimalkan (Ci: kelas ke i) Karena P(X) konstan untuk setiap Ci maka bisa ditulis, pencarian max untuk:

Naïve Bayes Classifier Penyederhanaan masalah: Tidak ada kaitan antar atribut “jalan sendiri” tidak terakait dengan “muka sayu” X1: atribut ke-1 (“jalan sendiri”) Xn: atribut ke-n

Naïve Bayes Jika bentuknya kategori , P(xk|Ci) = jumlah kelas Ci yang memiliki xk dibagi | Ci | (jumlah anggota kelas Ci di data contoh) Jika bentuknya continous dapat menggunakan distribusi gaussian

Contoh Naïve Bayes

Contoh Naïve Bayes P(Ci): P(buys_computer = “yes”) = 9/14 = 0.643 P(buys_computer = “no”) = 5/14= 0.357 Training: Hitung P(X|Ci) untuk setiap kelas P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222 P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6 P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444 P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4 P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667 P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2 P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667 P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4 Klasifikasi: X = (age <= 30 , income = medium, student = yes, credit_rating = fair) P(X|Ci) : P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044 P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019 P(X|Ci)*P(Ci) : P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028  P(X|buys_computer = “no”) * P(buys_computer = “no”) = 0.007

Pro, Cons Naïve Bayes Keuntungan Kerugian Mudah untuk dibuat Hasil bagus Kerugian Asumsi independence antar atribut membuat akurasi berkurang (karena biasanya ada keterkaitan)

Supervised vs. Unsupervised Learning Supervised learning (classification) Supervision: Data pelatihan mengandung label kelas. Data diklasifikasikan menggunakan model. Unsupervised learning (clustering) Data pelatihan tidak mengandung label kelas Mencari kelas atau cluster di dalam data. Akan dijelaskan terpisah