Membagi Data Latih dan Uji Secara Otomatis Pada Python

Sebenarnya menggunakan data yang kita ambil sekaligus menjadi data latih dan uji tidak diperkenankan. Namun permasalahan itu dapat diselesaikan dengan membagi data yang kita peroleh menjadi data latih dan data uji, misalnya dengan proporsi 70% untuk data latih dan sisanya 30% untuk data uji. Di sini istilah data uji pun kurang pas, yang pas adalah data validasi, mengingat data uji seharusnya diambil dari data di luar data yang kita kumpulkan, dan seharusnya data terkini yang baru saja diambil di luar data latih dan validasi.

Mengapa harus memisahkan data latih dengan data uji? Jawabannya adalah menghindari terjadinya overfitting, yaitu suatu kondisi pelatihan yang hasil uji terhadap data yang dilatih sangat bagus tetapi diuji oleh data lain yang tidak digunakan dalam pelatihan sangat buruk. Overfitting terjadi karena kegagalan model dalam proses generalisasi.

Split Data dengan Skicit-Learning

Python menyediakan satu library terkenal bernama Skicit-Learning yang berisi metode-metode mesin pembelajaran dalam proses regresi, klasifikasi, pengolahan data, dan lain-lain. Fungsi yang disediakan adalah train_test_split dengan parameter berupa proporsi data untuk pengujian. Skicit-Learning atau disingkat Sklearn menyediakan juga sampel data untuk uji coba metode-metode yang ada. Kode berikut membagi data irish menjadi 60% data latih dan 40% data uji. Gunakan Jupyter Notebook atau Google Colab untuk mencoba kode berikut.

  • 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)
  • X.shape, y.shape
  • X_train, X_test, y_train, y_test = train_test_split(
  • X, y, test_size=0.4, random_state=0)
  • X_train.shape, y_train.shape
  • X_test.shape, y_test.shape
  • clf = svm.SVC(kernel=’linear’, C=1).fit(X_train, y_train)
  • clf.score(X_test, y_test)

Contoh di atas menggunakan Support Vector Machine (SVM) dalam melatih model dan mengujinya. Hasil tampil lewat fungsi score.

Tampak akurasi yang dihasilkan sebesar 96,7% ketika diuji dengan data tes sebanyak 40% (test_size=0.4 di kode di atas). Sekian dan semoga bisa sedikit membantu.

Source: scikit-learn.org/stable/modules/cross_validation.html#cross-validation

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.

Satu Balasan ke Membagi Data Latih dan Uji Secara Otomatis Pada Python

  1. Ping balik: Cross Validation dengan Scikit-Learning Python | Rahmadya Trias Handayanto

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.