Anda di halaman 1dari 11

Machine learning

09
Modul ke:

Materi Minggu 9: Implementasi cross-validation dengan


Python
Buku Acuan: A. C. Muller dan S. Guido, Introduction to Machine Learning with Python.
Fakultas California: O’ Reilly Media Inc, 2016.
FASILKOM I Putu Edy Suardiyana Putra, Ph.D.

Program Studi
Teknik
Informatika
k-fold cross validation
• Pada pertemuan kali ini akan dibahas tentang bagaimana
mengimplementasikan k-fold cross validation dengan library
yang ada pada Scikit-learn
• Pada Scikit-learn, sudah disediakan library untuk melakukan
proses k-fold cross validation yakni Kfold (dapat ditemukan di
tautan berikut: https://
scikit-learn.org/stable/modules/generated/sklearn.model_sele
ction.KFold.html)
• Pada materi kali ini, Anda akan diminta untuk membuat
sebuah model untuk mendeteksi kanker payudara dan
mengukur performanya menggunakan k-fold.
• Untuk detil informasi terkait dataset, dapat dilihat di tautan
berikut ini:
https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wiscon
sin+%28Diagnostic%29
Setup eksperimen

• Sebelum memulai coding, Anda diharapkan


untuk menuliskan detil parameter/algoritma
yang Anda akan gunakan, contoh:
– Dataset: kanker payudara Wisconsin
– Label/class: malignant(M), benign(B) --> Malignant
adalah kanker ganas dan benign adalah tumor.
– Algoritma yang digunakan: k-NN dengan k=1
– Validasi akan dilakukan dengan menggunakan k-
fold cross-validation dengan k=10.
Contoh code
Breakdown code (1)

Bagian ini menunjukkan libraries yang akan kita gunakan


Breakdown code (2)

Lines di atas bertujuan untuk melakukan data pre-processing. Data


pre-processing di sini adalah membagi antara label dan data. Untuk
memudahkan hal ini, maka digunakan library Pandas. Variabel label
berisi class/labe sedangkan variabel data berisi data-data.
Breakdown code (3)

Baris 11 adalah perintah untuk memanggil


fungsi Kfold. Untuk kasus kali ini kita akan
menggunakan 10 fold atau nilai k=10.

Baris ke 12 adalah perintah untuk memanggil


fungsi dari k-NN.
Breakdown code (4)

Lines 14-20 menggambarkan proses k-fold cross validation.


Fungsi score() berguna untuk menghitung akurasi yang
dihasilkan oleh suatu model jika diberikan testing set.
Contoh luaran

• Jika code di atas dijalankan pada Google Colab,


akan didapat hasil berikut:
Ada 10 hasil yang
didapat dikarenakan
kita menggunakan 10-
fold cross validation.
Jadi untuk menyajikan
hasil, pada umumnya
digunakan nilai rata-
rata dan standar
deviasi.
Analisis hasil
• Jika dihitung rata-rata dan standar deviasi,
maka didapat hasil:
– Rata-rata = 0.91/ 91% (sudah mengalami
pembulatan 2 angka di belakang koma)
– Standar deviasi = 0.05/5% sudah mengalami
pembulatan 2 angka di belakang koma)
• Jadi dari hasil di atas dapat disimpulkan bahwa
performa dari model yang dihasilkan sudah di
atas 90%.
• Lalu bagaimana kira-kira performa model jika
algoritma yang digunakan adalah Decision Tree
atau Perceptron?
Terima Kasih
I Putu Edy Suardiyana Putra, Ph.D.

Anda mungkin juga menyukai