Ini adalah pengantar untuk perjalanan data tabulasi dengan AutoML. Untuk memahami perbedaan utama antara pelatihan kustom dan AutoML, lihat Memilih metode pelatihan.
Kasus penggunaan data tabulasi
Bayangkan Anda bekerja di departemen pemasaran untuk retailer digital. Anda dan tim Anda
membuat program email yang dipersonalisasi berdasarkan persona pelanggan. Anda telah membuat persona
dan email pemasaran siap digunakan. Sekarang, Anda harus membuat sistem yang menggabungkan pelanggan
ke setiap persona berdasarkan preferensi retail dan perilaku belanja, bahkan ketika mereka adalah pelanggan
baru. Untuk memaksimalkan customer engagement, sebaiknya Anda juga memprediksi kebiasaan pengeluaran mereka agar dapat
mengoptimalkan kapan akan mengirimkan email kepada mereka.
Karena Anda adalah retailer digital, Anda memiliki data tentang pelanggan dan pembelian yang telah mereka lakukan. Namun, bagaimana dengan pelanggan baru? Pendekatan tradisional dapat menghitung nilai ini untuk pelanggan lama dengan histori pembelian yang panjang, tetapi tidak memberikan hasil yang baik untuk pelanggan yang memiliki sedikit data historis. Bagaimana jika Anda dapat membuat sistem untuk memprediksi nilai-nilai ini dan meningkatkan kecepatan dalam menyampaikan program pemasaran yang dipersonalisasi kepada semua pelanggan Anda?
Untungnya, machine learning dan Vertex AI siap mengatasi masalah ini.
Panduan ini akan menuntun Anda memahami cara kerja Vertex AI untuk set data dan model AutoML, serta menggambarkan jenis masalah yang dapat diselesaikan Vertex AI.
Bagaimana cara kerja Vertex AI?
Vertex AI menerapkan supervised machine learning
untuk mencapai hasil yang diinginkan.
Hal-hal spesifik dari algoritma dan metode pelatihan berubah berdasarkan jenis
data dan kasus penggunaan. Ada banyak subkategori machine learning, yang semuanya dapat memecahkan
masalah yang berbeda dan bekerja dalam batasan yang berbeda.
Anda akan melatih model machine learning dengan contoh data. Vertex AI
menggunakan data tabulasi (terstruktur) untuk melatih model machine learning guna membuat
prediksi pada data baru. Satu kolom dari set data Anda, yang disebut target,
adalah hal yang akan dipelajari oleh model Anda untuk diprediksi. Beberapa kolom data lainnya merupakan inpu
(yang disebut fitur) yang polanya akan dipelajari oleh model. Anda dapat
menggunakan fitur input yang sama untuk membuat beberapa jenis model cukup dengan mengubah
kolom target dan opsi pelatihan. Dari contoh pemasaran melalui email,
hal ini berarti bahwa Anda dapat membuat model dengan fitur input yang sama tetapi dengan prediksi
target yang berbeda. Satu model dapat memprediksi persona pelanggan
(target kategoris), model lainnya dapat memprediksi pengeluaran bulanan mereka
(target numerik), dan model lainnya dapat memperkirakan permintaan harian produk Anda
selama tiga bulan ke depan (serangkaian target numerik).
Alur kerja Vertex AI
Vertex AI menggunakan alur kerja machine learning standar:
- Mengumpulkan data: Tentukan data yang diperlukan untuk melatih dan menguji model Anda berdasarkan hasil yang ingin dicapai.
- Menyiapkan data: Pastikan data Anda diformat dan diberi label dengan benar.
- Melatih: Menetapkan parameter dan membuat model.
- Mengevaluasi: Meninjau metrik model.
- Men-deploy dan memprediksi: Membuat model Anda tersedia untuk digunakan.
Namun, sebelum mulai mengumpulkan data, Anda perlu memikirkan masalah yang ingin Anda pecahkan. Proses ini akan menginformasikan persyaratan data Anda.
Persiapan data
Menilai kasus penggunaan
Mulailah dengan masalah Anda: Apa hasil yang ingin Anda capai?
Jenis data apa yang merupakan kolom target? Berapa banyak data yang dapat Anda akses? Bergantung pada jawaban Anda, Vertex AI membuat model yang diperlukan untuk menyelesaikan kasus penggunaan Anda:
- Model klasifikasi biner memprediksi hasil biner (salah satu dari dua kelas). Gunakan jenis model ini untuk pertanyaan ya atau tidak. Misalnya, Anda mungkin ingin membuat model klasifikasi biner untuk memprediksi apakah pelanggan akan membeli langganan. Umumnya, masalah klasifikasi biner membutuhkan lebih sedikit data dibandingkan jenis model lainnya.
- Model klasifikasi kelas jamak memprediksi satu class dari tiga class atau lebih yang terpisah. Gunakan jenis model ini untuk kategorisasi. Misalnya, sebagai retailer, Anda mungkin ingin membuat model klasifikasi kelas jamak untuk mengelompokkan pelanggan ke dalam berbagai persona.
- Model regresi memprediksi nilai berkelanjutan. Misalnya, sebagai retailer, Anda mungkin ingin membuat model regresi untuk memprediksi jumlah yang akan dibelanjakan pelanggan bulan depan.
- Model Perkiraan memprediksi urutan nilai. Misalnya, sebagai retailer, Anda mungkin ingin memperkirakan permintaan harian produk Anda selama 3 bulan ke depan, sehingga Anda dapat menyediakan inventaris produk dengan tepat di awal.
Perkiraan pada data tabulasi berbeda dengan klasifikasi dan regresi dalam dua cara utama:
Dalam klasifikasi dan regresi, nilai prediksi target hanya bergantung pada nilai kolom fitur di baris yang sama. Dalam perkiraan, nilai yang diprediksi juga bergantung pada nilai konteks target dan fitur.
Dalam masalah regresi dan klasifikasi, hasilnya berupa satu nilai. Dalam masalah perkiraan, hasilnya berupa deret nilai.
Mengumpulkan data
Setelah menetapkan kasus penggunaan, Anda perlu mengumpulkan data yang memungkinkan Anda membuat model yang Anda inginkan.
Setelah menetapkan kasus penggunaan, Anda harus mengumpulkan data untuk melatih model. Pengambilan dan persiapan data adalah langkah penting untuk membangun model machine learning. Data yang Anda miliki menginformasikan jenis masalah yang dapat Anda pecahkan. Berapa banyak data yang Anda miliki? Apakah data Anda relevan dengan pertanyaan yang Anda coba jawab? Saat mengumpulkan data Anda, perhatikan pertimbangan utama berikut.
Memilih fitur yang relevan
Fitur adalah atribut input yang digunakan untuk pelatihan model. Fitur adalah cara model Anda mengidentifikasi pola untuk membuat prediksi, sehingga harus relevan dengan masalah Anda. Misalnya, untuk membuat model yang memprediksi apakah transaksi kartu kredit bersifat menipu atau tidak, Anda harus membuat set data yang berisi detail transaksi seperti pembeli, penjual, jumlah, tanggal dan waktu, serta item yang dibeli. Fitur bermanfaat lainnya dapat berupa informasi historis tentang pembeli dan penjual, serta seberapa sering item yang dibeli terlibat dalam penipuan. Fitur lain apa yang mungkin relevan?
Pertimbangkan kasus penggunaan pemasaran melalui email ritel dari pengantar. Berikut beberapa kolom fitur yang mungkin Anda perlukan:
- Daftar item yang dibeli (termasuk merek, kategori, harga, diskon)
- Jumlah item yang dibeli (hari, minggu, bulan, tahun terakhir)
- Jumlah uang yang dibelanjakan (hari, minggu, bulan, tahun terakhir)
- Untuk setiap item, jumlah total yang terjual setiap hari
- Untuk setiap item, total stok tersedia setiap hari
- Apakah Anda menjalankan promosi untuk hari tertentu atau tidak
- Profil demografi pembeli yang diketahui
Menyertakan data yang cukup
Secara umum, makin banyak contoh pelatihan yang Anda miliki, makin baik hasilnya. Jumlah contoh data yang diperlukan juga diskalakan dengan kompleksitas masalah yang Anda coba pecahkan. Anda tidak akan memerlukan banyak data untuk mendapatkan model klasifikasi biner yang akurat dibandingkan dengan model kelas jamak karena lebih mudah untuk memprediksi satu kelas dari dua kelas dibandingkan banyak kelas.
Tidak ada formula yang sempurna, tetapi ada batas minimum yang disarankan untuk data contoh:
- Masalah Klasifikasi: 50 baris x jumlah angka
- Masalah perkiraan:
- 5.000 baris x jumlah fitur
- 10 nilai unik di kolom ID deret waktu x jumlah fitur
- Masalah regresi: 200 x jumlah fitur
Menangkap variasi
Set data Anda harus menangkap keragaman ruang masalah Anda. Makin beragam contoh yang dilihat model selama pelatihan, makin mudah model tersebut digeneralisasi ke contoh baru atau yang kurang umum. Bayangkan jika model retail Anda hanya dilatih menggunakan data pembelian dari musim dingin. Apakah ia bisa memprediksi preferensi pakaian musim panas atau perilaku pembelian dengan sukses?
Menyiapkan data
Setelah mengidentifikasi data yang tersedia, Anda harus memastikan data tersebut siap untuk pelatihan. Jika data Anda bias atau berisi nilai yang tidak ada atau salah, hal ini akan memengaruhi kualitas model. Pertimbangkan hal berikut sebelum Anda mulai melatih model. Pelajari lebih lanjut.
Mencegah kebocoran data dan diferensiasi performa pelatihan dan penayangan
Kebocoran data adalah saat Anda menggunakan fitur input selama pelatihan yang "membocorkan" informasi tentang target yang ingin Anda prediksi yang tidak tersedia ketika model benar-benar disalurkan. Hal ini dapat dideteksi jika fitur yang sangat berkorelasi dengan kolom target disertakan sebagai salah satu fitur input. Misalnya, jika Anda membuat model untuk memprediksi apakah pelanggan akan mendaftar untuk berlangganan di bulan depan atau tidak, dan salah satu fitur input adalah pembayaran langganan mendatang dari pelanggan tersebut. Hal ini dapat menghasilkan performa model yang kuat selama pengujian, tetapi tidak saat di-deploy dalam produksi, karena informasi pembayaran langganan pada masa mendatang tidak tersedia pada waktu inferensi.
Diferensiasi performa pelatihan dan penayangan adalah ketika fitur input yang digunakan selama waktu pelatihan berbeda dengan yang diberikan ke model pada waktu inferensi, sehingga menyebabkan kualitas model yang buruk dalam produksi. Misalnya, membangun model untuk memprediksi suhu setiap jam, tetapi melatih dengan data yang hanya berisi suhu mingguan. Contoh lain: selalu mencantumkan nilai siswa dalam data pelatihan saat memprediksi siswa yang putus sekolah, tetapi tidak memberikan informasi ini pada waktu inferensi.
Memahami data pelatihan sangat penting untuk mencegah kebocoran data dan diferensiasi performa pelatihan dan penayangan:
- Sebelum menggunakan data apa pun, pastikan Anda mengetahui arti data dan apakah Anda harus menggunakannya sebagai fitur atau tidak
- Periksa korelasi di tab Train. Korelasi yang tinggi harus ditandai untuk ditinjau.
- Diferensiasi performa pelatihan dan penayangan: pastikan Anda hanya menyediakan fitur input ke model yang tersedia dalam bentuk yang sama persis pada waktu inferensi.
Membersihkan data yang hilang, tidak lengkap, dan tidak konsisten
Sangat umum untuk memiliki nilai yang hilang dan tidak akurat dalam contoh data Anda. Luangkan waktu untuk meninjau dan, jika memungkinkan, tingkatkan kualitas data Anda sebelum menggunakannya untuk pelatihan. Makin banyak nilai yang hilang, makin kurang berguna data Anda untuk melatih model machine learning.
- Periksa data Anda untuk menemukan nilai yang tidak ada dan perbaiki jika memungkinkan, atau kosongkan nilai jika kolom disetel ke nullable. Vertex AI dapat menangani nilai yang tidak ada, tetapi Anda cenderung akan mendapatkan hasil optimal jika semua nilai tersedia.
- Untuk mendapatkan perkiraan, periksa apakah interval di antara baris pelatihan sudah konsisten. Vertex AI dapat menyiratkan nilai yang tidak ada, tetapi Anda cenderung akan mendapatkan hasil optimal jika semua baris tersedia.
- Bersihkan data Anda dengan memperbaiki atau menghapus error atau derau data. Buat data Anda konsisten: Tinjau ejaan, singkatan, dan format.
Menganalisis data setelah mengimpor
Vertex AI memberikan ringkasan set data Anda setelah diimpor. Tinjau set data yang Anda impor untuk memastikan setiap kolom memiliki jenis variabel yang benar. Vertex AI akan otomatis mendeteksi jenis variabel berdasarkan nilai kolom, tetapi sebaiknya tinjau setiap kolom. Anda juga harus meninjau nullability setiap kolom, yang menentukan apakah kolom dapat memiliki nilai yang hilang atau NULL.
Melatih model
Setelah set data Anda diimpor, langkah berikutnya adalah melatih model. Vertex AI akan menghasilkan model machine learning yang andal dengan default pelatihan, tetapi Anda dapat menyesuaikan beberapa parameter berdasarkan kasus penggunaan Anda.
Coba pilih sebanyak mungkin kolom fitur untuk pelatihan, tetapi tinjau setiap kolom untuk memastikan kesesuaiannya untuk pelatihan. Perhatikan hal-hal berikut untuk pemilihan fitur:
- Jangan pilih kolom fitur yang akan menimbulkan derau, seperti kolom ID yang ditetapkan secara acak dengan nilai unik untuk setiap baris.
- Pastikan Anda memahami setiap kolom fitur dan nilainya.
- Jika Anda membuat beberapa model dari satu set data, hapus kolom target yang bukan bagian dari masalah prediksi saat ini.
- Ingat kembali prinsip-prinsip keadilan: Apakah Anda melatih model dengan fitur yang dapat menyebabkan pengambilan keputusan yang bias atau tidak adil untuk kelompok marginal?
Cara Vertex AI menggunakan set data
Set data Anda akan dibagi menjadi set pelatihan, validasi, dan pengujian. Vertex AI pembagian default berlaku bergantung pada jenis model yang Anda latih. Anda juga dapat menentukan pembagian (pembagian secara manual) jika diperlukan. Untuk mengetahui informasi selengkapnya, lihat Tentang pembagian data untuk model AutoML.
Set Pelatihan
Sebagian besar data Anda harus berada dalam set pelatihan. Data ini adalah data yang "dilihat" oleh model Anda selama pelatihan: data yang digunakan untuk mempelajari parameter model, yaitu bobot koneksi antara node jaringan neural.
Set Validasi
Set validasi, terkadang juga disebut dengan set "dev", juga digunakan selama proses pelatihan. Setelah framework pembelajaran model menggabungkan data pelatihan selama setiap iterasi proses pelatihan, framework tersebut akan menggunakan performa model pada validasi yang ditetapkan untuk menyesuaikan hyperparameter model, yang merupakan variabel yang menentukan struktur model. Jika Anda mencoba menggunakan set pelatihan untuk menyesuaikan hyperparameter, kemungkinan besar model akan terlalu fokus pada data pelatihan Anda, dan mengalami kesulitan untuk menggeneralisasi contoh yang tidak cocok dengannya. Menggunakan set data yang agak baru untuk menyesuaikan struktur model akan membuat model Anda digeneralisasi dengan lebih baik.
Set Pengujian
Set pengujian tidak terlibat dalam proses pelatihan sama sekali. Setelah model menyelesaikan pelatihan sepenuhnya, Vertex AI menggunakan set pengujian sebagai tantangan yang benar-benar baru untuk model Anda. Performa model di set pengujian dimaksudkan untuk memberi Anda gambaran yang cukup baik tentang performa model Anda pada data dunia nyata.
Mengevaluasi, menguji, dan men-deploy model
Mengevaluasi model
Setelah pelatihan model selesai, Anda akan menerima ringkasan performanya. Metrik evaluasi model didasarkan pada performa model terhadap sebagian set data Anda (set data pengujian). Ada beberapa metrik dan konsep utama yang perlu dipertimbangkan saat menentukan apakah model Anda siap digunakan dengan data sebenarnya.
Metrik klasifikasi
Nilai minimum skor
Pertimbangkan model machine learning yang memprediksi apakah pelanggan akan membeli jaket
pada tahun depan. Seberapa yakin model sebelum memprediksi bahwa pelanggan tertentu akan membeli
jaket? Dalam model klasifikasi, setiap prediksi diberi skor keyakinan – penilaian numerik untuk
kepastian model bahwa kelas yang diprediksi benar. Nilai minimum skor adalah
angka yang menentukan kapan skor tertentu dikonversi menjadi keputusan ya atau tidak; yaitu,
nilai saat model Anda mengatakan "ya, skor keyakinan ini cukup tinggi untuk menyimpulkan bahwa
pelanggan ini akan membeli mantel pada tahun depan.
Jika nilai minimum skor rendah, model Anda akan berisiko salah klasifikasi. Oleh karena itu, nilai minimum skor harus didasarkan pada kasus penggunaan tertentu.
Hasil prediksi
Setelah menerapkan nilai minimum skor, prediksi yang dibuat oleh model Anda akan termasuk dalam salah satu dari empat kategori. Untuk memahami kategori-kategori ini, bayangkan kembali model klasifikasi biner jaket. Dalam contoh ini, kelas positif (yang ingin diprediksi oleh model) adalah pelanggan akan membeli jaket pada tahun depan.
- Positif benar: Model memprediksi kelas positif dengan benar. Model ini memprediksi dengan benar bahwa pelanggan membeli jaket.
- Positif palsu: Model salah memprediksi kelas positif. Model ini memprediksi bahwa pelanggan membeli jaket, tetapi mereka tidak membelinya.
- Negatif benar: Model memprediksi kelas negatif dengan benar. Model ini memprediksi dengan benar bahwa pelanggan tidak membeli jaket.
- Negatif palsu: Model salah memprediksi kelas negatif. Model tersebut memprediksi bahwa pelanggan tidak membeli jaket, tetapi mereka membelinya.
Presisi dan perolehan
Metrik presisi dan perolehan membantu Anda memahami seberapa baik model Anda menangkap informasi dan apa yang terlewatkan. Pelajari lebih lanjut presisi dan perolehan.
- Presisi adalah bagian dari prediksi positif yang benar. Dari semua prediksi pembelian pelanggan, berapa bagian yang merupakan pembelian sebenarnya?
- Perolehan adalah bagian baris dengan label ini yang diprediksi dengan benar oleh model. Dari semua pembelian pelanggan yang dapat diidentifikasi, berapa bagiannya?
Bergantung pada kasus penggunaan, Anda mungkin perlu mengoptimalkan presisi atau perolehan.
Metrik klasifikasi lainnya
- ABK PR: Area di bawah kurva presisi-perolehan (PR). Rentangnya dari nol hingga satu, dengan nilai yang lebih tinggi menunjukkan model yang berkualitas lebih tinggi.
- ABK ROC: Area di bawah kurva karakteristik operasi penerima (ROC). Rentangnya dari nol hingga satu, dengan nilai yang lebih tinggi menunjukkan model yang berkualitas lebih tinggi.
- Bagian prediksi klasifikasi yang dihasilkan oleh model yang benar.
- Kerugian log: Entropi silang antara prediksi model dan nilai target. Rentangnya dari nol hingga tak terbatas, di mana nilai yang lebih rendah menunjukkan model yang berkualitas lebih tinggi.
- Skor F1: Rata-rata harmonis presisi dan perolehan. F1 adalah metrik yang berguna jika Anda mencari keseimbangan antara presisi dan perolehan, serta terdapat distribusi kelas yang tidak merata.
Metrik regresi dan perkiraan
Setelah model Anda dibuat, Vertex AI menyediakan berbagai metrik standar untuk Anda tinjau. Tidak ada jawaban yang sempurna tentang cara mengevaluasi model Anda; pertimbangkan metrik evaluasi dalam konteks jenis masalah dan hal yang ingin dicapai dengan model Anda. Daftar berikut adalah ringkasan beberapa metrik yang dapat diberikan oleh Vertex AI.
Rata-rata error absolut (MAE)
MAE adalah perbedaan absolut rata-rata antara nilai target dan prediksi. Ini mengukur besaran rata-rata error--perbedaan antara target dan nilai yang diprediksi--dalam serangkaian prediksi. Dan karena menggunakan nilai absolut, MAE tidak mempertimbangkan arah hubungan, maupun menunjukkan performa buruk atau performa berlebih. Saat mengevaluasi MAE, nilai yang lebih kecil menunjukkan model dengan kualitas lebih tinggi (0 mewakili prediktor sempurna).
Galat akar rataan kuadrat (GARK)
GARK adalah akar kuadrat dari rata-rata perbedaan kuadrat antara nilai target dan prediksi. GARK lebih sensitif terhadap pencilan daripada MAE, jadi jika Anda khawatir dengan error yang besar, GARK dapat menjadi metrik yang lebih berguna untuk dievaluasi. Serupa dengan MAE, nilai yang lebih kecil menunjukkan model dengan kualitas lebih tinggi (0 mewakili prediktor sempurna).
Rata-rata error logaritmik kuadrat (RMSLE)
RMSLE adalah GARK dalam skala logaritmik. RMSLE lebih sensitif terhadap error relatif daripada error absolut dan lebih sensitif terhadap performa buruk daripada performa berlebih.
Kuantil yang diamati (hanya perkiraan)
Untuk kuantil target tertentu, kuantil yang diamati menunjukkan bagian sebenarnya dari nilai yang diamati di bawah nilai prediksi kuantil yang ditentukan. Kuantil yang diamati menunjukkan seberapa jauh atau dekat model dengan kuantil target. Perbedaan yang lebih kecil di antara kedua nilai tersebut menunjukkan model yang berkualitas lebih tinggi.
Kerugian pinball dalam skala besar (khusus perkiraan)
Mengukur kualitas model pada kuantil target tertentu. Angka yang lebih rendah menunjukkan model yang berkualitas lebih tinggi. Anda dapat membandingkan metrik kerugian pinball yang diskalakan pada kuantil berbeda untuk menentukan akurasi relatif model Anda di antara kuantil yang berbeda tersebut.
Menguji model
Evaluasi metrik model pada dasarnya adalah cara menentukan apakah model Anda siap di-deploy atau tidak, tetapi Anda juga dapat mengujinya dengan data baru. Upload data baru untuk melihat apakah prediksi model cocok dengan harapan Anda. Berdasarkan metrik evaluasi atau pengujian dengan data baru, Anda mungkin perlu terus meningkatkan performa model.
Men-deploy model
Setelah puas dengan performa model Anda, kini saatnya menggunakan model tersebut. Anda dapat menggunakannya untuk penggunaan skala produksi, atau permintaan prediksi satu kali. Bergantung pada kasus penggunaan, Anda dapat menggunakan model dengan berbagai cara.
Prediksi batch
Prediksi batch berguna untuk membuat banyak permintaan prediksi sekaligus. Prediksi batch bersifat asinkron, artinya model akan menunggu hingga semua permintaan prediksi diproses sebelum menampilkan file CSV atau Tabel BigQuery dengan nilai prediksi.
Prediksi online
Deploy model Anda agar tersedia untuk permintaan prediksi menggunakan REST API. Prediksi online bersifat sinkron (real-time), artinya prediksi akan menampilkan prediksi dengan cepat, tetapi hanya menerima satu permintaan prediksi per panggilan API. Prediksi online berguna jika model Anda merupakan bagian dari aplikasi dan bagian dari sistem Anda bergantung pada penyelesaian prediksi yang cepat.
Pembersihan
Untuk membantu menghindari tagihan yang tidak diinginkan, batalkan deployment model Anda saat tidak digunakan.
Setelah selesai menggunakan model, hapus resource yang dibuat untuk menghindari timbulnya biaya yang tidak diinginkan pada akun Anda.
- Data gambar Hello: Membersihkan project Anda
- Data tabulasi Hello: Membersihkan project Anda
- Data teks Hello: Membersihkan project Anda
- Data video Hello: Membersihkan project Anda