1
Nama Lain
• Classification Tree
• Decision Tree
• Recursive Partition
• Iterative Dichotomiser
2
Kegunaan
• Regresi Logistik
• Discriminant Analysis
• Bayesian Classifier
• Neural Network
• dll 4
Outline
5
1
Entropy dan Information Gain
6
Entropy dan Information Gain
• Gugus data yang seluruh amatannya dari kelas YES akan memiliki
E(D) = 0
• Gugus data yang seluruh amatannya dari kelas NO juga akan
memiliki E(D) = 0
• Entropi ini adalah ukuran kehomogenan data (impurity)
7
Entropy dan Information Gain
9
Entropy dan Information Gain
k| Di |
IG ( D,V ) E ( D) E ( Di )
i 1 | D |
10
Entropy dan Information Gain
11
2
Pohon Klasifikasi
12
Ide Dasar
B
4 16 obs
13 obs
3
Mencari pemisah
2
terbaik antara
individu
dengan individu
1
A Pemisahan dilakukan
untuk masing-masing
1 2 3 4 variabel, bukan
kombinasinya.
13
Ide Dasar
B
4 16 obs
13 obs
3
Pemisah yang
2
dicari adalah yang
menyebabkan
data hasil
1
pemisahannya
A bersifat homogen
1 2 3 4
kelasnya.
14
Ide Dasar
A <2 A 2
B Pemisahan menggunakan
4 garis A = 2, menghasilkan
dua kelompok:
3 Kelompok 1 A < 2
7 obs
2 12 obs
Kelompok 2 A 2
1
9 obs
A 1 obs
1 2 3 4
16 obs
15
13 obs
Ide Dasar
A < 2.7 A 2.7
B Pemisahan menggunakan
4 garis A = 2.7, menghasilkan
dua kelompok:
Kelompok 2 A 2.7
1
5 obs
A 0 obs
1 2 3 4
16 obs
16
13 obs
Ide Dasar
16 obs
13 obs
Information Gain =
0.2085
Information Gain =
0.1688
18
Ide Dasar
A =2
B
4
3
Lanjutkan mencari
pemisahan untuk masing-
2 masing kelompok….
A
1 2 3 4
19
Ide Dasar
A =2
B
4
3
Lanjutkan mencari
2
pemisahan untuk masing-
B = 1.9 masing kelompok….
1
B = 0.6
A
1 2 3 4
20
Representasi Hasil Pemisahan
16 obs
13 obs
A<2
7 obs 9 obs
12 obs 1 obs
B < 1.9 B < 0.6
21
Beberapa Istilah
root Level 0
(simpul akar)
node Level 1
(simpul)
depth
leaf Level 2
(simpul akhir)
22
Algoritma Dasar Pohon Klasifikasi
• Tahap 1:
Mencari pemisahan/penyekatan (splitting) terbaik di setiap
variabel
• Tahap 2:
Menentukan variabel terbaik untuk penyekatan
• Tahap 3:
Melakukan penyekatan berdasarkan hasil dari Tahap 2, dan
memeriksa apakah sudah waktunya menghentikan proses
24
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
25
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
26
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
27
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
28
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
29
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
30
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
31
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
32
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
33
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
34
Ilustrasi lain terkait dengan Gini, Information Gain, dan Chi-Sq
35
Kriteria Penghentian Proses Pemisahan
36
Ilustrasi Sederhana
• Variabel :
• "No"
• "Jenis.Kelamin"
• "Single"
• "Tinggal.di.Kota"
• "usia"
• "Perokok"
• "Budget"
• "Kesukaan"
• "Tertarik.Beli."
37
Ilustrasi Sederhana (WPS)
PROC R;
export data=a.data R=data;
submit;
setwd("C:/training/Decision Tree/direktori")
library(rpart)
library(rpart.plot)
38
Ilustrasi Sederhana (SAS)
%include "C:\training\Decision Tree\PROC_R.sas";
%proc_r(SAS2R=a.data,R2SAS=);
cards4;
setwd("C:/training/Decision Tree/direktori")
library(rpart)
library(rpart.plot)
40
Grafik
41
Ilustrasi Sederhana
model = rpart(tertarik ~ jk + kota + single + usia + merokok + Budget,
data = a.data, method="class",
control = rpart.control(minsplit = 100, cp = 0))
42
Ilustrasi Sederhana
44
3
Menilai Kebaikan Pohon Klasifikasi
45
Prediksi Variabel Respon
Misal
• Jenis Kelamin = Laki-Laki
• Budget Low
• Tidak Merokok
• Usia 25 tahun
47
Prediksi Variabel Respon
Misal
• Jenis Kelamin = Laki-Laki
• Budget high
• Merokok
• Usia 25 tahun
48
Prediksi Variabel Respon
51
Prediksi Variabel Respon
Data hasil;
Set hasil;
If tertarik > 0.5 then dugaan = "Tertarik";
else dugaan = "Tidak";
run;
Tidak Tertarik dugaan
1 0.925170068 0.07482993 Tidak
2 0.954081633 0.04591837 Tidak
3 0.954081633 0.04591837 Tidak
4 0.954081633 0.04591837 Tidak
5 0.004694836 0.99530516 Tertarik
6 0.954081633 0.04591837 Tidak
7 0.004694836 0.99530516 Tertarik
8 0.925170068 0.07482993 Tidak
9 0.954081633 0.04591837 Tidak
10 0.428571429 0.57142857 Tertarik
53
Prediksi Variabel Respon
Tertarik_beli dugaan
1 Tidak Tidak
2 Tidak Tidak
3 Tidak Tidak
4 Tidak Tidak
5 Tertarik Tertarik
6 Tidak Tidak
7 Tertarik Tertarik
8 Tidak Tidak
9 Tidak Tidak
10 Tidak Tertarik salah prediksi
54
Kebaikan pohon klasifikasi
55
Classification Table
Ingat bahwa dengan model yang kita peroleh, kita dapat memasukkan data nilai-nilai variabel
penjelas yang kita miliki untuk memperoleh dugaan peluang masing-masing individu. Dengan
prediksi peluang tersebut, kita dapat mengelompokkan apakah dia diprediksi YES (bernilai 1)
atau NO (bernilai 0). Selanjutnya bisa kita bandingkan dengan nilai yang sebenarnya (aktual)
Teknik sederhana yang dapat dilakukan untuk menentukan tingkat kebaikan pendugaan/prediksi
dari model yang kita miliki adalah menggunakan tabel klasifikasi. Tabel ini merupakan tabel
frekuensi dua arah antara nilai kategori aktual data dengan kategori prediksinya. Pada gambar
tabel di slide setelah ini, tentu kita menginginkan model yang memiliki proporsi yang benar
sangat tinggi.
Jika ada dua model, kita dapat menghitung tingkat ketepatan masing-masing model.
Predicted Class
0 1
Predicted Predicted
Negative Positive Proporsinya
harus tinggi
57
Accuracy (Correct Rate)
Predicted Class
0 1
Predicted Predicted
Negative Positive
58
Sensitivity
Predicted Class
0 1
Actual Class
0
True Actual
1 Positive Positive
Predicted
Positive
SENSITIVITY adalah TRUE POSITIVE dibagi dengan N1
Jika cutoff nilai prediksi peluang yang digunakan kecil, maka individu cenderung akan
diprediksi memiliki kategori 1 (YES). Sehingga pada saat nilai cutoff kecil, maka
sensitivity ini akan besar (mendekati 100%). Secara umum nilai sensitivity ini akan
menurun jika nilai cutoff ditingkatkan. Namun secara ideal kita menginginkan untuk 59
berbagai nilai cutoff, model memiliki sensitivity yang tinggi.
Specificity
Predicted Class
0 1
True Actual
Actual Class
0 Negative Negative
Predicted
Negative
SPECIFICITY adalah TRUE NEGATIVE dibagi dengan N2
Tentu saja 1 – Specificity adalah 1 dikurangi nilai specificity-nya, atau diperoleh dari FALSE POSITIVE
dibagi dengan N2.
Jika cutoff nilai prediksi peluang yang digunakan kecil, maka individu cenderung akan diprediksi
memiliki kategori 1 (YES). Sehingga pada saat nilai cutoff kecil, maka (1 – specificity) ini akan besar
(mendekati 100%). Secara umum nilai (1 – specificity) ini akan menurun jika nilai cutoff ditingkatkan.
60
Namun secara ideal kita menginginkan untuk berbagai nilai cutoff, model memiliki (1 – specificity)
yang rendah.
Kebaikan pohon klasifikasi
62
Kebaikan pohon klasifikasi
64
Kebaikan pohon klasifikasi
68
ROC Curve
69
ROC Curve
1.0
Sensitivity
0.5
0.0
0.0 0.5 1.0
1 — Specificity
70
ROC Curve
1.0
0.8
True positive rate
0.6
0.4
0.2
0.0
74
Perkembangan Lebih Lanjut: Ensemble Tree
76
Bagging
77
Random Forest
78
Random Forest
79
Boosting
80
Empirical study
82
• QUESTION?
83
83
TUGAS
• LAKUKAN ANALISIS KLASIFIKASI DENGAN DUA
METODE
• JIKA MEMUNGKINKAN PADA SETIAP ANALISIS,
MEMUAT PERHITUNGAN GINI, ENTROPI, DAN
INFORMATION GAIN : ATURAN PEMBEDA
TERBAIK
• BANDINGKAN AKURASI, SENSITIVITAS, DAN
SPESIFIKASI: METODE TERBAIK
• PILIH METODE TERBAIK
84
84
Analisis
• KKN
• POHON KLASIFIKASI
• SVM
• ENSEMBLE TREE
85
85
TUGAS
• BAGI DATA JADI DATA TRAINING DAN TESTING
XY : 2 DIGIT TERAKHIR NIM:
JIKA XY < 40 MAKA XY ADALAH DATA TESTING,
JIKA XY>= 40 MAKA XY ADALAH DATA TRAINING
MISAL XY=32, XY=32 < 40 MAKA data testing
ARTINYA DATA TESTING 32%
• PENGACAKAN GUNAKAN SEED SESUAI NIM
• SET SEED (12345678)
86
86
Data Kualitas Wine
• Data kedua ini berasal dari pengamatan terhadap sejumlah tipe wine
merah (ada 1599 jenis) dan wine putih (ada 4898 jenis) yang semuanya
produksi Portugal.
• Harga dari wine sangat tergantung pada kualitas rasa yang bersifat
abstrak. Biasanya ada sejumlah ahli rasa yang diminta mencicipi wine dan
kemudian memberikan penilaian. Antar penilai bisa jadi sangat bervariasi
opininya.
• Kualitas wine juga tergantung pada beberapa hasil physicochemical tests
yang dilakukan di laboratorium dengan memeriksa antara lain acidity, pH
level, kandungan gula, serta kandungan beberapa senyawa kimia lain.
• Akan sangat menarik kalau hasil pengukuran kualitas di laboratorium
memiliki keterkaitan dengan penilaian subjektif oleh pakar rasa.
• Data yang ada hanya berisi data penilaian wine putih, yang meliputi 12
karakteristik hasil uji laboratorium serta hasil penilaian ahli rasar pada
skala 1 – 10, dengan 1 untuk kualitas rasa yang paling buruk dan 10 untuk
rasa yang paling baik. Ada tiga penilai, dan nilai akhir diperoleh dari
median ketiganya.
87
Pima Indians Diabetes Data Set
http://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes
89
89
PENILAIAN TAMBAHAN
SEMAKIN CEPAT DIUPLOAD JAWABANNYA DI
GOOGLE CLASSROOM MAKA NILAINYA AKAN
SEMAKIN BAIK
90
90
Thank you!
91