Ukuran dan Kualitas Set Data

“Sampah masuk, sampah keluar”

Pepatah sebelumnya berlaku untuk machine learning. Lagi pula, model Anda sebaik data Anda. Namun, bagaimana cara Anda mengukur kualitas set data dan meningkatkannya? Dan berapa banyak data yang Anda butuhkan untuk mendapatkan hasil yang berguna? Jawabannya bergantung pada jenis masalah yang Anda selesaikan.

Ukuran Set Data

Prinsipnya secara kasar, model Anda harus melatih setidaknya urutan dengan magnitudo lebih banyak contoh daripada parameter yang dapat dilatih. Model sederhana pada set data besar umumnya mengalahkan model mewah pada set data kecil. Google telah sukses besar dalam melatih model regresi linear sederhana pada set data besar.

Apa yang dianggap sebagai "jumlah" data? Hal ini bergantung pada project. Pertimbangkan ukuran relatif set data ini:

Set data Ukuran (jumlah contoh)
Set data bunga Iris 150 (total ditetapkan)
MovieLens (set data 20 juta) 20.000.263 (total set)
Smart Reply Google Gmail 238.000.000 (set pelatihan)
Ngram Google Buku 468.000.000.000 (total set)
Google Terjemahan triliun

Seperti yang dapat Anda lihat, set data tersedia dalam berbagai ukuran.

Kualitas Set Data

Tidak ada gunanya memiliki banyak data jika itu adalah data yang buruk; kualitas juga penting. Namun, apa yang termasuk sebagai "kualitas"? Ini adalah istilah yang samar. Pertimbangkan untuk mengambil pendekatan empiris dan memilih opsi yang menghasilkan hasil terbaik. Dengan pola pikir tersebut, set data yang berkualitas adalah yang memungkinkan Anda berhasil dengan masalah bisnis yang penting bagi Anda. Dengan kata lain, data dianggap baik jika mencapai tugas yang diinginkan.

Namun, meskipun mengumpulkan data, sebaiknya Anda memiliki definisi kualitas yang lebih konkret. Aspek kualitas tertentu cenderung sesuai dengan model yang berperforma lebih baik:

  • keandalan
  • representasi fitur
  • meminimalkan kemiringan

Keandalan

Keandalan mengacu pada sejauh mana Anda dapat memercayai data Anda. Model yang dilatih pada set data yang andal cenderung menghasilkan prediksi yang berguna dibandingkan model yang dilatih pada data yang tidak dapat diandalkan. Dalam mengukur keandalan, Anda harus menentukan:

  • Seberapa umum error label? Misalnya, jika data Anda diberi label oleh manusia, terkadang manusia membuat kesalahan.
  • Apakah fitur Anda terganggu? Misalnya, pengukuran GPS berfluktuasi. Tidak ada derau. Anda tidak akan pernah menghapus kumpulan data semua derau. Anda juga dapat mengumpulkan lebih banyak contoh.
  • Apakah data Anda difilter dengan benar untuk masalah Anda? Misalnya, apakah set data Anda harus menyertakan kueri penelusuran dari bot? Jika Anda membuat sistem deteksi spam, kemungkinan jawabannya adalah ya, tetapi jika Anda mencoba meningkatkan hasil penelusuran untuk manusia, berarti tidak.

Apa yang membuat data tidak dapat diandalkan? Ingat kembali dari Kursus Crash Machine Learning bahwa banyak contoh dalam set data tidak dapat diandalkan karena satu atau beberapa hal berikut:

  • Nilai yang dihilangkan. Misalnya, seseorang lupa memasukkan nilai usia rumah.
  • Contoh duplikat. Misalnya, server salah mengupload log yang sama dua kali.
  • Label buruk. Misalnya, seseorang salah memberi label pada gambar pohon ek sebagai maple.
  • Nilai fitur buruk. Misalnya, seseorang mengetik angka tambahan, atau termometer ditinggalkan di bawah sinar matahari.

Google Terjemahan berfokus pada keandalan untuk memilih "subkumpulan terbaik" dari datanya; yaitu, beberapa data memiliki label berkualitas lebih tinggi daripada bagian lain.

Representasi Fitur

Ingat kembali dari Machine Learning Crash Course bahwa representasi adalah pemetaan data ke fitur yang berguna. Anda harus mempertimbangkan pertanyaan berikut:

  • Bagaimana data ditampilkan ke model?
  • Haruskah Anda menormalisasi nilai numerik?
  • Bagaimana sebaiknya Anda menangani pencilan?

Bagian Mentransformasi Data Anda dalam kursus ini akan berfokus pada representasi fitur.

Pelatihan versus Prediksi

Katakanlah Anda mendapatkan hasil yang bagus secara offline. Kemudian dalam eksperimen langsung, hasil tersebut tidak dapat dipertahankan. Apa yang mungkin terjadi?

Masalah ini menunjukkan bias pelatihan/penayangan—yaitu, hasil yang berbeda dihitung untuk metrik Anda pada waktu pelatihan vs. waktu penayangan. Penyebab kemiripan bisa tidak kentara, tetapi memiliki efek mematikan pada hasil. Selalu pertimbangkan data yang tersedia untuk model Anda pada waktu prediksi. Selama pelatihan, gunakan hanya fitur yang akan Anda sediakan dalam penayangan, dan pastikan set pelatihan Anda mewakili traffic penayangan Anda.