Set data adalah kumpulan dari contoh.
Banyak {i>dataset<i} yang menyimpan data dalam tabel ({i>grid<i}), misalnya, nilai yang dipisahkan koma (CSV) atau langsung dari {i>spreadsheet<i} atau tabel-tabel {i>database<i}. Tabel adalah format input yang intuitif untuk mesin mempelajari model. Anda dapat membayangkan setiap baris tabel sebagai contoh dan setiap kolom sebagai fitur atau label potensial. Dengan demikian, {i>dataset<i} juga dapat berasal dari format lain, termasuk file log dan buffering protokol.
Terlepas dari formatnya, model ML Anda hanya akan bagus data yang dilatihnya. Bagian ini membahas karakteristik data utama.
Jenis data
{i>Dataset<i} dapat berisi berbagai jenis tipe data, termasuk tetapi tentunya tidak terbatas pada:
- data numerik, yang dibahas dalam artikel terpisah satuan
- data kategorikal, yang dibahas dalam kumpulan satuan
- bahasa manusia, termasuk kata-kata dan kalimat individu, hingga seluruh dokumen teks
- multimedia (seperti file gambar, video, dan audio)
- output dari sistem ML lain
- vektor yang disematkan, yang dibahas di unit selanjutnya
Jenis data sebelumnya dapat dibagi lagi lebih jauh. Modul berikutnya dalam kursus ini—misalnya, Kategoris Modul data—detail dan membuat subkategori dari tipe data ini.
Jumlah data
Prinsipnya adalah model harus dilatih setidaknya pada satu urutan lebih banyak (atau dua) contoh daripada parameter yang dapat dilatih. Namun, bagus umumnya melatih model yang secara substansial lebih banyak dari itu.
Model yang dilatih dengan set data besar dengan sedikit fitur umumnya mengungguli model yang dilatih pada {i>dataset<i} kecil dengan banyak fitur. Secara historis, Google sangat sukses dalam melatih model sederhana di {i>dataset<i} yang besar.
Set data yang berbeda untuk program machine learning yang berbeda mungkin sangat jumlah contoh yang berbeda untuk membangun model yang berguna. Untuk beberapa organisasi masalah sederhana, beberapa contoh mungkin sudah cukup. Untuk masalah lainnya, satu triliun contoh mungkin tidak cukup.
Anda bisa mendapatkan hasil yang baik dari {i>dataset<i} kecil jika Anda beradaptasi model yang ada sudah dilatih dengan data dalam jumlah besar dari skema yang sama.
Kualitas dan keandalan data
Semua orang lebih suka kualitas tinggi daripada kualitas rendah, tetapi kualitas itu tidak jelas konsep bahwa data dapat didefinisikan dengan banyak cara yang berbeda. Kursus ini mendefinisikan kualitas secara pragmatis:
Set data berkualitas tinggi membantu model Anda mencapai sasarannya. Set data berkualitas rendah menghambat model Anda dalam mencapai sasarannya.
{i>Dataset<i} yang berkualitas tinggi biasanya juga dapat diandalkan. Keandalan mengacu pada sejauh mana Anda dapat memercayai data Anda. Model yang dilatih dengan set data yang andal lebih mungkin memberikan hasil prediksi daripada model yang dilatih dengan data yang tidak dapat diandalkan.
Dalam mengukur keandalan, Anda harus menentukan:
- Seberapa umum kesalahan label? Misalnya, jika data Anda diberi label oleh manusia, seberapa sering penilai manusia Anda membuat kesalahan?
- Apakah fitur Anda berisik? Artinya, lakukan nilai-nilai dalam fitur Anda berisi kesalahan? Bersikaplah realistis—Anda tidak dapat menghapus set data secara permanen dari semua noise. Sedikit derau normal; misalnya, pengukuran GPS terhadap lokasi selalu sedikit berfluktuasi, dari minggu ke minggu.
- Apakah data difilter dengan benar untuk masalah Anda? Misalnya, haruskah kumpulan data Anda menyertakan kueri penelusuran dari bot? Jika Anda membangun sistem deteksi {i>spam<i}, maka jawabannya adalah ya. Namun, jika Anda mencoba meningkatkan hasil penelusuran untuk manusia, maka tidak.
Berikut ini 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 secara tidak sengaja mengunggah entri log dua kali.
- Nilai fitur yang buruk. Misalnya, seseorang mengetik satu digit tambahan, atau termometer diletakkan di bawah sinar matahari.
- Label yang buruk. Misalnya, seseorang salah memberi label gambar pohon ek sebagai pohon maple.
- Bagian data yang buruk. Misalnya, fitur tertentu sangat andal, kecuali satu hari ketika jaringan terus macet.
Sebaiknya gunakan otomatisasi untuk menandai data yang tidak dapat diandalkan. Misalnya, pengujian unit yang menentukan atau bergantung pada skema data formal eksternal dapat nilai penanda yang berada di luar rentang yang ditentukan.
Contoh lengkap vs. contoh tidak lengkap
Dalam dunia yang sempurna, setiap contoh adalah lengkap; artinya, setiap contoh berisi nilai untuk setiap fitur.
Sayangnya, contoh di dunia nyata sering kali tidak lengkap, artinya di setidaknya satu nilai fitur hilang.
Jangan latih model pada contoh yang tidak lengkap. Sebaliknya, perbaiki atau hilangkan contoh yang tidak lengkap dengan melakukan salah satu tindakan berikut:
- Hapus contoh yang tidak lengkap.
- Nilai yang tidak ada Impute; yaitu, mengubah contoh yang tidak lengkap menjadi contoh lengkap dengan memberikan tebakan yang beralasan untuk nilai-nilai yang hilang.
Jika {i>dataset<i} berisi cukup contoh lengkap untuk melatih model yang berguna, pertimbangkan untuk menghapus contoh yang tidak lengkap. Demikian pula, jika hanya satu fitur yang kehilangan banyak data dan satu fitur mungkin tidak banyak membantu model, maka pertimbangkan untuk menghapus fitur tersebut dari input model dan melihat seberapa besar kualitas yang hilang karena dihapus. Jika modelnya berfungsi dengan baik atau hampir sama baiknya tanpa model tersebut, itu bagus. Sebaliknya, jika Anda tidak memiliki cukup contoh lengkap untuk melatih model yang berguna, maka Anda dapat mempertimbangkan untuk memperhitungkan nilai-nilai yang hilang.
Tidak masalah menghapus contoh yang tidak berguna atau berlebihan, tetapi tidak baik untuk menghapus contoh-contoh penting. Sayangnya, sulit untuk membedakan antara contoh yang tidak berguna dan berguna. Jika Anda tidak dapat memutuskan apakah untuk menghapus atau mengurangi, pertimbangkan untuk membuat dua {i>dataset<i}: satu dibentuk dengan menghapus contoh yang tidak lengkap dan yang lain dengan melakukan imputing. Kemudian, tentukan set data mana yang melatih model yang lebih baik.
Salah satu algoritma yang umum adalah menggunakan mean atau median sebagai nilai yang dihitung. Akibatnya, ketika Anda merepresentasikan fitur numerik dengan Skor Z, lalu nilai yang terkait biasanya 0 (karena 0 umumnya adalah rata-rata skor Z).
Latihan: Memeriksa 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 berikut ini yang merupakan nilai yang wajar untuk diimplikasikan untuk nilai Temperature yang tidak ada?