Panduan Pemula AutoML Tables

Pengantar

Bayangkan Anda bekerja di departemen pemasaran untuk retailer digital. Anda dan tim membuat program email yang dipersonalisasi berdasarkan persona pelanggan. Anda telah membuat persona dan menyiapkan email pemasaran. Sekarang, Anda perlu membuat sistem yang mengelompokkan pelanggan ke setiap persona berdasarkan preferensi retail dan perilaku belanja, meskipun mereka masih baru. Anda juga ingin memprediksi kebiasaan belanja mereka agar dapat mengoptimalkan waktu pengiriman email untuk memaksimalkan interaksi.

Contoh gambar pelanggan yang diurutkan ke dalam kategori

Karena Anda adalah retailer digital, Anda memiliki data tentang pelanggan dan pembelian yang mereka lakukan. Namun, bagaimana dengan pelanggan baru? Pendekatan tradisional dapat menghitung nilai ini untuk pelanggan lama dengan histori pembelian yang panjang, tetapi tidak berperforma baik dengan 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 pelanggan?

Untungnya, machine learning dan AutoML Tables berada di posisi yang tepat untuk menyelesaikan masalah ini. Panduan ini akan menuntun Anda memahami cara kerja AutoML Tables dan jenis masalah yang dirancang untuk dipecahkan.

Bagaimana cara kerja AutoML Tables?

gambar representasi dari jaringan neural sederhana AutoML Tables adalah layanan supervised learning. Ini berarti Anda melatih model machine learning dengan contoh data. AutoML Tables 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 jumlah kolom data lainnya adalah input (disebut fitur) yang polanya akan dipelajari oleh model. Anda dapat menggunakan fitur input yang sama untuk membangun beberapa jenis model cukup dengan mengubah targetnya. Dari contoh pemasaran melalui email, berarti Anda dapat membuat dua model dengan fitur input yang sama: Satu model dapat memprediksi persona pelanggan (target kategoris), dan satu model dapat memprediksi pengeluaran bulanan mereka (target numerik).

Data tabulasi

Alur kerja AutoML Tables

AutoML Tables menggunakan alur kerja machine learning standar:

  1. Mengumpulkan data Anda: Tentukan data yang diperlukan untuk pelatihan dan pengujian model Anda berdasarkan hasil yang ingin Anda capai
  2. Siapkan data Anda: Pastikan data Anda diformat dengan benar sebelum dan sesudah impor data
  3. Train: Menetapkan parameter dan membuat model
  4. Evaluasi: Meninjau metrik model
  5. Pengujian: Coba model Anda pada data pengujian
  6. Men-deploy dan memprediksi: Membuat model Anda tersedia untuk digunakan

Tetapi sebelum mulai mengumpulkan data, Anda perlu memikirkan masalah yang ingin Anda pecahkan, yang akan menentukan persyaratan data Anda.

Mempertimbangkan kasus penggunaan Anda

gambar titik awal dan akhir

Mulailah dengan masalah Anda: Apa hasil yang ingin Anda capai? Jenis data apa kolom targetnya? Berapa banyak data yang dapat Anda akses?

Bergantung pada jawaban Anda, AutoML Tables akan membuat model yang diperlukan untuk menyelesaikan kasus penggunaan Anda:

  • Model klasifikasi biner memprediksi hasil biner (salah satu dari dua class). Gunakan ini untuk pertanyaan ya atau tidak, misalnya, memprediksi apakah pelanggan akan membeli langganan (atau tidak). Jika semua hal lainnya sama, masalah klasifikasi biner membutuhkan lebih sedikit data dibandingkan jenis model lainnya.

  • Model klasifikasi kelas jamak memprediksi satu kelas dari tiga atau beberapa kelas diskret. Gunakan ini untuk mengategorikan berbagai hal. Untuk contoh retail, Anda ingin membangun model klasifikasi multi-kelas untuk menyegmentasikan pelanggan ke dalam persona yang berbeda.

  • Model regresi memprediksi nilai berkelanjutan. Untuk contoh retail, Anda juga ingin membuat model regresi untuk memperkirakan pengeluaran pelanggan selama bulan depan.

AutoML Tables akan secara otomatis menentukan masalah dan model yang akan di-build berdasarkan jenis data kolom target Anda. Jadi, jika kolom target Anda berisi data numerik, AutoML Tables akan membuat model regresi. Jika kolom target Anda adalah data kategoris, AutoML Tables akan mendeteksi jumlah class dan menentukan apakah Anda perlu membuat model biner atau multi-class.

Catatan mengenai keadilan

Perlakuan yang adil adalah salah satu praktik responsible AI Google. Tujuan keadilan adalah untuk memahami dan mencegah perlakuan tidak adil atau merugikan terhadap orang-orang berdasarkan ras, pendapatan, orientasi seksual, agama, gender, dan karakteristik lainnya yang secara historis terkait dengan diskriminasi dan marginalisasi, kapan dan di mana hal tersebut muncul dalam sistem algoritma atau pengambilan keputusan dengan bantuan algoritma. Saat membaca panduan ini, Anda akan melihat catatan "Waspada" yang membahas lebih lanjut cara membuat model machine learning yang lebih adil. Pelajari lebih lanjut

Mengumpulkan data

gambar titik data Setelah menetapkan kasus penggunaan, Anda harus mengumpulkan data untuk melatih model. Persiapan dan sumber data adalah langkah penting untuk membangun model machine learning. Data yang Anda miliki akan 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, ingatlah 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 fitur tersebut harus relevan dengan masalah Anda. Misalnya, untuk membuat model yang memprediksi apakah transaksi kartu kredit curang atau bukan, 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 apa lagi yang mungkin relevan?

Mari kita pertimbangkan kasus penggunaan pemasaran melalui email ritel di awal. Berikut adalah 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)
  • Profil demografi pembeli yang diketahui

Menyertakan data yang cukup

gambar pelatihan model Secara umum, makin banyak contoh pelatihan yang Anda miliki, makin baik hasil Anda. Jumlah data contoh yang diperlukan juga disesuaikan dengan kompleksitas masalah yang Anda coba selesaikan. Anda tidak akan memerlukan banyak data untuk mendapatkan model klasifikasi biner yang akurat dibandingkan dengan model multi-class, karena lebih mudah untuk memprediksi satu class dari dua, bukan banyak.

Tidak ada formula yang sempurna, tetapi ada baris minimum data contoh yang direkomendasikan:

  • Masalah klasifikasi: 50 x jumlah fitur
  • Masalah regresi: 200 x jumlah fitur

Menangkap variasi

Set data Anda harus menangkap keragaman ruang masalah Anda. Semakin beragam contoh yang dilihat model selama pelatihan, semakin mudah model tersebut melakukan generalisasi ke contoh baru atau yang kurang umum. Bayangkan jika model retail Anda dilatih hanya menggunakan data pembelian dari musim dingin. Apakah alat itu berhasil memprediksi preferensi pakaian musim panas atau perilaku pembelian?

Menyiapkan data

Setelah mengidentifikasi data yang tersedia, Anda harus memastikan data tersebut siap untuk pelatihan. Jika data Anda bias atau berisi nilai yang hilang atau salah, model Anda akan mencerminkan nilai tersebut dalam pelatihannya. Pertimbangkan hal berikut sebelum Anda mulai melatih model. Pelajari lebih lanjut

Mencegah kebocoran data dan diferensiasi performa pelatihan dan penayangan

Kebocoran data terjadi saat Anda menggunakan fitur input selama pelatihan yang "membocorkan" informasi tentang target yang Anda coba prediksikan mana yang tidak tersedia saat 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 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 mendatang tidak tersedia pada waktu penayangan.

Kecenderungan penayangan pelatihan 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 lainnya: selalu memberikan nilai siswa di data pelatihan saat memprediksi siswa yang putus sekolah, tetapi tidak memberikan informasi ini pada waktu penyampaian.

Memahami data pelatihan penting untuk mencegah kebocoran data dan ketidaksesuaian pada penayangan pelatihan:

  • Sebelum menggunakan data apa pun, pastikan Anda mengetahui arti data tersebut dan apakah Anda harus menggunakannya sebagai fitur atau tidak
  • Periksa korelasi di tab Train. Korelasi tinggi harus ditandai untuk ditinjau.
  • Kecenderungan penayangan pelatihan: 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 ditetapkan ke nullable. AutoML Tables dapat menangani nilai yang hilang, tetapi Anda akan lebih mungkin mendapatkan hasil optimal jika semua nilai tersedia.

  • Bersihkan data Anda dengan memperbaiki atau menghapus error atau derau data. Buat data Anda konsisten: Tinjau ejaan, singkatan, dan pemformatan.

Menganalisis data setelah mengimpor

AutoML Tables memberikan ringkasan set data Anda setelah diimpor. Tinjau set data yang diimpor untuk memastikan setiap kolom memiliki jenis variabel yang benar. AutoML Tables akan mendeteksi jenis variabel secara otomatis berdasarkan nilai kolom, tetapi sebaiknya tinjau setiap variabel. Anda juga harus meninjau nullability setiap kolom, yang menentukan apakah suatu kolom dapat memiliki nilai yang hilang atau NULL.

Melatih model Anda

Setelah set data Anda diimpor, langkah berikutnya adalah melatih model. AutoML Tables akan menghasilkan model machine learning yang andal dengan default pelatihan, tetapi Anda mungkin perlu menyesuaikan beberapa parameter berdasarkan kasus penggunaan Anda.

Cobalah memilih sebanyak mungkin kolom fitur untuk pelatihan, tetapi tinjau setiap kolom untuk memastikan kolom tersebut sesuai untuk pelatihan. Perhatikan hal-hal berikut untuk pemilihan fitur:

  • Jangan pilih kolom fitur yang akan membuat 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 keadilan: Apakah Anda melatih model dengan fitur yang dapat menyebabkan pengambilan keputusan yang bias atau tidak adil bagi kelompok yang terpinggirkan?

Cara AutoML Tables menggunakan set data Anda

Set data Anda akan dibagi menjadi set pelatihan, validasi, dan pengujian. Secara default, AutoML Tables menggunakan 80% data Anda untuk pelatihan, 10% untuk validasi, dan 10% untuk pengujian. Namun, Anda dapat mengedit nilai tersebut secara manual jika perlu.

gambar representasi dari pemisahan pelatihan, pengujian, dan validasi

Set Pelatihan

grafik teropong 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

gambar blueprint Set validasi, terkadang disebut juga kumpulan "dev", juga digunakan selama proses pelatihan. Setelah framework pembelajaran model menggabungkan data pelatihan selama setiap iterasi proses pelatihan, framework tersebut 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 mencocokkannya. Menggunakan set data yang agak baru untuk menyesuaikan struktur model berarti model Anda akan digeneralisasi dengan lebih baik.

Set Pengujian

gambar gelas kimia Set pengujian sama sekali tidak terlibat dalam proses pelatihan. Setelah model menyelesaikan pelatihannya sepenuhnya, AutoML Tables menggunakan set pengujian sebagai tantangan yang benar-benar baru untuk model Anda. Performa model Anda di set pengujian dimaksudkan untuk memberi Anda gambaran yang cukup tentang performa model Anda pada data dunia nyata.

Mengevaluasi model Anda

gambar kaca pembesar 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 dalam data sebenarnya atau tidak.

Metrik klasifikasi

Nilai minimum skor

Pertimbangkan model machine learning yang memprediksi apakah pelanggan akan membeli jaket di tahun depan. Seberapa yakin model sebelum memprediksi bahwa pelanggan tertentu akan membeli jaket? Dalam model klasifikasi, setiap prediksi diberi skor keyakinan – penilaian numerik terhadap kepastian model bahwa class yang diprediksi sudah benar. Ambang batas 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".

gambar mantel dengan ambang batas tinggi dan ambang batas rendah

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 ini, bayangkan kembali sebuah model klasifikasi biner jaket. Dalam contoh ini, kelas positif (apa yang coba diprediksi oleh model) adalah bahwa pelanggan akan membeli jaket di tahun berikutnya.

  • 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 ternyata tidak.
  • 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 ini memprediksi bahwa pelanggan tidak membeli jaket, padahal pelanggan membelinya.

gambar dengan 4 deskripsi kategori keyakinan

Presisi dan perolehan

Metrik presisi dan perolehan membantu Anda memahami seberapa baik model Anda dalam menangkap informasi dan hal yang terlewatkan. Pelajari presisi dan perolehan lebih lanjut.

  • 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 oleh model dengan benar. Dari semua pembelian pelanggan yang dapat diidentifikasi, berapa fraksinya?

Bergantung pada kasus penggunaan, Anda mungkin perlu mengoptimalkan presisi atau perolehan.

Metrik klasifikasi lainnya
  • ABK PR: Area di bawah kurva presisi-perolehan (PR). Nilai ini berkisar 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.

  • Akurasi: 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

Setelah model Anda dibuat, AutoML Tables menyediakan berbagai metrik regresi standar untuk Anda tinjau. Tidak ada jawaban yang sempurna tentang cara mengevaluasi model; metrik evaluasi harus dipertimbangkan sesuai dengan jenis masalah Anda dan apa yang ingin dicapai dengan model Anda. Berikut adalah ikhtisar beberapa metrik yang akan tersedia untuk Anda.

Rata-rata error absolut (MAE)

MAE adalah perbedaan absolut rata-rata antara nilai target dan prediksi. Hal ini mengukur besaran rata-rata error--perbedaan antara nilai target dan prediksi--dalam kumpulan prediksi. Dan karena menggunakan nilai absolut, MAE tidak mempertimbangkan arah hubungan, maupun menunjukkan performa buruk atau kelebihan performa. Saat mengevaluasi MAE, nilai yang lebih kecil mengindikasikan model dengan kualitas lebih tinggi (0 mewakili prediktor sempurna).

Galat akar rataan kuadrat (GARK)

RMSE adalah akar kuadrat dari rata-rata perbedaan kuadrat antara nilai target dan prediksi. RMSE lebih sensitif terhadap pencilan daripada MAE,jadi jika Anda khawatir dengan error yang besar, RMSE 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 peduli dengan performa buruk daripada performa berlebih.

Uji model Anda

Mengevaluasi metrik model pada dasarnya adalah cara untuk menentukan apakah model Anda siap di-deploy atau tidak, tetapi Anda juga dapat mengujinya dengan data baru. Coba upload data baru untuk melihat apakah prediksi model sesuai dengan harapan Anda. Berdasarkan metrik evaluasi atau pengujian dengan data baru, Anda mungkin perlu terus meningkatkan performa model. Pelajari lebih lanjut cara memecahkan masalah model Anda

Men-deploy model Anda dan membuat prediksi

gambar bohlam Jika sudah puas dengan performa model Anda, kini saatnya menggunakan model tersebut. Mungkin itu berarti penggunaan skala produksi, atau mungkin 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 memproses semua permintaan prediksi sebelum menampilkan file CSV atau BigQuery Table 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 adalah bagian dari aplikasi dan bagian dari sistem Anda bergantung pada perputaran prediksi yang cepat.

Untuk menghindari biaya yang tidak diinginkan, jangan lupa untuk membatalkan deployment model Anda jika tidak digunakan.