Mempersiapkan data pelatihan Anda

Halaman ini menjelaskan cara menyiapkan data pelatihan Anda sebelum mengimpornya ke Tabel AutoML.

Pengantar

Kualitas data pelatihan Anda sangat memengaruhi efektivitas model yang Anda buat, sehingga kualitas prediksi yang ditampilkan dari model tersebut. Anda tidak dapat mengubah data setelah menguploadnya. Jika perlu mengubah data pelatihan setelah mengimpornya, Anda harus memperbarui data sumber dan mengimpor ulang.

Dengan memahami cara data Anda ditafsirkan dan digunakan oleh AutoML Tables, Anda dapat mengupload data yang bersih dan efektif.

Memahami masalah Anda

Langkah pertama dalam membuat data pelatihan yang efektif adalah memastikan bahwa masalah Anda didefinisikan dengan baik dan akan memberikan hasil prediksi yang dibutuhkan. Jika baru menggunakan machine learning, Anda harus meninjau jenis masalah yang ditangani Tabel AutoML dan memutuskan jenis model apa yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis masalah yang didukung oleh AutoML Tables, lihat Jenis masalah.

Menentukan apa yang harus disertakan dalam {i>dataset<i} Anda

Selanjutnya, Anda harus menentukan data yang akan disertakan dalam data pelatihan Anda. Dalam beberapa kasus, Anda dapat menggunakan tabel yang sudah ada di data bisnis Anda. Dalam kasus lain, Anda harus mengumpulkan data dari sumber yang berbeda, mungkin melakukan beberapa transformasi data, atau menghapus beberapa kolom untuk membuat data pelatihan yang paling efektif.

Persyaratan data pelatihan

Data pelatihan Anda harus sesuai dengan persyaratan berikut:

  • File harus berukuran 100 GB atau lebih kecil.

  • Nilai yang ingin Anda prediksi (kolom target) harus disertakan.

    Jika data tidak memiliki kolom tersebut, AutoML Tables tidak dapat mengaitkan data pelatihan dengan hasil yang diinginkan. Jenis data kolom ini juga menentukan jenis model Anda. Pelajari lebih lanjut.

  • Harus ada setidaknya dua dan tidak lebih dari 1.000 kolom.

    Satu kolom harus menjadi target, dan setidaknya harus ada satu fitur yang tersedia untuk melatih model. Idealnya, data pelatihan Anda memiliki lebih dari dua kolom.

  • Harus ada minimal 1.000 dan tidak lebih dari 200.000.000 baris.

    Bergantung pada jumlah fitur yang dimiliki set data Anda, 1.000 baris mungkin tidak cukup untuk melatih model berperforma tinggi. Pelajari lebih lanjut.

Fitur tambahan berdasarkan data pelatihan

Selain itu, beberapa kemampuan AutoML Tables memerlukan data tertentu untuk disertakan dalam data pelatihan Anda:

Untuk praktik terbaik data lainnya, lihat Praktik terbaik untuk membuat data pelatihan.

Menyiapkan sumber impor

Anda dapat menyediakan data pelatihan model ke AutoML Tables dengan dua cara:

Sumber yang Anda gunakan bergantung pada cara data disimpan, serta ukuran dan kompleksitas data Anda. Jika set data Anda kecil, dan Anda tidak membutuhkan jenis data yang lebih kompleks, CSV mungkin lebih mudah. Untuk set data yang lebih besar yang mencakup array dan struct, Anda harus menggunakan BigQuery.

Untuk kedua sumber impor, data Anda harus memenuhi persyaratan berikut:

  • Memiliki 1.000 hingga 200.000.000 baris.
  • Memiliki antara 2 hingga 1.000 kolom.
  • Sebesar 100 GB atau kurang.

BigQuery

Tabel BigQuery Anda harus menggunakan set data BigQuery multi-regional di lokasi US atau EU. Bergantung pada lokasi tabel BigQuery dan sumber datanya (yang dapat berbeda), Anda perlu memperbarui izin yang tercantum pada tabel di bawah. Perhatikan bahwa perubahan izin mungkin diperlukan pada project beranda Anda (project tempat AutoML Tables berada) atau dalam project asing.

Jenis tabel Lokasi tabel Lokasi sumber data Penambahan peran yang diperlukan
Tabel BigQuery native Project rumah T/A Tidak ada.
Tabel BigQuery native Proyek asing T/A BigQuery Data Viewer untuk project asing. Pelajari lebih lanjut.
Tampilan BigQuery Project yang sama T/A Tidak ada.
Tampilan BigQuery Project yang berbeda T/A BigQuery Data Viewer untuk project asing. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Bigtable Project rumah Project rumah Bigtable Reader untuk project rumah. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Bigtable Project rumah Proyek asing Bigtable Reader untuk project asing. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Bigtable Proyek asing Proyek asing BigQuery Reader dan Bigtable Reader untuk project asing. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Cloud Storage Project rumah Project rumah Tidak ada.
Sumber data BigQuery eksternal yang didukung oleh Cloud Storage Project rumah Proyek asing Storage Object Viewer untuk project asing. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Cloud Storage Proyek asing Proyek asing Storage Object Viewer dan BigQuery Data Viewer untuk project asing. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Google Spreadsheet Project rumah T/A Bagikan file Spreadsheet Anda dengan akun layanan AutoML. Pelajari lebih lanjut.
Sumber data BigQuery eksternal yang didukung oleh Google Spreadsheet Proyek asing T/A BigQuery Reader untuk project asing dan bagikan file Spreadsheet Anda dengan akun layanan AutoML.

Anda tidak perlu menentukan skema untuk tabel BigQuery. AutoML Tables secara otomatis menyimpulkan skema untuk tabel Anda saat mengimpor data.

BigQuery URI Anda (menentukan lokasi data pelatihan) harus sesuai dengan format berikut:

bq://<project_id>.<dataset_id>.<table_id>

URI tidak boleh berisi karakter khusus lainnya.

Untuk mendapatkan informasi tentang jenis data BigQuery dan cara pemetaannya ke dalam Tabel AutoML, lihat tabel BigQuery. Untuk informasi lebih lanjut tentang cara menggunakan sumber data eksternal BigQuery, lihat Pengantar sumber data eksternal.

File CSV

Persyaratan file CSV

File CSV dapat berada di Cloud Storage, atau di komputer lokal Anda. File tersebut harus memenuhi persyaratan berikut:

  • Baris pertama file pertama harus berupa header yang berisi nama kolom. Jika baris pertama dari file berikutnya sama dengan header, baris tersebut juga akan diperlakukan sebagai header. Jika tidak, baris tersebut akan diperlakukan sebagai data.
  • Nama kolom dapat berisi karakter alfanumerik atau garis bawah (_). Nama kolom tidak boleh diawali dengan garis bawah.
  • Karakter pemisah harus berupa koma (",").
  • Setiap file tidak boleh lebih besar dari 10 GB.

    Anda dapat menyertakan beberapa file, dengan total ukuran maksimum 100 GB.

Anda tidak perlu menentukan skema untuk data CSV Anda. AutoML Tables secara otomatis menyimpulkan skema untuk tabel saat Anda mengimpor data, dan menggunakan baris header untuk nama kolom.

Untuk informasi selengkapnya tentang format file CSV dan jenis data, lihat file CSV.

Persyaratan bucket Cloud Storage

Jika Anda mengimpor data dari Cloud Storage, data tersebut harus berada dalam bucket yang memenuhi persyaratan berikut:

Jika Anda mengimpor data dari komputer lokal, Anda harus memiliki bucket Cloud Storage yang memenuhi persyaratan berikut:

AutoML Tables menggunakan bucket ini sebagai area staging sebelum mengimpor data Anda.

Anda harus menggunakan konsol Google Cloud untuk mengimpor file CSV dari komputer lokal Anda.

Cara pemisahan data digunakan

Saat menggunakan set data untuk melatih model, data Anda dibagi menjadi tiga bagian: set pelatihan, set validasi, dan set pengujian.

Set pelatihan dan validasi digunakan untuk mencoba berbagai kombinasi opsi pra-pemrosesan, arsitektur, dan hyperparameter. Uji coba ini menghasilkan model terlatih yang kemudian dievaluasi berdasarkan set validasi untuk mengetahui kualitas dan memandu eksplorasi kombinasi opsi tambahan.

Setelah uji coba lain tidak lagi menghasilkan peningkatan kualitas, versi model tersebut dianggap sebagai model akhir yang terlatih dengan performa terbaik. Selanjutnya, AutoML Tables melatih dua model lainnya, menggunakan parameter dan arsitektur yang ditentukan dalam fase penyesuaian paralel:

  1. Model yang dilatih dengan set pelatihan dan validasi Anda.

    AutoML Tables menghasilkan metrik evaluasi model pada model ini menggunakan set pengujian Anda. Ini adalah pertama kalinya set pengujian digunakan dalam proses. Pendekatan ini memastikan bahwa metrik evaluasi akhir merupakan cerminan yang tidak bias dari seberapa baik performa model akhir yang telah dilatih dalam tahap produksi.

  2. Model yang dilatih dengan set pelatihan, validasi, dan pengujian Anda.

    Model ini adalah model yang Anda gunakan untuk meminta prediksi.

Tentang mengontrol pembagian data

Secara default, AutoML Tables secara acak memilih 80% baris data Anda untuk pelatihan, 10% untuk validasi, dan 10% untuk pengujian. Untuk set data yang tidak berubah seiring waktu, relatif seimbang, dan yang mencerminkan distribusi data yang akan digunakan untuk prediksi dalam produksi, algoritma pemilihan acak biasanya cukup. Tujuan utamanya adalah untuk memastikan bahwa set pengujian Anda secara akurat mewakili data yang akan dilihat model dalam produksi. Hal ini memastikan bahwa metrik evaluasi memberikan sinyal yang akurat tentang performa model pada data dunia nyata.

Berikut adalah beberapa momen saat Anda mungkin ingin secara aktif memilih baris yang digunakan dalam pemisahan data:

  • Data Anda bersifat mendesak.

    Dalam hal ini, Anda harus menggunakan Kolom waktu, atau pemisahan manual yang mengakibatkan data terbaru digunakan sebagai set pengujian.

  • Data uji Anda mencakup data dari populasi yang tidak akan direpresentasikan dalam produksi.

    Misalnya, Anda melatih model dengan data pembelian dari sejumlah toko. Namun, Anda tahu bahwa model akan digunakan terutama untuk membuat prediksi untuk penyimpanan yang tidak ada dalam data pelatihan. Untuk memastikan model dapat melakukan generalisasi ke penyimpanan yang tidak terlihat, Anda harus memisahkan set data berdasarkan toko. Dengan kata lain, set pengujian Anda hanya boleh menyertakan penyimpanan yang berbeda dengan set evaluasi, dan set evaluasi hanya boleh menyertakan penyimpanan yang berbeda dari set pelatihan.

  • Class Anda tidak seimbang.

    Jika memiliki lebih banyak class daripada yang lain dalam data pelatihan, Anda mungkin perlu menyertakan lebih banyak contoh class minoritas secara manual dalam data pengujian. AutoML Tables tidak melakukan pengambilan sampel bertingkat, sehingga set pengujian dapat menyertakan terlalu sedikit atau bahkan nol contoh class minoritas.

Anda dapat mengontrol baris yang dipilih untuk pemisahan menggunakan salah satu dari dua pendekatan:

Jika Anda menentukan kolom pemisahan data dan kolom Waktu, hanya kolom pemisahan data yang akan digunakan untuk membagi data Anda.

Kolom pembagian data

Kolom pemisahan data memungkinkan Anda memilih baris tertentu yang akan digunakan untuk pelatihan, validasi, dan pengujian. Saat membuat data pelatihan, tambahkan kolom yang dapat berisi salah satu nilai (peka huruf besar/kecil) berikut:

  • TRAIN
  • VALIDATE
  • TEST
  • UNASSIGNED

Nilai dalam kolom ini harus merupakan salah satu dari dua kombinasi berikut:

  • Semua TRAIN, VALIDATE, dan TEST
  • Hanya TEST dan UNASSIGNED

Setiap baris harus memiliki nilai untuk kolom ini; nilainya tidak boleh berupa string kosong.

Misalnya, dengan semua set ditentukan:

"TRAIN","John","Doe","555-55-5555"
"TEST","Jane","Doe","444-44-4444"
"TRAIN","Roger","Rogers","123-45-6789"
"VALIDATE","Sarah","Smith","333-33-3333"

Dengan hanya set pengujian yang ditentukan:

"UNASSIGNED","John","Doe","555-55-5555"
"TEST","Jane","Doe","444-44-4444"
"UNASSIGNED","Roger","Rogers","123-45-6789"
"UNASSIGNED","Sarah","Smith","333-33-3333"

Kolom pemisahan data dapat memiliki nama kolom yang valid.

Jika nilai kolom pembagian data adalah UNASSIGNED, AutoML Tables akan otomatis menetapkan baris tersebut ke set pelatihan atau validasi.

Setelah mengimpor data, Anda memilih Pemisahan data Manual dan menentukan kolom ini sebagai kolom pembagian data. (Anda juga dapat menggunakan kolom mlUseColumnSpecId.)

Kolom Waktu

Anda menggunakan kolom Waktu untuk memberi tahu AutoML Tables bahwa waktu penting bagi data Anda; waktu tidak didistribusikan secara acak dari waktu ke waktu. Saat Anda menentukan kolom Waktu, AutoML Tables menggunakan 80% baris paling awal untuk pelatihan, 10% baris berikutnya untuk validasi, dan 10% baris terbaru untuk pengujian.

AutoML Tables memperlakukan setiap baris sebagai contoh pelatihan yang independen dan terdistribusi secara identik; menetapkan kolom Waktu tidak mengubah ini. Kolom Waktu hanya digunakan untuk memisahkan set data.

Anda harus menyertakan nilai untuk kolom Waktu untuk setiap baris dalam {i>dataset<i} Anda. Pastikan kolom Waktu memiliki cukup nilai yang berbeda, sehingga kumpulan evaluasi dan pengujian tidak kosong. Biasanya, memiliki minimal 20 nilai yang berbeda sudah cukup.

Kolom Waktu harus memiliki jenis data Timestamp.

Selama peninjauan skema, Anda memilih kolom ini sebagai kolom Waktu. (Di API, gunakan kolom timeColumnSpecId.) Pilihan ini hanya berlaku jika Anda belum menentukan kolom pembagian data.

Jika Anda memiliki kolom terkait waktu yang tidak ingin digunakan untuk memisahkan data, tetapkan jenis data untuk kolom tersebut ke Timestamp, tetapi jangan menetapkannya sebagai kolom Waktu.

Tentang menggunakan bobot dalam data pelatihan Anda

Secara default, AutoML Tables memberi bobot setiap baris data pelatihan Anda secara merata-- tidak ada baris yang dianggap lebih penting untuk tujuan pelatihan dibandingkan baris lainnya.

Terkadang, Anda mungkin ingin beberapa baris memiliki nilai yang lebih penting untuk pelatihan. Misalnya, jika menggunakan data pengeluaran, Anda mungkin ingin data mengenai mereka yang membelanjakan lebih banyak uang memiliki dampak lebih besar terhadap model. Jika Anda tidak ingin melewatkan hasil tertentu, Anda dapat menambahkan bobot pada baris dengan hasil tersebut.

Anda memberikan bobot relatif pada baris dengan menambahkan kolom bobot ke set data. Kolom bobot harus berupa kolom Angka. Anda menggunakannya untuk menentukan nilai dari 0 hingga 10000. Nilai yang lebih tinggi akan memberi tahu AutoML Tables bahwa baris akan lebih penting saat melatih model. Bobot 0 berarti bahwa baris diabaikan. Jika Anda menyertakan kolom bobot, kolom tersebut harus berisi nilai untuk setiap baris.

Kemudian, saat meninjau skema, Anda menentukan kolom ini sebagai kolom Bobot. (Anda juga dapat menggunakan kolom weightColumnSpecId.)

Skema pembobotan kustom hanya digunakan untuk melatih model. Skema tersebut tidak memengaruhi evaluasi model.

Persyaratan untuk kolom target

Kolom target harus sesuai dengan persyaratan berikut:

  • Nilainya harus Kategoris atau Numerik.
  • Jika bersifat Kategori, harus memiliki minimal 2 dan tidak lebih dari 500 nilai yang berbeda.
  • Atribut ini tidak boleh nullable.

Langkah selanjutnya