Set data: Karakteristik data

Set data adalah kumpulan contoh.

Banyak set data yang menyimpan data dalam tabel (petak), misalnya, sebagai nilai yang dipisahkan koma (CSV) atau langsung dari spreadsheet atau tabel database. Tabel adalah format input intuitif untuk model machine learning. Anda dapat membayangkan setiap baris tabel sebagai contoh dan setiap kolom sebagai potensi fitur atau label. Meskipun demikian, set data juga dapat berasal dari format lain, termasuk file log dan buffering protokol.

Terlepas dari formatnya, kualitas model ML Anda hanya bergantung pada data yang digunakan untuk melatihnya. Bagian ini membahas karakteristik data utama.

Jenis data

Set data dapat berisi banyak jenis jenis data, termasuk, tetapi tidak terbatas pada:

  • data numerik, yang dibahas dalam unit terpisah
  • data kategorik, yang dicakup dalam unit terpisah
  • bahasa manusia, termasuk kata dan kalimat individual, hingga seluruh dokumen teks
  • multimedia (seperti gambar, video, dan file audio)
  • output dari sistem ML lainnya
  • vektor penyematan, yang akan dibahas di unit berikutnya

Jumlah data

Sebagai aturan praktis, model Anda harus dilatih dengan setidaknya satu urutan besar (atau dua) contoh lebih banyak daripada parameter yang dapat dilatih. Namun, model yang baik umumnya dilatih dengan contoh yang secara substansial lebih banyak dari itu.

Model yang dilatih pada set data besar dengan sedikit fitur umumnya mengungguli model yang dilatih pada set data kecil dengan banyak fitur. Secara historis, Google telah berhasil melatih model sederhana pada set data besar.

Set data yang berbeda untuk program machine learning yang berbeda mungkin memerlukan jumlah contoh yang sangat berbeda untuk membuat model yang berguna. Untuk beberapa masalah yang relatif sederhana, beberapa lusin contoh mungkin sudah cukup. Untuk masalah lainnya, satu triliun contoh mungkin tidak memadai.

Anda bisa mendapatkan hasil yang baik dari set data kecil jika menyesuaikan model yang ada yang telah dilatih dengan data dalam jumlah besar dari skema yang sama.

Kualitas dan keandalan data

Semua orang lebih memilih kualitas tinggi daripada kualitas rendah, tetapi kualitas adalah konsep yang sangat samar sehingga dapat didefinisikan dengan berbagai cara. Kursus ini menentukan kualitas secara pragmatis:

Set data berkualitas tinggi membantu model Anda mencapai tujuannya. Set data berkualitas rendah menghambat model Anda untuk mencapai sasarannya.

Set data berkualitas tinggi biasanya juga dapat diandalkan. Keandalan mengacu pada tingkat kepercayaan Anda terhadap data. Model yang dilatih pada set data yang andal lebih cenderung menghasilkan prediksi yang berguna daripada model yang dilatih pada data yang tidak andal.

Dalam mengukur keandalan, Anda harus menentukan:

  • Seberapa sering error label terjadi? Misalnya, jika data Anda diberi label oleh manusia, seberapa sering penilai manusia Anda melakukan kesalahan?
  • Apakah fitur Anda berisik? Artinya, apakah nilai dalam fitur Anda berisi error? Bersikaplah realistis—Anda tidak dapat menghapus semua derau dari set data. Beberapa derau adalah hal yang normal; misalnya, pengukuran GPS dari lokasi apa pun selalu berfluktuasi sedikit, dari minggu ke minggu.
  • Apakah data difilter dengan benar untuk masalah Anda? Misalnya, haruskah set data Anda menyertakan kueri penelusuran dari bot? Jika Anda mem-build sistem deteksi spam, kemungkinan jawabannya adalah ya. Namun, jika Anda mencoba meningkatkan hasil penelusuran untuk manusia, jawabannya adalah tidak.

Berikut adalah penyebab umum data yang tidak dapat diandalkan dalam set data:

  • Nilai yang dihilangkan. Misalnya, seseorang lupa memasukkan nilai untuk usia rumah.
  • Contoh duplikat. Misalnya, server salah mengupload entri log yang sama dua kali.
  • Nilai fitur yang buruk. Misalnya, seseorang mengetik digit tambahan, atau termometer dibiarkan di bawah sinar matahari.
  • Label buruk. Misalnya, seseorang salah melabeli gambar pohon ek sebagai pohon maple.
  • Bagian data yang buruk. Misalnya, fitur tertentu sangat andal, kecuali pada satu hari saat jaringan terus mengalami error.

Sebaiknya gunakan otomatisasi untuk menandai data yang tidak dapat diandalkan. Misalnya, pengujian unit yang menentukan atau mengandalkan skema data formal eksternal dapat menandai nilai yang berada di luar rentang yang ditentukan.

Contoh lengkap vs. tidak lengkap

Dalam dunia yang sempurna, setiap contoh lengkap; yaitu, setiap contoh berisi nilai untuk setiap fitur.

Gambar 1. Contoh yang berisi nilai untuk kelima
       fiturnya.
Gambar 1. Contoh lengkap.

 

Sayangnya, contoh dunia nyata sering kali tidak lengkap, yang berarti setidaknya satu nilai fitur tidak ada.

Gambar 2. Contoh yang berisi nilai untuk empat dari lima
            fiturnya. Satu fitur ditandai sebagai tidak ada.
Gambar 2. Contoh yang tidak lengkap.

 

Jangan melatih model dengan contoh yang tidak lengkap. Sebagai gantinya, perbaiki atau hapus contoh yang tidak lengkap dengan melakukan salah satu hal berikut:

  • Menghapus contoh yang tidak lengkap.
  • Impute nilai yang tidak ada; yaitu, konversikan contoh yang tidak lengkap menjadi contoh yang lengkap dengan memberikan tebakan yang masuk akal untuk nilai yang tidak ada.
Gambar 3. Set data yang berisi tiga contoh, dua di antaranya adalah
            contoh yang tidak lengkap. Seseorang telah menghapus dua contoh
            yang tidak lengkap ini dari set data.
Gambar 3. Menghapus contoh yang tidak lengkap dari set data.

 

Gambar 4. Set data yang berisi tiga contoh, dua di antaranya adalah
            contoh yang tidak lengkap yang berisi data yang hilang. Beberapa entitas (manusia
            atau software imputasi) telah mengimputasi nilai yang menggantikan
            data yang hilang.
Gambar 4. Memasukkan nilai yang tidak ada untuk contoh yang tidak lengkap.

 

Jika set data berisi cukup contoh lengkap untuk melatih model yang berguna, pertimbangkan untuk menghapus contoh yang tidak lengkap. Demikian pula, jika hanya satu fitur yang tidak memiliki data dalam jumlah yang signifikan dan satu fitur tersebut mungkin tidak dapat banyak membantu model, sebaiknya hapus fitur tersebut dari input model dan lihat seberapa banyak kualitas yang hilang karena penghapusannya. Jika model berfungsi dengan baik atau hampir sama baiknya tanpanya, itu bagus. Sebaliknya, jika Anda tidak memiliki cukup contoh lengkap untuk melatih model yang berguna, Anda dapat mempertimbangkan untuk memasukkan nilai yang hilang.

Anda dapat menghapus contoh yang tidak berguna atau berlebihan, tetapi tidak boleh menghapus contoh yang penting. Sayangnya, sulit untuk membedakan antara contoh yang tidak berguna dan yang berguna. Jika Anda tidak dapat memutuskan apakah akan menghapus atau melakukan imputasi, pertimbangkan untuk membuat dua set data: satu dibuat dengan menghapus contoh yang tidak lengkap dan yang lainnya dengan melakukan imputasi. Kemudian, tentukan set data mana yang melatih model yang lebih baik.


Salah satu algoritma umum adalah menggunakan nilai rata-rata atau median sebagai nilai yang dimasukkan. Akibatnya, saat Anda merepresentasikan fitur numerik dengan skor Z, nilai yang dimasukkan biasanya 0 (karena 0 umumnya adalah skor Z rata-rata).

Latihan: Periksa pemahaman Anda

Berikut adalah dua kolom set data yang diurutkan menurut Timestamp.

Stempel waktu Suhu
8 Juni 2023 09.00 12
8 Juni 2023 10.00 18
8 Juni 2023 11.00 tidak ada
8 Juni 2023 12.00 24
8 Juni 2023 13.00 38

Manakah dari opsi berikut yang akan menjadi nilai yang wajar untuk dimasukkan untuk nilai Suhu yang tidak ada?

23
Mungkin. 23 adalah nilai rata-rata dari nilai yang berdekatan (12, 18, 24, dan 38). Namun, kita tidak melihat set data lainnya, sehingga ada kemungkinan bahwa 23 akan menjadi outlier untuk pukul 11.00 pada hari lain.
31
Tidak mungkin. Bagian terbatas dari set data yang dapat kita lihat menunjukkan bahwa 31 terlalu tinggi untuk Suhu pukul 11.00. Namun, kita tidak dapat memastikannya tanpa mendasarkan imputasi pada lebih banyak contoh.
51
Sangat tidak mungkin. 51 jauh lebih tinggi daripada nilai yang ditampilkan (dan, oleh karena itu, jauh lebih tinggi daripada nilai rata-rata).