Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Klasifikasi
2
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
3
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?
4
Pembuatan Model Algoritma Klasifikasi Data Pelatihan Classifier
IF IPK > 3 OR MATDAS =A THEN tepat_waktu = ‘yes’
5
Proses Testing Model Classifier (MODEL) Testing Data Sejauh mana
model tepat meramalkan?
6
Proses Klasifikasi Lulus tepat waktu? Classifier (MODEL) Data Baru
(Tatang, 3.0, A) Lulus tepat waktu?
7
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
8
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
9
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
10
Decision Tree
11
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, 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.
12
Proses Klasifikasi Dalam Data Mining
X Y Kelas 1 2 Kelas 1 Kelas 2
13
Proses Klasifikasi Dapat Menjadi Sebuah Tree
X Y Kelas 1 2 X 1 Kelas=1 Kelas=2
14
Proses Klasifikasi Dapat Menjadi Sebuah Tree
X Y Z Kelas 2 1 X 1 Y Kelas=2 1 Kelas=2 Kelas=1
15
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
16
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
17
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
18
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.
19
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
20
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)
21
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
22
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-
23
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-
24
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
25
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
26
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.
27
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:
28
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
29
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.
30
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
31
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.
32
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.
33
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
34
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 ^
35
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
36
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 )
37
Decision Tree Diciptakan oleh Ross Quinlan ID3, C4.5, C5.0
Model direpresentasikan dalam bentuk tree
38
Decision Tree: Contoh Input (Data Latih)
39
Masalah Bagaimana dari data latih tersebut dapat diperoleh model yang bisa mengklasifikasikan secara otomatis?
40
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…
41
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
42
Bagaimana cara pemilihan urutan atribut?
age? <=30 overcast 31..40 >40 student? yes credit rating? excellent fair no yes no yes no yes
43
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
44
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
45
Entrophy untuk kelas > 2
Info (D) = Entrophy (D) (istilah dibuku J. HAN)
46
Information Gain Gain(A) seberapa besar entropy berkurang akibat atribut A. Makin besar makin bagus.
47
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.246
48
Pemilihan Atribut (lanj)
Gain (Age) = 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
49
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
50
Pemilihan Atribut (lanj)
hitung gain(credit_rating) Gain (credit_rating) = Info(D) – Infostudent(D) =0.97 – 0.95 = 0.02
51
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
52
Pemilhan Atribut (lanj)
age? <=30 overcast 31..40 >40 student? yes no yes no yes
53
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
54
Mengapa Decision Tree? Mudah diimplementasikan
Hipotesis yang dihasilkan mudah dipahami Efisien
55
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
56
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.
57
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
58
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:
59
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”)
60
Harus memaksimalkan (Ci: kelas ke i)
Karena P(X) konstan untuk setiap Ci maka bisa ditulis, pencarian max untuk:
61
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
62
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
63
Contoh Naïve Bayes
64
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”) = x x x = 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”) = P(X|buys_computer = “no”) * P(buys_computer = “no”) = 0.007
65
Pro, Cons Naïve Bayes Keuntungan Kerugian Mudah untuk dibuat
Hasil bagus Kerugian Asumsi independence antar atribut membuat akurasi berkurang (karena biasanya ada keterkaitan)
66
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.