Keuntungan:
- Kemampuan untuk menentukan jenis masalah (klasifikasi, regresi, pengelompokan) dan kriteria keberhasilan sesuai dengan biaya pekerjaan yang sebenarnya
- Kemampuan untuk membagi data secara jujur (tanpa menyentuh set pengujian; secara kronologis dalam rangkaian waktu) dan menetapkan dasar evaluasi yang bebas kebocoran
- Kemampuan untuk memilih model yang dapat ditafsirkan dengan memulai dengan dasar yang sederhana dan menambahkan kompleksitas hanya jika memang diperlukan.
Sejauh ini kami telah mengumpulkan data, membersihkannya, mengeksplorasinya, dan menghasilkan fitur. Sekarang kita sampai pada pekerjaan nyata, membangun sebuah model. Model adalah struktur matematika yang mempelajari pola dari data dan menghasilkan prediksi untuk situasi baru. Namun bagian terpenting dalam membangun model bukanlah kode itu sendiri, melainkan dua keputusan yang mendahuluinya: mendefinisikan masalah yang tepat dan memisahkan data dengan benar. AI adalah penasihat yang kuat dalam pemilihan algoritma, penulisan kode, dan penyesuaian parameter; namun terserah pada seseorang untuk memutuskan apa yang diprediksi dan apa arti kesuksesan. Masalah yang tidak jelas tidak akan berhasil bahkan dengan model yang ditulis dengan sempurna.
Definisi masalah pertama: apa yang kita prediksi
Setiap pekerjaan pemodelan dimulai dengan sebuah pertanyaan, dan pertanyaan ini menentukan jenis model. Klasifikasi — keluarannya adalah kategori: "Apakah pelanggan ini akan pergi atau tetap tinggal?", "Apakah transaksi ini palsu?". Regresi (dalam bahasa Inggris regresi - outputnya berupa angka): "Berapa harga rumah ini?", "Berapa banyak pesanan yang akan datang bulan depan?". Clustering (membagi data yang tidak berlabel menjadi kelompok-kelompok alami): "Berapa banyak segmen alami yang dibagi menjadi pelanggan saya?".
Bagian kedua dari rumusan masalah adalah kriteria keberhasilan: apa artinya model ini menjadi "baik"? Dalam model penipuan, kehilangan seorang penipu jauh lebih mahal daripada memblokir pelanggan yang jujur secara tidak sengaja; Oleh karena itu, bukan "akurasi umum" tetapi "tingkat penangkapan penipu" yang diutamakan. Jika Anda tidak menentukan kriteria ini sejak awal, bersama dengan pemilik bisnis, Anda akan mendapatkan model yang "sangat akurat" yang tidak berfungsi (kita akan mempelajari metrik lebih dalam di Unit 7).
Perhatian: "Akurasi" bisa menyesatkan. Jika 10 dari 1000 transaksi adalah penipuan, model bodoh yang mengatakan "tidak ada yang curang" akan memberikan akurasi 99% tetapi tidak akan menangkap satu pun penipu. Pilih kriteria keberhasilan berdasarkan biaya sebenarnya dari masalah tersebut.
Pemisahan pelatihan/ujian: pemeriksaan model secara jujur
Menguji suatu model dengan data yang telah dipelajarinya seperti menanyakan pertanyaan yang sama kepada siswa yang dia pelajari pada ujian; Dia mendapat nilai tinggi tetapi tidak menunjukkan apa yang sebenarnya dia ketahui. Jadi kami membagi data menjadi dua (seringkali tiga):
- Set pelatihan (set pelatihan dalam bahasa Inggris, biasanya 70-80%): Model mempelajari hal ini.
- Set pengujian (set pengujian, biasanya 20-30%): Model tidak melihatnya sama sekali; kinerja nyata diukur di sini.
- Set validasi: Set perantara yang digunakan untuk pengaturan model (parameter mana yang lebih baik); untuk menjaga set pengujian tetap "bersih".
Aturan paling dasar: set tes tidak pernah disentuh selama pelatihan. Penskalaan, pengkodean, pemilihan fitur — semuanya dipelajari dari set pelatihan, kemudian diterapkan ke pengujian (prinsip kebocoran dari Unit 5). Set pengujian adalah pertama kalinya model melihat dunia nyata; Jika Anda menyalakannya terlalu dini, Anda tidak akan pernah tahu performa sebenarnya.
Pengecualian deret waktu: Jika data Anda bergantung pada waktu (penjualan, pasar saham, permintaan), pemisahan acak tidak dilakukan. Karena pemisahan acak menyebabkan model melihat masa depan dan memprediksi masa lalu — ini adalah kebocoran. Sebaliknya, bagilah secara kronologis: latih dengan periode lama, uji dengan periode baru.
Pemilihan algoritma: dari yang sederhana hingga yang kompleks
Kesalahan paling umum yang dilakukan pemula adalah memulai dengan model yang paling rumit. Pendekatan yang benar adalah sebaliknya: pertama-tama buatlah garis dasar yang sederhana. “selalu menebak kelas mayoritas” dalam suatu klasifikasi; "selalu memperkirakan mean" dalam regresi. Model bodoh ini memberikan garis dasar; Jika model Anda yang sebenarnya tidak dapat melewati ini, berarti ada masalah. Kemudian beralih ke model yang sederhana dan dapat ditafsirkan.
model
Jenis masalah
titik kuat
kelemahan
Baseline (mayoritas/rata-rata)
keduanya
Memberikan patokan
tidak belajar
Regresi logistik
Klasifikasi
Sederhana, dapat ditafsirkan
Hubungan linear saja
Regresi linier
regresi
Sederhana, cepat
asumsi linier
pohon keputusan
keduanya
dapat ditafsirkan
Hafalan yang mudah
hutan acak
keduanya
Kuat, tahan lama
Kurang bisa ditafsirkan
Peningkatan gradien (XGBoost dll.)
keduanya
sangat kuat
Susah penyesuaian, resiko hafalan
Aturan: pilih model "cukup baik" yang paling sederhana. Interpretabilitas lebih berharga daripada kekuasaan di sebagian besar konteks bisnis; Lebih baik menjelaskan penolakan pinjaman "karena rasio hutang terhadap pendapatan Anda tinggi" daripada "karena kotak hitam mengatakan demikian".
tiga kasus mini
Kasus 1 — Definisi masalah salah. Sebuah tim membangun model klasifikasi berdasarkan "apakah pelanggan puas" tetapi memilih "akurasi" sebagai kriteria keberhasilan. Dalam data tersebut, 88% pelanggan merasa puas; Model ini mendapatkan akurasi 88% dengan menyebut semua orang "puas" dan tidak pernah menangkap orang yang tidak puas — meskipun tujuan sebenarnya adalah menemukan mereka. Pelajaran: pilihlah kriteria keberhasilan berdasarkan tujuan sebenarnya.
Kasus 2 — Kebocoran waktu di kompartemen. Dalam proyek perkiraan permintaan, data dibagi secara acak. Model tersebut memberikan akurasi 93% tetapi gagal dalam produksi karena dalam pelatihan model tersebut memperkirakan bulan Januari, lalu November, dengan data bulan Desember — model tersebut telah melihat masa depan. Saat kami beralih ke pembagian kronologis, kinerja sebenarnya meningkat menjadi 74%. Pelajaran: pembagian kronologis dalam deret waktu.
Kasus 3 — Kompleksitas yang tidak perlu. Seorang analis memulai langsung dengan jaringan saraf dalam, menyetelnya selama berminggu-minggu, dan mendapatkan akurasi 81%. Kemudian seorang kolega mendapatkan 80% dengan 20 baris regresi logistik — jauh lebih cepat, dapat ditafsirkan, dan lebih mudah dikelola. Pelajaran: mulailah dengan garis dasar dan model sederhana, tambahkan kompleksitas jika memang diperlukan.
Empat templat yang dapat disalin
1) Memperjelas definisi masalah:
Peran Anda: konsultan model. Bantu saya mendefinisikan pekerjaan ini: “Saya ingin mengurangi churn pelanggan.” Tanyakan kepada saya dan jelaskan: (1) apakah ini klasifikasi atau regresi, (2) apa sebenarnya variabel targetnya dan bagaimana mendefinisikannya, (3) apa yang harus menjadi kriteria keberhasilan dan mengapa. Keputusan ada di tangan saya; Anda menyajikan pertanyaan dan pilihan.
2) Kompartemen pelatihan/pengujian yang aman:
Bagi df saya menjadi pelatihan/pengujian 80%/20%. Pertahankan distribusi kelas (stratify).random_state=42. Ini BUKAN TIME SERIES (observasi independen). Cetak rasio kelas setiap himpunan setelah pembagian. Berikan saja kode pemisahan ke set pengujian tanpa menerapkan transformasi apa pun.
3) Pembagian kronologis deret waktu:
Data bergantung pada waktu (kolom tanggal: tanggal_pesanan). BUKAN acak, bagi secara kronologis: 80% pelatihan terlama, 20% pengujian terbaru. Cetak rentang tanggal pelatihan dan pengujian sehingga saya dapat memverifikasi bahwa masa depan tidak bocor.
4) Menetapkan garis dasar:
Saya memiliki masalah klasifikasi (target: churn 0/1). Pertama, buat garis dasar: ukur akurasi pelatihan/pengujian dengan DummyClassifier, yang selalu memprediksi kelas mayoritas. Kemudian latih regresi logistik sederhana dan bandingkan apakah regresi tersebut mengalahkan baseline. Tunjukkan metrik keduanya secara berdampingan.
Perintah lemah / Perintah kuat
Perintah yang lemah:
Bangun model terbaik dengan data ini.
"Terbaik" tidak ditentukan; Tidak ada jenis masalah, tidak ada tujuan, tidak ada kriteria keberhasilan dan tidak ada strategi pembagian. AI menghasilkan pola acak, kemungkinan bocor.
Perintah yang kuat:
Peran Anda: asisten model. Masalah: klasifikasi, target "churn" (0/1), ada ketidakseimbangan kelas (~12% churn). Kriteria keberhasilan: Mengingat kembali mereka yang melakukan churn adalah prioritas. Data observasi independen (bukan time series). Tugas: (1) pemisahan bertingkat 80/20%, (2) garis dasar DummyClassifier, (3) regresi logistik, semua transformasi sedang dalam proses dan hanya dipelajari dari pelatihan. Jangan menyentuh set tes sebelum membelah.
Di sini jenis masalah, ketidakseimbangan, kriteria dan ukuran kebocoran menjadi jelas.
Kesalahan umum
- Tidak memilih kriteria keberhasilan sesuai tujuan sebenarnya. "Akurasi" pada data yang tidak seimbang menyesatkan; Jika Anda ingin menangkap kelas minoritas, recall adalah hal yang utama.
- Menyentuh set tes selama pelatihan. Melakukan penskalaan/pengkodean sebelum pemisahan bersifat bocor dan menyembunyikan kinerja sebenarnya.
- Pemisahan acak dalam deret waktu. Model ini melihat masa depan, gagal dalam produksi; Pembagian kronologis sangat penting.
- Melompat ke model yang kompleks tanpa menetapkan garis dasar. Tanpa benchmark Anda tidak bisa mengetahui apakah suatu model benar-benar bagus atau tidak.
- Mengabaikan interpretasi. Dalam pengambilan keputusan bisnis, model sederhana yang dapat dijelaskan seringkali lebih bernilai dibandingkan kotak hitam.
Tip: Sebelum Anda mulai membuat model, tulislah satu kalimat: “Model ini akan memprediksi _____, keberhasilannya akan diukur dengan metrik _____, karena biaya sebenarnya dari pekerjaan tersebut adalah _____.” Jika Anda tidak dapat mengisi kalimat ini, Anda belum siap untuk menulis kode.
Singkatnya
Bagian terpenting dalam membangun model bukanlah kodenya, melainkan keputusan yang mendahuluinya: menentukan masalah yang tepat (klasifikasi atau regresi, apa tujuannya, apa kriteria keberhasilannya) dan membagi data secara adil (tanpa menyentuh set pengujian; kronologis dalam deret waktu). Selalu mulai dengan dasar yang sederhana dan tambahkan kompleksitas hanya jika memang diperlukan; interpretabilitas lebih dihargai daripada kekuasaan di sebagian besar konteks bisnis. AI adalah penasihat yang kuat dalam pemilihan algoritma dan kode, namun manusialah yang memutuskan apa yang Anda prediksi dan alasannya.
Tugas aplikasi
Tentukan masalah prediksi dan lengkapi kalimat berikut secara tertulis: “Model ini akan memprediksi ___ (klasifikasi/regresi), targetnya ___, kriteria keberhasilannya ___ karena ___.” Kemudian pisahkan data dengan strategi yang tepat (kronologis jika berupa deret waktu), tetapkan garis dasar, dan ukur apakah suatu pola sederhana melanggar garis dasar tersebut.
daftar periksa
- [ ] Apakah saya sudah mendefinisikan dengan jelas jenis masalah (klasifikasi/regresi) dan targetnya?
- [ ] Sudahkah saya memilih kriteria keberhasilan berdasarkan biaya pekerjaan yang sebenarnya?
- [ ] Apakah saya membiarkan set tes tidak tersentuh selama pelatihan?
- [ ] Jika berupa deret waktu, apakah saya membaginya secara kronologis?
- [ ] Sudahkah saya menetapkan garis dasar sebelum beralih ke model yang kompleks?