Halaman ini menunjukkan cara melatih model klasifikasi atau regresi dari set data tabulasi menggunakan konsol Google Cloud atau Agent Platform API.
Sebelum memulai
Sebelum melatih model, Anda harus menyelesaikan langkah-langkah berikut:
Melatih model
Konsol Google Cloud
Di konsol Google Cloud , di bagian Agent Platform, buka halaman Datasets.
Klik nama set data yang ingin Anda gunakan untuk melatih model agar dapat membuka halaman detailnya.
Jika jenis data Anda menggunakan kumpulan anotasi, pilih kumpulan anotasi yang ingin digunakan untuk model ini.
Klik Train new model.
Pilih Other.
Di halaman Train new model, selesaikan langkah-langkah berikut ini:
Pilih metode pelatihan modelnya.
AutoMLadalah pilihan yang tepat untuk berbagai macam kasus penggunaan.
Klik Continue.
Masukkan nama tampilan untuk model baru Anda.
Pilih kolom target Anda.
Kolom target adalah nilai yang akan diprediksi oleh model.
Pelajari lebih lanjut tentang persyaratan kolom target.
Opsional: Untuk mengekspor set data pengujian ke BigQuery, centang Export test dataset to BigQuery dan berikan nama tabel.
Opsional: Untuk memilih cara memisahkan data antara set pelatihan, pengujian, dan validasi, buka Advanced options. Anda dapat memilih di antara opsi pemisahan data berikut ini:
- Acak (Default): Platform Agen secara acak memilih baris yang terkait dengan setiap set data. Secara default, Platform Agen memilih 80% baris data Anda untuk set pelatihan, 10% untuk set validasi, dan 10% untuk set pengujian.
- Manual: Agent Platform memilih baris data untuk setiap set data berdasarkan nilai dalam kolom pemisahan data. Berikan nama kolom pembagian data tersebut.
- Kronologis: Agent Platform membagi data berdasarkan stempel waktu dalam kolom waktu. Masukkan nama kolom waktu.
Pelajari lebih lanjut tentang pemisahan data.
Klik Continue.
Opsional: Klik Generate statistics. Membuat statistik akan mengisi menu drop-down Transformation.
Di halaman Training options, tinjau daftar kolom Anda, dan kecualikan kolom apa pun dari pelatihan yang tidak boleh digunakan untuk melatih model.
Tinjau transformasi yang dipilih untuk fitur yang disertakan, beserta apakah data yang tidak valid diizinkan, dan lakukan pembaruan apa pun yang diperlukan.
Pelajari transformasi dan data yang tidak valid lebih lanjut.
Jika Anda ingin menentukan kolom bobot, atau mengubah tujuan pengoptimalan dari default, buka Advanced options, lalu tentukan pilihan Anda.
Pelajari kolom bobot dan tujuan pengoptimalan lebih lanjut.
Klik Continue.
Di dalam jendela Compute and price, konfigurasi sebagai berikut:
Masukkan jumlah jam maksimum yang diinginkan untuk melatih model Anda.
Setelan ini membantu Anda untuk membatasi biaya pelatihan. Waktu berlalu sebenarnya dapat lebih lama dari nilai ini, karena ada operasi lain yang terlibat dalam pembuatan model baru.
Waktu pelatihan yang disarankan berkaitan dengan ukuran data pelatihan Anda. Tabel di bawah ini menunjukkan rentang waktu pelatihan yang disarankan berdasarkan jumlah baris; kolom dalam jumlah yang besar juga akan meningkatkan waktu pelatihan yang diperlukan.
Untuk informasi tentang harga pelatihan, lihat halaman harga.Baris Waktu pelatihan yang disarankan Kurang dari 100.000 1-3 jam 100.000 - 1.000.000 1-6 jam 1.000.000 - 10.000.000 1-12 jam Lebih dari 10.000.000 3 - 24 jam Klik Start Training.
Pelatihan model dapat memerlukan waktu berjam-jam, bergantung pada ukuran dan kompleksitas data serta anggaran pelatihan, jika Anda menentukannya. Anda dapat menutup tab ini dan kembali membukanya lagi di lain waktu. Anda akan menerima email saat model telah menyelesaikan pelatihan.
API
Pilih tujuan jenis data tabulasi.
Klasifikasi
Pilih tab untuk bahasa atau lingkungan Anda:
REST
Anda menggunakan perintah trainingPipelines.create untuk melatih model.
Melatih model.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut ini:
- LOCATION: Region Anda.
- PROJECT: [Project ID](/resource-manager/docs/creating-managing-projects#identifiers) Anda. .
- TRAININGPIPELINE_DISPLAY_NAME: Nama tampilan untuk pipeline pelatihan yang dibuat untuk operasi ini.
- TARGET_COLUMN: Kolom (nilai) yang Anda inginkan untuk diprediksi oleh model ini.
- WEIGHT_COLUMN: (Opsional) Kolom bobot. Pelajari lebih lanjut.
- TRAINING_BUDGET: Jumlah waktu maksimum yang Anda inginkan untuk dilatih model, dalam milidetik jam kerja node (1.000 milidetik jam kerja node sama dengan satu jam kerja node).
- OPTIMIZATION_OBJECTIVE: Diperlukan hanya jika Anda tidak menginginkan tujuan pengoptimalan default untuk jenis prediksi Anda. Pelajari lebih lanjut.
- TRANSFORMATION_TYPE: Jenis transformasi disediakan untuk setiap kolom yang digunakan untuk melatih model. Pelajari lebih lanjut.
- COLUMN_NAME: Nama kolom dengan jenis transformasi yang telah ditentukan. Setiap kolom yang digunakan untuk melatih model harus ditetapkan.
- MODEL_DISPLAY_NAME: Nama tampilan untuk model yang baru dilatih.
- DATASET_ID: ID untuk Dataset pelatihan.
-
Anda dapat menyediakan objek
Splituntuk mengontrol pembagian data Anda. Untuk informasi tentang mengontrol pembagian data, lihat Mengontrol pemisahan data menggunakan REST. - PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Meminta isi JSON:
{
"displayName": "TRAININGPIPELINE_DISPLAY_NAME",
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_tabular_1.0.0.yaml",
"trainingTaskInputs": {
"targetColumn": "TARGET_COLUMN",
"weightColumn": "WEIGHT_COLUMN",
"predictionType": "classification",
"trainBudgetMilliNodeHours": TRAINING_BUDGET,
"optimizationObjective": "OPTIMIZATION_OBJECTIVE",
"transformations": [
{"TRANSFORMATION_TYPE_1": {"column_name" : "COLUMN_NAME_1"} },
{"TRANSFORMATION_TYPE_2": {"column_name" : "COLUMN_NAME_2"} },
...
},
"modelToUpload": {"displayName": "MODEL_DISPLAY_NAME"},
"inputDataConfig": {
"datasetId": "DATASET_ID",
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_NUMBER/locations/us-central1/trainingPipelines/4567",
"displayName": "myModelName",
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_tabular_1.0.0.yaml",
"modelToUpload": {
"displayName": "myModelName"
},
"state": "PIPELINE_STATE_PENDING",
"createTime": "2020-08-18T01:22:57.479336Z",
"updateTime": "2020-08-18T01:22:57.479336Z"
}
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Python dokumentasi referensi API.
Regresi
Pilih tab untuk bahasa atau lingkungan Anda:
REST
Anda menggunakan perintah trainingPipelines.create untuk melatih model.
Melatih model.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut ini:
- LOCATION: Region Anda.
- PROJECT: .
- TRAININGPIPELINE_DISPLAY_NAME: Nama tampilan untuk pipeline pelatihan yang dibuat untuk operasi ini.
- TARGET_COLUMN: Kolom (nilai) yang Anda inginkan untuk diprediksi oleh model ini.
- WEIGHT_COLUMN: (Opsional) Kolom bobot. Pelajari lebih lanjut.
- TRAINING_BUDGET: Jumlah waktu maksimum yang Anda inginkan untuk dilatih model, dalam milidetik jam kerja node (1.000 milidetik jam kerja node sama dengan satu jam kerja node).
- OPTIMIZATION_OBJECTIVE: Diperlukan hanya jika Anda tidak menginginkan tujuan pengoptimalan default untuk jenis prediksi Anda. Pelajari lebih lanjut.
- TRANSFORMATION_TYPE: Jenis transformasi disediakan untuk setiap kolom yang digunakan untuk melatih model. Pelajari lebih lanjut.
- COLUMN_NAME: Nama kolom dengan jenis transformasi yang telah ditentukan. Setiap kolom yang digunakan untuk melatih model harus ditetapkan.
- MODEL_DISPLAY_NAME: Nama tampilan untuk model yang baru dilatih.
- DATASET_ID: ID untuk Dataset pelatihan.
-
Anda dapat menyediakan objek
Splituntuk mengontrol pembagian data Anda. Untuk informasi tentang mengontrol pembagian data, lihat Mengontrol pemisahan data menggunakan REST. - PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Meminta isi JSON:
{
"displayName": "TRAININGPIPELINE_DISPLAY_NAME",
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_tabular_1.0.0.yaml",
"trainingTaskInputs": {
"targetColumn": "TARGET_COLUMN",
"weightColumn": "WEIGHT_COLUMN",
"predictionType": "regression",
"trainBudgetMilliNodeHours": TRAINING_BUDGET,
"optimizationObjective": "OPTIMIZATION_OBJECTIVE",
"transformations": [
{"TRANSFORMATION_TYPE_1": {"column_name" : "COLUMN_NAME_1"} },
{"TRANSFORMATION_TYPE_2": {"column_name" : "COLUMN_NAME_2"} },
...
},
"modelToUpload": {"displayName": "MODEL_DISPLAY_NAME"},
"inputDataConfig": {
"datasetId": "DATASET_ID",
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_NUMBER/locations/us-central1/trainingPipelines/4567",
"displayName": "myModelName",
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_tabular_1.0.0.yaml",
"modelToUpload": {
"displayName": "myModelName"
},
"state": "PIPELINE_STATE_PENDING",
"createTime": "2020-08-18T01:22:57.479336Z",
"updateTime": "2020-08-18T01:22:57.479336Z"
}
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Python dokumentasi referensi API.
Mengontrol pemisahan data menggunakan REST
Anda dapat mengontrol pembagian data pelatihan antara set pelatihan, validasi, dan pengujian. Saat Anda menggunakan Agent Platform API, gunakan
objek Split untuk
menentukan pembagian data Anda. Objek Split dapat disertakan dalam
objek inputDataConfig sebagai salah satu dari beberapa jenis objek, yang masing-masing memberikan
cara yang berbeda untuk membagi data pelatihan.
Metode yang Anda gunakan untuk memisahkan data bergantung pada jenis data Anda:
FractionSplit:- TRAINING_FRACTION: Pecahan dari data pelatihan yang akan digunakan untuk set pelatihan.
- VALIDATION_FRACTION: Pecahan data pelatihan yang akan digunakan untuk set validasi.
- TEST_FRACTION: Bagian dari data pelatihan yang akan digunakan untuk set pengujian.
Jika Anda menentukan salah satu pecahan, tentukan semuanya. Jumlah pecahan harus berjumlah 1,0. Pelajari lebih lanjut.
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },PredefinedSplit:- DATA_SPLIT_COLUMN: Kolom yang berisi nilai pemisahan data
(
TRAIN,VALIDATION,TEST).
Tentukan pemisahan data secara manual untuk setiap baris dengan menggunakan kolom pemisahan. Pelajari lebih lanjut.
"predefinedSplit": { "key": DATA_SPLIT_COLUMN },- DATA_SPLIT_COLUMN: Kolom yang berisi nilai pemisahan data
(
TimestampSplit:- TRAINING_FRACTION: Persentase data pelatihan yang akan digunakan untuk set pelatihan. Setelan defaultnya adalah 0,80.
- VALIDATION_FRACTION: Persentase data pelatihan yang akan digunakan untuk set validasi. Setelan defaultnya adalah 0,10.
- TEST_FRACTION: Persentase data pelatihan yang akan digunakan untuk set pengujian. Setelan defaultnya adalah 0,10.
- TIME_COLUMN: Kolom yang berisi stempel waktu.
Jika Anda menentukan salah satu pecahan, tentukan semuanya. Pecahan tersebut harus berjumlah 1,0. Pelajari lebih lanjut.
"timestampSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION, "key": TIME_COLUMN }
Tujuan pengoptimalan untuk model klasifikasi atau regresi
Saat Anda melatih model, Agent Platform akan memilih tujuan pengoptimalan default berdasarkan jenis model Anda dan jenis data yang digunakan untuk kolom target Anda.
Model klasifikasi paling cocok untuk:| Tujuan pengoptimalan | Nilai API | Gunakan tujuan ini jika Anda ingin... |
|---|---|---|
| AUC ROC | maximize-au-roc |
Memaksimalkan area di bagian bawah kurva karakteristik operasi penerima (ROC). Membedakan antar-class. Memberikan nilai default untuk klasifikasi biner. |
| Kerugian log | minimize-log-loss |
Membuat probabilitas inferensi seakurat mungkin. Hanya mendukung tujuan untuk klasifikasi multi-class. |
| AUC PR | maximize-au-prc |
Memaksimalkan area di bagian bawah kurva presisi-perolehan. Mengoptimalkan hasil inferensi untuk class yang kurang umum. |
| Presisi pada Perolehan | maximize-precision-at-recall |
Mengoptimalkan presisi pada nilai perolehan tertentu. |
| Perolehan pada Presisi | maximize-recall-at-precision |
Mengoptimalkan perolehan pada nilai presisi tertentu. |
| Tujuan pengoptimalan | Nilai API | Gunakan tujuan ini jika Anda ingin ... |
|---|---|---|
| RMSE | minimize-rmse |
Meminimalkan error akar rataan kuadrat (RMSE). Merekam nilai yang lebih ekstrem secara akurat. Nilai default. |
| MAE | minimize-mae |
Meminimalkan error rata-rata absolut (MAE). Melihat nilai ekstrem sebagai pencilan dengan dampak yang lebih sedikit terhadap model. |
| RMSLE | minimize-rmsle |
Meminimalkan error log akar rataan kuadrat (RMSLE). Menindak error pada ukuran relatif, bukan nilai absolut. Berguna saat nilai aktual dan yang diprediksi cukup besar. |
Langkah berikutnya
- Mengevaluasi model Anda.
- Mempelajari cara untuk mengekspor model Anda.