Tentang pemisahan data untuk model AutoML

Halaman ini menjelaskan cara Vertex AI menggunakan set pelatihan, validasi, dan pengujian data Anda untuk melatih model AutoML serta cara mengontrol pemisahan data di antara ketiga set ini. AutoML menggunakan pemisahan data yang berbeda-beda, tergantung jenis data dari data pelatihan.

Halaman ini menjelaskan pemisahan data untuk data gambar dan video. Guna mengetahui informasi tentang pemisahan data untuk data tabulasi, lihat Pemisahan data untuk data tabulasi.

Gambar

Untuk set data gambar, AutoML menggunakan set pelatihan untuk melatih model, dan set validasi untuk memvalidasi hasil yang ditampilkan model selama pelatihan. Setelah pelatihan selesai, AutoML menggunakan set pengujian untuk memberikan metrik evaluasi akhir.

Video

Untuk set data video, AutoML menggunakan set pelatihan untuk melatih model, lalu menggunakan set pengujian untuk memberikan metrik evaluasi akhir. Set validasi tidak digunakan untuk set data video.

Anda dapat mengizinkan Vertex AI membagi data Anda secara otomatis. Data Anda akan dipisahkan secara acak menjadi tiga set berdasarkan persentase. Ini adalah cara termudah untuk memisahkan data Anda, dan berfungsi dengan baik dalam kebanyakan kasus.

Disetel Gambar Video
Pelatihan 80 80
Validasi 10 T/A
Pengujian 10 20

Untuk menggunakan pemisahan data default, terima nilai default di konsol Google Cloud , atau kosongkan kolom pemisahan untuk API.

Jika ingin mengontrol cara data Anda dipisahkan menjadi beberapa set, Anda memiliki opsi berikut:

Pilih hanya salah satu opsi berikut saat melatih model Anda. Beberapa opsi ini memerlukan perubahan pada data pelatihan (misalnya, label ml_use). Menyertakan data atau label untuk opsi pemisahan data tidak mengharuskan Anda menggunakan opsi tersebut. Anda masih dapat memilih opsi lain saat melatih model.

Pemisahan manual untuk data yang tidak terstruktur

Pemisahan manual juga disebut sebagai "pemisahan standar".

Agar dapat menggunakan label ml_use untuk mengontrol pemisahan data, Anda harus menetapkan label ml_use pada data.

Menetapkan nilai untuk label ml_use

Anda dapat menetapkan label ml_use untuk data visi dan video pada waktu impor data (per item data atau untuk seluruh file impor), atau setelah data diimpor menggunakan konsol Google Cloud .

Menetapkan ml_use pada setiap item data pada waktu impor

Tetapkan label ml_use di setiap item data dengan menyertakan nilai untuk kolom aiplatform.googleapis.com/ml_use di data JSON Lines, atau menetapkan nilai kolom pertama file CSV. Lihat informasi tentang penyiapan data untuk jenis data Anda guna mengetahui detail selengkapnya.

Jika salah satu item data Anda diulang dalam data (jika cuplikan video atau gambar yang sama muncul beberapa kali dalam file impor), Vertex AI akan menggunakan nilai ml_use untuk item data pertama yang ditemukannya, dan mengabaikan nilai ml_use berikutnya. Item yang pertama ditemukan belum tentu item yang lebih dekat dengan bagian awal file upload.

Menetapkan ml_use untuk seluruh file upload

Jika data dapat disortir menjadi beberapa file upload berbeda berdasarkan nilai ml_use, Anda dapat menetapkan nilai ml_use untuk seluruh file upload menggunakan menu drop-down per file saat Anda mengupload file menggunakan konsol Google Cloud , atau dengan menggunakan kolom peta dataItemLabels di metode datasets.import.

Jika Anda menetapkan ml_use untuk file upload, dan file juga berisi nilai ml_use, nilai ml_use dalam file akan lebih diutamakan daripada nilai seluruh file.

Menetapkan ml_use setelah impor

Setelah mengupload data, Anda dapat menetapkan atau memperbarui nilai ml_use untuk item data tertentu di konsol Google Cloud dengan memilih satu atau beberapa item di tampilan daftar dan menggunakan menu drop-down Tetapkan penggunaan ML.

Jika Anda mengupload file data lagi, meskipun nilai ml_use telah berubah, nilai ml_use tidak akan diperbarui. Anda tidak dapat memperbarui nilai ml_use setelah diimpor menggunakan Vertex AI API.

Menggunakan label ml_use

Saat melatih model, tentukan Manual (Lanjutan) untuk Pemisahan data di konsol Google Cloud . Jika Anda melatih menggunakan Vertex AI API, gunakan objek FilterSplit dengan menentukan labels.aiplatform.googleapis.com/ml_use=training untuk filter pelatihan, labels.aiplatform.googleapis.com/ml_use=validation untuk filter validasi, dan labels.aiplatform.googleapis.com/ml_use=test untuk filter pengujian. Contoh:

model = job.run(
dataset=dataset,
model_display_name=_name,
training_filter_split="labels.aiplatform.googleapis.com/ml_use=training",
validation_filter_split="labels.aiplatform.googleapis.com/ml_use=validation",
test_filter_split="labels.aiplatform.googleapis.com/ml_use=test")

Setiap item data dengan nilai ml_use ditetapkan ke set yang ditentukan. Item data yang tidak menetapkan ml_use akan dikecualikan dari proses pelatihan.

Pemisahan filter data

Anda dapat menggunakan label lain (selain ml-use) dan kolom lainnya untuk memisahkan data menggunakan objek FilterSplit di Vertex AI API. Misalnya, Anda dapat menetapkan trainingFilter ke labels.flower=rose, validationFilter ke labels.flower=daisy, dan testFilter ke labels.flower=dahlia. Setelan ini akan menyebabkan semua data berlabel rose ditambahkan ke set pelatihan, semua data berlabel daisy ditambahkan ke set validasi, dan semua data berlabel dahlia ditambahkan ke set pengujian.

Jika Anda memfilter di beberapa kolom, item data mungkin cocok dengan lebih dari satu filter. Dalam hal ini, set pelatihan akan diprioritaskan, diikuti set validasi, kemudian diikuti set pengujian. Dengan kata lain, item akan dimasukkan ke set pengujian, hanya jika cocok dengan filter untuk set pengujian, tetapi tidak cocok dengan filter pelatihan atau validasi. Jika tidak cocok dengan filter untuk salah satu set, item akan dikecualikan dari pelatihan.

Jangan gunakan kategori untuk pemisahan data yang terkait dengan hal yang akan diprediksi oleh model. Setiap set harus mencerminkan rentang data yang digunakan model untuk membuat prediksi. (Misalnya, jangan gunakan filter yang dijelaskan sebelumnya untuk model yang diharapkan akan mengategorikan foto berdasarkan jenis bunga.)

Jika Anda tidak ingin filter cocok dengan item apa pun, tetapkan ke "-" (tanda minus).

Pemisahan matematika

Pemisahan matematika juga dikenal sebagai "pemisahan pecahan".

Secara default, data Anda dipisahkan secara acak menjadi beberapa set sesuai persentase default untuk jenis data Anda. Anda dapat mengubah persentase ke nilai apa pun yang berjumlah hingga 100 (untuk Vertex AI API, gunakan pecahan yang berjumlah hingga 1,0).

Untuk mengubah persentase (pecahan), gunakan objek FractionSplit untuk menentukan pecahan. Untuk jenis data gambar dan video, Anda juga dapat menggunakan konsolGoogle Cloud untuk memperbarui persentase pemisahan saat Anda melatih model.