Teknologi & Internet

Splitting Data: Pengertian, Fungsi, Cara Kerja

Pinterest LinkedIn Tumblr

Dalam mengerjakan proyek machine learning, biasanya proses ini dimulai dari data dan berakhir dengan sebuah keputusan yang didalamnya sudah memanfaatkan data (data-driven). Diantara dua titik tersebut, akan ada banyak proses, yang beberapa diantaranya bersifat wajib, namun ada juga proses yang dilakukan untuk meningkatkan kinerja.

Splitting Data termasuk salah satu proses yang tidak hanya diperlukan, namun jika kita lakukan dengan benar, hasil model yang kita buat akan jauh lebih baik.

Dalam artikel kali ini, kami akan mengajak kamu untuk membahas konsep dasar Splitting Data, baik dalam data science secara umum, maupun pada hal yang lebih spesifik seperti machine learning.

Mari kita mulai dengan memahami apa itu Splitting Data?

Pengertian Splitting Data

Data Splitting (pembagian data) adalah proses ketika sekumpulan data dibagi menjadi dua atau tiga subset, sehingga model data yang kita buat bisa dilatih, diuji, atau dievaluasi.

Data Splitting merupakan salah satu aspek yang memiliki peran penting pada data science atau machine learning, terutama untuk membuat sebuah model yang didasarkan pada data.

Proses ini akan membantu kita untuk membuat model data yang mampu menghasilkan output yang lebih akurat. Dalam praktek yang lebih umum, proses Data Splitting biasanya akan membagi data menjadi dua atau tiga, dari dataset utama.

Jika data dibagi menjadi dua bagian, itu berarti satu data akan digunakan untuk melatih model, sedangkan satunya lagi akan digunakan untuk menguji. Namun jika data dibagi menjadi 3, berarti data ini akan digunakan untuk proses pelatihan, pengujian, dan validasi.

Untuk memahami proses ini lebih jauh, mari simak analogi dibawah ini.

Misalnya kita akan membuat dataset yang dikategorikan berdasarkan jenis kelamin, yaitu Laki-laki dan Perempuan.

Pada data yang telah dikumpulkan, kita hanya tahu dua hal, yakni berat badan dan nada suara dari data tersebut.

Sebelum membuat model dari data tersebut, maka kita harus membagi data untuk mengklasifikasikan data kedalam Laki-laki atau Perempuan, berdasarkan klasifikasi yang sudah kita miliki.

Fungsi Splitting Data

Pembagian Data umumnya difungsikan sebagai pelengkap dari sekian proses untuk mengolah data. Berikut beberapa fungsi dan pemanfaatan Split Data:

1. Data modelling

Pada Data modelling, kita bisa memanfaatkan data splitting untuk melatih model yang akan dibuat. Misalnya ketika melakukan pengujian terhadap model regresi, sebuah model yang digunakan untuk memprediksi respon sistem dengan nilai tertentu. Dengan nilai tersebut, kita akan membagi sebagian data untuk digunakan sebagai data pelatihan.

Kemudian kita bisa membandingkan hasil tersebut dengan data yang diuji pada model regresi. Proses ini akhirnya bisa memberikan pemahaman yang lebih baik terhadap akurasi model tersebut.

2. Machine Learning

Pembuatan Machine Learning juga memanfaatkan splitting data untuk melatih model. Data pelatihan akan ditambahkan kedalam model untuk memperbarui parameter dalam fase pelatihan. Ketika fase pelatihan  sudah selesai, data yang berasal dari set pengujian kemudian dibandingkan dengan bagaimana model, ketika melakukan pengamatan baru.

3. Cryptographic Splitting

Cryptographic splitting juga memanfaatkan pemisahan data, hanya saja ini adalah proses yang berbeda dari kedua contoh diatas. Cryptographic splitting adalah teknik yang digunakan untuk melakukan pengamanan data pada jaringan komputer.

Cryptographic splitting dimaksudkan untuk melindungi sistem dari kebocoran data, yang dalam prosesnya melibatkan enkripsi, lalu membagi data kedalam potongan yang lebih kecil, dan menyimpan potongan tersebut ke dalam lokasi yang berbeda. Pun data yang dienkripsi, ia juga akan disimpan kedalam lokasi yang berbeda.

Metode Data Splitting

Perlu kita ketahui bahwa selama ini belum ada pedoman atau matrik yang digunakan pada data splitting, jadi prosesnya akan sangat dipengaruhi oleh jumlah data atau jumlah prediktor dari model prediktif yang digunakan. Namun kita bisa memilih untuk melakukan pemisahan data yang berdasarkan metode pengambilan sampel, seperti:

  • Random sampling: Metode pengambilan sampel ini akan bisa melindungi model data dari bias terhadap karakteristik data yang berbeda-beda. Namun perlu kita tahu, terkadang random splitting (pembagian acak) memiliki masalah pada distribusi data yang tidak merata.
  • Stratified random sampling: Ini merupakan metode untuk memilih sampel data secara acak, namun sudah ditambahkan dengan parameter yang spesifik. Melalui metode ini, kita bisa menghilangkan masalah terkait pendistribusian data. Stratified random sampling akan memastikan data terdistribusi dengan baik kedalam data pelatihan  dan data pengujian.
  • Non Random sampling; Metode ini umumnya digunakan ketika kita membutuhkan data terbaru yang ada di dalam set pengujian.

Cara Kerja Data Splitting

Pada machine learning, banyak pihak yang lebih menyarankan untuk melakukan data splitting secara acak ke dalam 3 set, yakni training set, testing set dan validation set.

  • Training set: merupakan sebuah subset dari dataset utama yang akan dimasukan kedalam model, yang akan membuat model tersebut belajar tentang pola data.
  • Validation Set: Set ini bisa kita gunakan untuk memahami performa dari sebuah model, dengan cara membandingkan dengan model yang berbeda, dan pilihan hiperparameter yang berbeda pula.
  • Test Set: set ini akan digunakan untuk melakukan pengecekan terhadap akurasi final model.

Mari kita bahas 3 subset diatas, melalui pembahasan dibawah ini:

1. Train Data

Train Data merupakan sebuah subset data bertanggung jawab untuk melatih model. Biasanya, model machine learning belajar memprediksi dengan memahami pola dan informasi yang ada pada data tersebut. Pada contoh sebelumnya, Model akan belajar memahami pola dan variabel yang ada pada masing-masing data melalui berat badan dan nada suara.

Ketika kita hendak membuat Train Data yang berasal dari kumpulan data, kita harus mempertimbangkan seberapa besar representasi dari data tersebut. Itu berarti, Data yang akan kita ekstraksi harus memiliki jumlah populasi yang cukup untuk masing-masing kelas data.

Selain itu, kita juga harus memastikan bahwa data yang diekstrak tidak bias, karena data yang terdapat bias akan membuat model menjadi tidak akurat.

2. Validation data

Hal yang harus kita pahami pada Validation data adalah, jika kita menggunakan data yang sama untuk pelatihan dan penyetingan model, hal ini bisa mengakibatkan overfitting yang akhirnya membuat model tidak mampu melakukan generalisasi dengan baik.

Itu artinya, Validation data haruslah berasal dari data yang independen dan tidak bias. Sangat disarankan bagi kita untuk tidak menggunakan Train data pada Evaluation Data.

Pun jika kita membuat beberapa model pada setiap data, dengan maksud untuk memilih satu model yang terbaik, kita juga bisa memilih model yang paling baik dengan memanfaatkan Validation Data ini.

3. Test Data

Test Data adalah proses selanjutnya yang mana ini merupakan fase untuk menguji kinerja dari model yang telah melalui serangkain proses sebelumnya (latihan data, validasi, dan pemilihan model). Pada tahap ini, kita harus lebih berhati-hati, karena jika kita lakukan lebih awal, hal ini akan menyebabkan overfitting, yang akhirnya memiliki kinerja yang tidak maksimal.

Jadi Test Data harus dilakukan pada bagian paling akhir, setelah melalui validation set dan final model telah dipilih.

Referensi
https://www.techtarget.com/searchenterpriseai/definition/data-splitting
https://medium.com/@datasciencewizards/a-guide-to-data-splitting-in-machine-learning-49a959c95fa1

Write A Comment