Cross Validation dengan Scikit-Learning Python

Selain dengan membagi data latih dengan data validasi/testing dengan proporsi tertentu misalnya 70/30 (lihat pos terdahulu untuk split data), teknik lain yang terkenal dan sangat dianjurkan adalah validasi silang (cross validation). Metode ini mirip split data tetapi dengan mentraining ulang data latih yang dirubah menjadi data testing dan sebaliknya. Dikenal dengan istilah K-Fold Cross Validation dengan K berarti jumlah sub pelatihannya. Perhatikan 5 data grup pelatihan pada 5-Fold Cross Validation berikut.

Masing-masing grup split terdiri dari 4 data latih dan 1 data uji yang berwarna biru. Bagaimana dengan akurasinya? Mudah saja. Kita tinggal merata-ratakan berapa akurasi tiap pelatihan.

Menggunakan Jupyter Notebook/Google Colab

Berikutnya kita coba menggunakan data latih bawaan Scikit-Learning. Gunakan kode berikut yang diambil dari situs resminya ini.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import svm
X, y = datasets.load_iris(return_X_y=True)
from sklearn.model_selection import cross_val_score
clf = svm.SVC(kernel='linear', C=1)
scores = cross_val_score(clf, X, y, cv=5)
scores

Perhatikan baris terakhir yang memangil fungsi cross validation dengan cv=5. Jalankan maka anda akan memperoleh akurasinya. Di sini diambil contoh menggunakan SVM. Berikut tampilan dengan menggunakan Google Colab.

Jika dirata-rata akurasinya adalah (0.967 + 1 + 0.967 + 0.967 + 1)/5 sekitar 0.98 (98%) yang berarti sangat akurat dengan lima kali cek akurasi dengan 5 grup split data berbeda.  Untuk Cross Validation pada Jaringan Syaraf Tiruan silahkan lihat video di bawah. Sekian, semoga bermanfaat.

Tentang rahmadya

I'm a simple man .. Lahir di Sleman Yogyakarta, 7 Juni 1976 PENDIDIKAN: TK : - (tidak ada TK di tj Priok waktu itu) SDN : Papanggo, Jakarta 83 - 89 SMPN : 129, Jakarta 89 - 92 SMAN : 8, Yogyakarta 92 - 95 Univ. : Fak. Teknik UGM, Yogyakarta 95 - 2001 Pasca. : Tek. Informatika STMIK Nusa Mandiri, Jakarta 2008 - 2010 Doctoral : Information Management Asian Institute of Technology, Thailand 2013 - 2018 PEKERJAAN: Tek. Komputer AMIK BSI Jakarta : 2002 - 2005 IT Danamon Jakarta : 2005 - 2008 Tek. Informatika STMIK Nusa Mandiri Jakarta : 2005 - 2008 Univ. Darma Persada Jakarta: 2008 - 2013 Fakultas Teknik Universitas Islam "45" Bekasi : 2008 - Skrg ( Homebase) Univ. Bhayangkara Jakarta Raya: 2018 - Skrg Univ. Nusa Putra Sukabumi: 2018 - Skrg
Pos ini dipublikasikan di Artificial Neural Network, Python. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.