Beli Project AI +

Halo Ryan Blog

K-Fold Cross Validation: Teknik Validasi untuk Model Pembelajaran Mesin

Tim Halo Ryan, 23 Sep 2024

Dalam dunia pembelajaran mesin (machine learning), evaluasi performa model sangat penting untuk memastikan bahwa model yang dibangun mampu bekerja dengan baik pada data yang belum pernah dilihat sebelumnya. Salah satu metode yang populer dan efektif untuk melakukan evaluasi ini adalah K-Fold Cross Validation. Berikut adalah penjelasan sederhana mengenai apa itu k-fold cross validation dan bagaimana cara kerjanya.

Apa itu K-Fold Cross Validation?

K-Fold Cross Validation (Tabulasi Silang) adalah teknik validasi yang digunakan untuk menguji performa model dengan membagi dataset menjadi beberapa subset atau bagian, yang disebut folds. Teknik ini dirancang untuk mengatasi masalah overfitting, di mana model bekerja sangat baik pada data latih tetapi buruk dalam memprediksi data baru. Dengan menggunakan k-fold cross validation, kita bisa mendapatkan hasil evaluasi model yang lebih stabil dan representatif.

Cara Kerja K-Fold Cross Validation

Adapun cara kerja dari cross validation adalah seperti berikut:

  1. Membagi Data: Dataset dibagi menjadi K bagian atau folds yang sama besar. Misalnya, jika kita menggunakan 5-Fold Cross Validation, maka dataset akan dibagi menjadi 5 bagian. Secara default, nilai 'k' adalah 5.
  2. Latih dan Uji Model: Untuk setiap iterasi (fold), kita akan melatih model pada K-1 fold dan menguji performanya pada 1 fold yang tersisa. Misalnya, pada iterasi pertama, fold ke-1 digunakan sebagai data uji dan fold ke-2 hingga ke-5 digunakan sebagai data latih.
  3. Ulangi Proses: Proses di atas diulang sebanyak K kali, di mana setiap fold secara bergantian digunakan sebagai data uji. Pada akhir setiap iterasi, akurasi atau metrik performa lainnya dicatat.
  4. Rata-Rata Metrik: Setelah semua iterasi selesai, kita akan menghitung rata-rata dari semua metrik performa (seperti akurasi, precision, recall, dll.) yang diperoleh dari K iterasi untuk mendapatkan hasil akhir. Ini memberikan gambaran yang lebih baik tentang performa model secara keseluruhan.

Kalau dijelaskan dalam bentuk gambar, kira-kira seperti ini:

Sumber: Cross-validation: evaluating estimator performance SK-Learn disini

Fungsi K-Fold Cross Validation

  1. Memanfaatkan Dataset secara Maksimal: Setiap data dalam dataset akan digunakan sebagai data latih dan data uji, sehingga kita mendapatkan estimasi performa model yang lebih akurat.
  2. Mengurangi Variansi Evaluasi: Karena setiap bagian data digunakan sebagai data uji, variasi hasil evaluasi akan lebih rendah dibandingkan dengan hanya membagi dataset menjadi data latih dan data uji sekali saja.
  3. Mencegah Overfitting: Dengan menggunakan k-fold cross validation, kita bisa lebih yakin bahwa model tidak hanya bekerja baik pada data latih tetapi juga mampu menggeneralisasi pada data baru.

Contoh Penerapan

Misalkan kita memiliki dataset dengan 1000 sampel, dan kita menggunakan 5-Fold Cross Validation. Dataset akan dibagi menjadi 5 bagian (fold), dengan setiap bagian terdiri dari 200 sampel. Proses validasi akan seperti berikut:

  1. Pada iterasi pertama: 800 sampel digunakan untuk melatih model, dan 200 sampel sisanya digunakan untuk menguji model.
  2. Pada iterasi kedua: Fold kedua digunakan untuk pengujian, sementara fold lainnya digunakan untuk pelatihan, dan seterusnya hingga kelima fold telah digunakan sebagai data uji.

Setelah kelima iterasi selesai, kita menghitung rata-rata metrik performa, yang akan menjadi gambaran yang lebih baik mengenai performa model.

Memilih Nilai K

Nilai K biasanya dipilih antara 5 atau 10, meskipun nilai lainnya juga dapat digunakan tergantung pada ukuran dataset. Namun secara default, SK-Learn menggunakan nilai k = 5. Jika dataset sangat besar, nilai K yang lebih kecil bisa dipilih, sedangkan pada dataset yang kecil, nilai K yang lebih besar dapat memberikan hasil yang lebih stabil.

Kesimpulan

K-Fold Cross Validation adalah metode yang efektif untuk mengevaluasi model pembelajaran mesin, membantu mengurangi risiko overfitting, dan memberikan estimasi performa model yang lebih akurat. Dengan memanfaatkan seluruh data baik sebagai data latih maupun data uji, teknik ini memungkinkan kita mendapatkan pemahaman yang lebih baik tentang bagaimana model kita akan bekerja pada data yang belum pernah dilihat sebelumnya.

Baca Juga:

001

Overfitting dan Underfitting dalam Machine Learning

Artikel Machine Learning

Secara sederhana, overfitting adalah sebuah keadaan dimana model bekerja dengan baik pada data training namun memiliki peforma yang buruk pada data testing. Sementara underfitting adalah kebalikannya. Overfitting: Terjadi...

Selengkapnya arrow_forward

Baca Artikel Lainnya +