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.
Sayangnya, contoh dunia nyata sering kali tidak lengkap, yang berarti setidaknya satu nilai fitur tidak ada.
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.
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?