Direktorat SITP DJP Kemenkeu RI
Data Analytics for Non Programmer Workshop, July 2022
Intro to Classification
Outline Outline
What is Classification
Data Preprocessing
Evaluation Metric for Classification
Overfitting & Cross Validation
Classification Algorithms
2
CRISP-DM
Kenneth Jensen, CC BY-SA 3.0, via Wikimedia Commons
3
An example application
• Sebuah bank menerima banyak aplikasi permohonan pinjaman dana
dari nasabahnya setiap bulan. Setiap aplikasi berisi data nasabah:
usia, status pernikahan, pekerjaan, penghasilan, asset, kondisi
kesehatan, jumlah tanggungan, dan lain-lain
• Problem: menentukan apakah aplikasi permohonan yang diajukan
seorang nasabah akan disetujui atau tidak
4
An example application
• Pemerintah di suatu kota menggalakkan program urban farming,
mendorong setiap rumah menanam sayuran di halaman rumahnya.
Pemerintah mengadakan pelatihan beberapa cara bertanam sayur di
lahan terbatas dengan media bukan tanah. Untuk mengevaluasi
perkembangan program ini, beberapa bulan setelah pelatihan, setiap
rumah diminta mengirimkan foto rumah (yang memuat lokasi
penanaman sayur).
• Problem: menentukan apakah rumah warga menunjukkan pemiliknya
menanam sayur atau tidak (image recognition)
5
What is classification?
• A machine learning task that deals with identifying the class to which
an instance belongs
• A classifier performs classification
Test instance
Discrete-valued
Classifier
Attributes
Class label
(a1, a2,… an)
6
What is classification?
( Age, Marital status,
Classifier
Health status, Salary,
Dependents, Asset,… Issue Loan? {Yes, No}
)
7
What is classification?
Dikenali adanya tanaman
( Foto rumah )
Classifier sayur? {Ya, Tidak}
8
What is classification?
• Sebutkan contoh problem klasifikasi yang mungkin ada di unit kerja
Anda
9
Classification Process
10
Classification Process
Model Model
Construction Usage
• Learning the classifier • Testing how well the
from the available data classifier performs
• ‘Training set’ (Labeled) • ‘Testing set’
11
Process (1): Model Construction
Classification Process
Classification
Algorithms
Training
Data
NAME RANK YEARS TENURED Classifier
M ike A ssistant P rof 3 no (Model)
M ary A ssistant P rof 7 yes
B ill P rofessor 2 yes
Jim A ssociate P rof 7 yes
IF rank = ‘professor’
D ave A ssistant P rof 6 no
OR years > 6
A nne A ssociate P rof 3 no
THEN tenured = ‘yes’
12 12
Process (2): Using the Model in Prediction
Classification Process
Classifier
Testing
Data Unseen Data
(Jeff, Professor, 4)
NAME RANK YEARS TENURED
T om A ssistant P rof 2 no Tenured?
M erlisa A ssociate P rof 7 no
G eorge P rofessor 5 yes
Joseph A ssistant P rof 7 yes
13 13
Classification Process
Umumnya 70% training 30% testing, atau 75% training 25% testing
(Tidak ada aturan baku)
14
Evaluation Metric for Classification
15
The Error Rate, and Other Summaries of Performance
• Evaluasi performa dari suatu classifier dapat dilakukan dengan
menghitung:
• error atau total error rate, yaitu persentase classifier
menghasilkan jawaban yang salah,
• accuracy yaitu persentase classifier menghasilkan jawaban yang
benar.
16
The Error Rate, and Other Summaries of Performance
• Evaluasi untuk two-class classifier (binary classifier) dengan 0–1 loss
function:
• false positive rate:
persentase negative test data diklasifikasikan ke dalam positive
• false negative rate:
persentase positive test data diklasifikasikan ke dalam negative.
• Penting untuk menampilkan keduanya, karena classifier dengan false
positive rate yang rendah cenderung memiliki false negative rate
yang tinggi, begitu pula sebaliknya.
17
More Detailed Evaluation
• Alternatif lainnya:
• Sensitivity/Recall: persentase true positives yang diklasifikasikan
sebagai positive
• Specificity: persentase true negatives diklasifikasikan sebagai
negative.
18
Confusion Matrix
Predicted
Positive Negative
True False
Positive Negative
Actual Positive Total TP+TN
Accuracy=
TP + TN + FP + FN
True
False
Negative Negative
Positive
19
Confusion Matrix
Screening Test Results
Positive Negative
True False
Cases Positive Negative
True
Disease
Status
True
False
Non-cases Negative
Positive
TP TP
Sensitivity (Recall) = Precision =
TP + FN TP + FP
TN
Specificity = Hati-hati: Jika classifier kita error dan menebak semua
TN + FP sample menjadi positif, maka hasil Recall = 1
20
Diskusi
Precision vs Recall, mana yang lebih perlu diperhatikan untuk mengukur
• Alat deteksi cancer
• Baggage detector di bandara
21
Confusion Matrix
F1-Score
• “harmonic mean” dari precision dan recall
Predicted
• Range: [0, 1]
Positive Negative • bersama dengan G-Mean, berguna untuk
mengukur kinerja pada imbalanced class
True False • Intuisi: F1-score baru akan besar kalau
Cases Positive Negative kedua nilai precision dan recall besar. Jika
Actual
ada salah satu yang rendah, maka nilai
F1 juga akan rendah)
True
False
Non-cases Negative F1-score =
Positive
22
Confusion Matrix for Multiclass Classification
• False positive dan false negative rate dari two-class classifier dapat
di-generalisasi untuk evaluasi dari multi-class classifier, membentuk
class confusion matrix:
• cell ke-i, j berisi jumlah kasus (atau dapat berupa fraction) dimana true label
adalah i dan predicted label adalah j.
23
Class Confusion Matrix
• Contoh class confusion matrix
dari classifier untuk prediksi
tingkat penyakit jantung
berdasarkan pengukuran
fisiologis dan fisik.
• Dataset tersebut memiliki 5 kelas (0 …. 4)
• Cell ke-i, j menampilkan jumlah data points dari true class i yang diklasifikasikan ke
predicted class j.
• Pada setiap baris terdapat class error rate
• Perhatikan bagian diagonal dari table: jika nilai tertinggi terdapat di bagian tersebut,
maka dapat dikatakan classifier bekerja dengan baik.
• Tabel di atas menunjukkan prediksi yang baik untuk kelas 0 dan tidak baik untuk kelas
lainnya
24
Overfitting & Cross Validation
25
Overfitting and Cross-Validation
• Target dalam memilih dan mengevaluasi classifier: mendapatkan classifier yang
mampu bekerja baik terhadap data yang akan datang, yang belum diketahui true
label-nya.
• Training error: error rate yang diperoleh untuk melatih classifier terhadap suatu
sampel
• Test error: error rate yang diperoleh classifier terhadap sampel yang tidak
digunakan pada proses training.
• Overfitting (selection bias): keadaan ketika classifier memiliki training error
yang kecil, namun test error-nya tinggi
26
Overfitting and Cross-Validation
• Bagaimana melakukan estimasi error rate classifier pada test data?
• Kita tidak dapat melakukannya dengan data yang telah dilatih oleh classifier, karena
estimasi error rate akan kecil.
• Pisahkan data sehingga membentuk validation set (atau beberapa menyebutnya
sebagai test set)
• latih classifier dengan training set, dan evaluasi dengan validation set.
• Estimasi error ini akan menjadi unbiased, nilai ekspektasi dari estimasi error adalah nilai
sebenarnya dari error.
• Masalah yang mungkin muncul adalah performa yang buruk pada validation set karena
representasi yang kurang baik atau training data terlalu sedikit.
• Cara mengatasi: proses cross-validation, mencakup proses yang berulang:
• membagi data (splitting) ke dalam training dan validation sets secara seragam dan
acak, lalu merata-ratakan (averaging) error yang diperoleh dari seluruh bagian (splits).
• Masing-masing split disebut sebagai fold.
27
Cross Validation
Teknik yang populer: K-Fold Cross Validation
28
K-Fold Cross Validation
Contoh untuk k = 4
• Buat partisi sebanyak k-fold pada dataset.
• Untuk setiap eksperimen K, gunakan K-1 folds
untuk training dan fold, sisanya untuk testing.
• Keunggulan dari k-fold cross validation adalah
seluruh sampel pada dataset berkesempatan
digunakan baik sebagai training maupun testing
sets.
• Estimasi true error diperoleh berdasarkan average
dari error rate pada sampel test.
𝐾
1
E= E𝑖
𝐾
𝑖=1
29
How many folds are needed?
• Dengan jumlah folds yang besar:
+ Bias dari estimator true error rate akan semakin kecil (estimator sangat akurat)
• Variance dari estimator true error rate menjadi besar
• Waktu komputasi juga akan menjadi besar (karena eksperimen yang banyak)
• Dengan jumlah folds yang sedikit:
+ Waktu komputasi menjadi berkurang
+ Variance dari estimator akan menjadi kecil
• Bias estimator menjadi semakin besar (lebih kecil atau sederhana dibandingkan dengan true
error rate)
• Pada praktiknya, pemilihan jumlah folds bergantung pada ukuran dataset yang digunakan.
Untuk dataset yang besar, 3-Fold Cross Validation dapat memberikan hasil yang cukup
akurat.
Pada dataset yang sangat sedikit atau sparse, dapat menggunakan leave-one-out sehingga
memungkinkan training dengan sampel yang banyak.
30
Classification Algorithms
31
Classification Algorithms
• Decision Tree
• Random Forest
• Naïve Bayes
• K Nearest Neighbors
• Support Vector Machines
• Logistic Regression
• Neural Networks
•…
32
References & Credits
• David Forsyth, Probability and Statistics for Computer Science,
Springer International Publishing AG, 2018
• S. Aminah, Dina Chahyati, Ari Wibisono, Salindia Mata Kuliah Data
Sains Semester Gasal 2020/2021, Fakultas Ilmu Komputer,
Universitas Indonesia
• Principles of Data Science, Sinan Ozdemir, December 2016
• Gambar dan tangkapan layar hanya untuk kebutuhan penjelasan
• Hak cipta tetap ada pada pemilik aslinya.
33
Wish You Success
34