Memisahkan Data Anda - Amazon Machine Learning

Kami tidak lagi memperbarui layanan Amazon Machine Learning atau menerima pengguna baru untuk itu. Dokumentasi ini tersedia untuk pengguna yang sudah ada, tetapi kami tidak lagi memperbaruinya. Untuk informasi selengkapnya, lihatApa itu Amazon Machine Learning.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memisahkan Data Anda

Tujuan mendasar dari model ML adalah untuk membuat prediksi akurat pada instance data masa depan di luar yang digunakan untuk melatih model. Sebelum menggunakan model L untuk membuat prediksi, kita perlu mengevaluasi kinerja prediktif model. Untuk memperkirakan kualitas prediksi model L dengan data yang belum terlihat, kita dapat memesan, atau membagi, sebagian dari data yang kita sudah tahu jawabannya sebagai proxy untuk data masa depan dan mengevaluasi seberapa baik model L memprediksi jawaban yang benar untuk data tersebut. Anda membagi sumber data menjadi bagian untuk sumber data pelatihan dan sebagian untuk sumber data evaluasi.

Amazon IL menyediakan tiga opsi untuk membagi data Anda:

  • Pra-split data- Anda dapat membagi data menjadi dua lokasi input data, sebelum mengunggahnya ke Amazon Simple Storage Service (Amazon S3) dan membuat dua sumber data terpisah dengan mereka.

  • Amazon ML-split- Anda dapat memberi tahu Amazon IL untuk membagi data Anda secara berurutan saat membuat sumber data pelatihan dan evaluasi.

  • Amazon ML-split- Anda dapat memberi tahu Amazon XML untuk membagi data Anda menggunakan metode acak unggulan saat membuat sumber data pelatihan dan evaluasi.

Pra-membelah Data Anda

Jika Anda menginginkan kontrol eksplisit atas data dalam sumber data pelatihan dan evaluasi Anda, pisahkan data Anda menjadi lokasi data terpisah, dan buat sumber data terpisah untuk lokasi input dan evaluasi.

Berurutan Memisahkan Data Anda

Cara sederhana untuk membagi data input Anda untuk pelatihan dan evaluasi adalah dengan memilih subset data yang tidak tumpang tindih sambil mempertahankan urutan catatan data. Pendekatan ini berguna jika Anda ingin mengevaluasi model ML-mu pada data untuk tanggal tertentu atau dalam rentang waktu tertentu. Misalnya, katakan bahwa Anda memiliki data keterlibatan pelanggan selama lima bulan terakhir, dan Anda ingin menggunakan data historis ini untuk memprediksi keterlibatan pelanggan di bulan depan. Menggunakan awal rentang untuk pelatihan, dan data dari akhir rentang untuk evaluasi mungkin menghasilkan perkiraan kualitas model yang lebih akurat daripada menggunakan data catatan yang diambil dari seluruh rentang data.

Gambar berikut menunjukkan contoh kapan Anda harus menggunakan strategi pemisahan berurutan versus kapan Anda harus menggunakan strategi acak.

Comparison of sequential and random splitting strategies for time series data.

Ketika Anda membuat sumber data, Anda dapat memilih untuk membagi sumber data secara berurutan, dan Amazon IL menggunakan 70 persen pertama data Anda untuk pelatihan dan 30 persen sisanya dari data untuk evaluasi. Ini adalah pendekatan default saat Anda menggunakan konsol Amazon MLuntuk membagi data Anda.

Memisahkan Data Anda secara acak

Secara acak membagi data input ke dalam pelatihan dan evaluasi sumber data memastikan bahwa distribusi data serupa dalam pelatihan dan evaluasi sumber data. Pilih opsi ini ketika Anda tidak perlu mempertahankan urutan data input Anda.

Amazon IL menggunakan metode pembuatan nomor pseudo-acak unggulan untuk membagi data Anda. Benih didasarkan sebagian pada nilai string input dan sebagian pada isi data itu sendiri. Secara default, konsol Amazon ML-menggunakan lokasi S3 data input sebagai string. Pengguna API dapat memberikan string kustom. Ini berarti bahwa mengingat bucket dan data S3 yang sama, Amazon ML-membagi data dengan cara yang sama setiap saat. Untuk mengubah cara Amazon ML-membagi data, Anda dapat menggunakanCreateDatasourceFromS3,CreateDatasourceFromRedshift, atauCreateDatasourceFromRDSAPI dan memberikan nilai untuk string benih. Saat menggunakan API ini untuk membuat sumber data terpisah untuk pelatihan dan evaluasi, penting untuk menggunakan nilai string benih yang sama untuk sumber data dan bendera pelengkap untuk satu sumber data, untuk memastikan bahwa tidak ada tumpang tindih antara data pelatihan dan evaluasi.

Diagram showing data split into training and evaluation sets using a seed-based method.

Perangkap umum dalam mengembangkan model ML-berkualitas tinggi adalah mengevaluasi model ML pada data yang tidak mirip dengan data yang digunakan untuk pelatihan. Misalnya, misalnya Anda menggunakan L untuk memprediksi genre film, dan data pelatihan Anda berisi film dari genre Adventure, Comedy, dan Documentary. Namun, data evaluasi Anda hanya berisi data dari genre Romantis dan Thriller. Dalam hal ini, model L tidak mempelajari informasi tentang genre Romantis dan Thriller, dan evaluasi tidak mengevaluasi seberapa baik model tersebut mempelajari pola untuk genre Adventure, Comedy, dan Documentary. Akibatnya, informasi genre tidak berguna, dan kualitas prediksi model L untuk semua genre dikompromikan. Model dan evaluasi terlalu berbeda (memiliki statistik deskriptif yang sangat berbeda) untuk menjadi berguna. Hal ini dapat terjadi ketika data input diurutkan berdasarkan salah satu kolom dalam dataset, dan kemudian dibagi secara berurutan.

Jika sumber data pelatihan dan evaluasi Anda memiliki distribusi data yang berbeda, Anda akan melihat peringatan evaluasi dalam evaluasi model Anda. Untuk informasi selengkapnya tentang pemberitahuan evaluasi, lihatPeringatan Evaluasi.

Anda tidak perlu menggunakan pemisahan acak di Amazon MLjika Anda telah mengacak data input Anda, misalnya, dengan menyeret data input secara acak di Amazon S3, atau dengan menggunakan kueri Amazon Redshift SQLrandom()fungsi atau MySQL SQL queryrand()berfungsi saat membuat sumber data. Dalam kasus ini, Anda dapat mengandalkan opsi split sekuensial untuk membuat sumber data pelatihan dan evaluasi dengan distribusi serupa.