C2 · Kamus istilah
Istilah C2 · Machine Learning Engineering
Penjelasan singkat untuk istilah, fungsi, dan rumus yang dipakai di course ini. Di dalam modul, istilah bergaris titik bisa diketuk untuk melihat kartu yang sama.
Kembali ke daftar modul C2108 dari 108 istilah
akurasijuga: accuracy
Bagian keputusan yang benar dari semua keputusan: (TP + TN) / jumlah data. Mudah menyesatkan bila salah satu kelas jauh lebih banyak.
Contoh: bila hanya 10% pelanggan churn, menebak "tidak churn" untuk semua orang sudah memberi akurasi 90% tanpa model.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
ambangjuga: threshold, ambang keputusan, p*
Batas peluang untuk mengubah angka menjadi keputusan: bila peluang churn seorang pelanggan minimal sebesar ambang, kirim kupon; bila di bawahnya, jangan.
Contoh: dengan ambang 0,3, pelanggan berpeluang 0,35 dikirimi kupon, yang berpeluang 0,22 tidak.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
astypeMetode yang mengubah tipe isi array atau kolom.
(p >= 0.3).astype(int)mengubahTrue/Falsemenjadi 1/0, sehingga bisa dijumlahkan atau dibandingkan dengan label.Dipelajari di C1 · Modul 02 · pandas 1: data dalam tabel
aturan penilaian properjuga: aturan skor yang tepat, proper scoring rule
Ukuran penilaian peluang yang skornya paling baik bila model menyebut peluang sejujurnya. Skor Brier dan log-loss termasuk; akurasi dan F1 tidak, karena tidak melihat angka peluangnya.
Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
AUCjuga: ROC-AUC
Luas di bawah kurva ROC, antara 0 dan 1. Artinya: peluang satu pelanggan churn acak mendapat skor lebih tinggi daripada satu pelanggan setia acak. 0,5 = tebakan acak, 1 = sempurna.
Contoh: AUC 0,875 berarti dari setiap 8 pasangan (churn, setia), sekitar 7 diurutkan dengan benar oleh model.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
baselinejuga: pembanding dasar
Cara paling sederhana untuk menjawab soal yang sama, dipakai sebagai pembanding. Model baru berguna hanya bila mengalahkan baseline.
Contoh: tebakan "tidak ada yang churn" sudah benar untuk 89,9% pelanggan, jadi model dengan akurasi 91,5% hanya sedikit lebih baik.
Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
benihjuga: seed
Angka awal untuk pembangkit acak. Benih yang sama selalu memberi urutan acak yang sama, sehingga pembagian data atau hasil pelatihan bisa diulang persis.
Contoh:
np.random.default_rng(0)danrandom_state=0sama-sama memakai benih 0.Dipelajari di Modul 02 · Data, fitur, dan pemisahan yang jujur
bias–variansjuga: bias-varians, dekomposisi bias–varians
Pemecahan galat ramalan menjadi tiga bagian: derau, bias² (model terlalu kaku sehingga rata-rata tebakannya meleset), dan varians (model terlalu lentur sehingga tebakannya berubah-ubah mengikuti sampel latih).
Contoh: polinomial derajat 9 pada 30 titik berbias kecil tetapi bervarians besar.
Dipelajari di Modul 06 · Validasi silang dan bias–varians
bobot kelasjuga: class weight
Pengali kerugian untuk setiap kelas saat melatih.
class_weight="balanced"membesarkan bobot kelas yang jarang; urutan skor hampir tidak berubah, tetapi peluangnya menjadi terlalu tinggi.Contoh: dengan
"balanced", rata-rata peluang churn naik ke 0,3529 padahal laju churn latih 0,123, dan kampanye kupon merugi.Dipelajari di Modul 13 · Data tak seimbang, keadilan, dan interpretabilitas
bootstrapjuga: sampel bootstrap
Sampel baru sebanyak n baris yang diambil acak dari n baris data dengan pengembalian, jadi ada baris yang terambil berkali-kali dan ada yang tidak terambil sama sekali. Dipakai untuk interval dan untuk hutan acak.
Contoh: sekitar 36,8% baris tidak terambil di setiap sampel bootstrap.
Dipelajari di Modul 10 · Bagging dan hutan acak
brier_score_lossFungsi scikit-learn yang menghitung skor Brier dari label benar dan peluang tebakan.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
CalibratedClassifierCVPembungkus scikit-learn yang mengkalibrasi ulang model dengan Platt (
method="sigmoid") atau isotonik, memakai validasi silang.Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
calibration_curveFungsi scikit-learn yang membuat tabel reliabilitas: rata-rata peluang tebakan dan laju positif sebenarnya untuk setiap kelompok peluang.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
churnjuga: pelanggan churn
Pelanggan yang berhenti belanja atau pindah ke tempat lain. Di course ini, model menebak peluang setiap pelanggan churn bulan depan supaya warung bisa mencegahnya dengan kupon.
Contoh: label
churn = 1berarti pelanggan itu tidak belanja lagi pada bulan berikutnya;churn = 0berarti tetap belanja.Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
ColumnTransformerPengubah scikit-learn yang menerapkan langkah berbeda ke kelompok kolom berbeda, misalnya
OneHotEncoderuntuk kategori danStandardScaleruntuk angka. Kolom yang tidak disebut dibuang.Dipelajari di Modul 02 · Data, fitur, dan pemisahan yang jujur
confusion_matrixFungsi scikit-learn yang menghitung matriks kebingungan dari label benar dan prediksi, dengan susunan
[[TN, FP], [FN, TP]].Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
cross_val_scoreFungsi scikit-learn yang melatih dan menilai model di setiap lipatan validasi silang, lalu mengembalikan satu skor per lipatan. Untuk pengklasifikasi,
cv=5berartiStratifiedKFold(5), yang tidak memperhatikan tanggal.Dipelajari di Modul 06 · Validasi silang dan bias–varians
data tak seimbangjuga: tak seimbang, kelas tak seimbang
Data yang satu kelasnya jauh lebih sedikit daripada kelas lain, misalnya hanya 10% pelanggan yang churn. Di data seperti ini akurasi hampir tidak berarti.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
DecisionTreeClassifierKelas scikit-learn untuk pohon keputusan klasifikasi (CART).
max_depthdanmin_samples_leafmembatasi besarnya pohon;predict_probamemberi proporsi kelas di daun.Dipelajari di Modul 09 · Pohon keputusan
deraujuga: noise, galat Bayes
Bagian hasil yang acak dan tidak bisa ditebak dari fitur apa pun. Model terbaik pun tetap meleset sebesar derau, jadi galat yang jauh di bawahnya adalah tanda kebocoran data.
Contoh: model yang tahu peluang churn sebenarnya pun hanya mencapai AUC 0,7842, karena keputusan pelanggan sebagian acak.
Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
early stopping
Menghentikan penambahan tahap (pohon) saat kerugian di data validasi berhenti membaik, supaya model tidak terus menghafal data latih.
Contoh: boosting churn dihentikan di tahap 158, tempat log-loss Juli paling kecil.
Dipelajari di Modul 11 · Gradient boosting
false negativejuga: FN
Diprediksi negatif padahal positif. Di contoh churn: pelanggan yang akan pergi tidak dikirimi kupon, jadi pergi tanpa dicegah.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
false positivejuga: FP
Diprediksi positif padahal negatif. Di contoh churn: kupon dikirim ke pelanggan setia, jadi Rp5.000 terbuang.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
fitMetode yang melatih model: mencari bobot terbaik dari data latih.
model.fit(X, y)memakai fiturXdan labely, lalu mengembalikan model yang sama.Dipelajari di Modul 03 · Regresi linear dan gradient descent
fiturjuga: variabel masukan
Kolom data yang dipakai model untuk menebak label, misalnya jarak rumah ke warung, jumlah belanja 90 hari terakhir, atau jumlah keluhan.
Dipelajari di Modul 02 · Data, fitur, dan pemisahan yang jujur
fitur rekayasajuga: rekayasa fitur
Fitur baru yang dibuat dari kolom asli supaya model sederhana bisa menangkap pola yang tidak lurus, misalnya ambang atau interaksi dua fitur.
Contoh:
rec30bernilai 1 bila pelanggan lebih dari 30 hari tidak belanja, danlog_frek= log(1 + frekuensi 90 hari).Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
FixedThresholdClassifierPembungkus scikit-learn yang membuat
predictmemakai ambang yang kamu tentukan sendiri, bukan 0,5.Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
FPRjuga: false positive rate
Dari semua yang benar negatif, berapa bagian yang keliru ditebak positif: FP / (FP + TN) = 1 − spesifisitas. Sumbu mendatar kurva ROC.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
Ginijuga: impuritas Gini
Ukuran seberapa campur kelas di satu titik percabangan pohon: 1 − Σ p², dengan p proporsi setiap kelas. Nol bila semua baris satu kelas, 0,5 bila dua kelas sama banyak. Pohon memilih pemisah yang paling menurunkan Gini.
Dipelajari di Modul 09 · Pohon keputusan
gradien
Daftar turunan kerugian terhadap setiap bobot. Gradien menunjuk ke arah kerugian naik paling cepat, jadi bobot digeser ke arah sebaliknya.
Contoh: gradien [−7; −14,5] berarti konstanta dan kemiringan sama-sama perlu dinaikkan agar MSE turun.
Dipelajari di Modul 03 · Regresi linear dan gradient descent
gradient boostingjuga: boosting
Model yang menjumlahkan ratusan pohon kecil secara berurutan: setiap pohon belajar memperbaiki kesalahan gabungan pohon sebelumnya, lalu dikalikan laju kecil sebelum ditambahkan.
Dipelajari di Modul 11 · Gradient boosting
gradient descentjuga: GD, penurunan gradien
Cara melatih model dengan melangkah sedikit demi sedikit melawan gradien: bobot baru = bobot lama − laju belajar × gradien, diulang sampai kerugian berhenti turun.
Dipelajari di Modul 03 · Regresi linear dan gradient descent
GridSearchCVPembungkus scikit-learn yang mencoba setiap nilai hiperparameter di daftar dengan validasi silang, memilih yang terbaik (
best_params_), lalu melatih ulang model itu dengan semua data yang diberikan.Dipelajari di Modul 06 · Validasi silang dan bias–varians
groupbyMetode pandas yang mengelompokkan baris menurut nilai sebuah kolom, lalu menghitung sesuatu untuk setiap kelompok.
Contoh:
df.groupby("tanggal_snapshot").size()menghitung banyak pelanggan di setiap snapshot bulanan.Dipelajari di C1 · Modul 03 · pandas 2: mengelompok, menggabung, membentuk ulang
hiperparameterjuga: hyperparameter
Pengaturan model yang ditentukan sebelum pelatihan, bukan dipelajari dari data, misalnya
Cregresi logistik atau kedalaman pohon. Dipilih dengan data validasi, tidak pernah dengan data uji.Dipelajari di Modul 06 · Validasi silang dan bias–varians
HistGradientBoostingClassifierKelas scikit-learn untuk gradient boosting yang cepat: setiap fitur dikelompokkan dulu ke paling banyak 255 rentang nilai (bin).
max_iteradalah banyak tahap,learning_ratelajunya.Dipelajari di Modul 11 · Gradient boosting
hutan acakjuga: random forest
Rata-rata banyak pohon keputusan, masing-masing dilatih pada sampel bootstrap dan hanya boleh memilih dari sebagian fitur acak di setiap percabangan. Rata-ratanya jauh lebih stabil daripada satu pohon.
Dipelajari di Modul 10 · Bagging dan hutan acak
k-foldjuga: validasi silang k lipatan, k lipatan, lipatan
Validasi silang yang membagi data menjadi k bagian (lipatan). Setiap lipatan bergiliran menjadi data penguji, sisanya data latih, lalu k skornya dirata-rata.
Contoh:
KFold(3)pada 10 baris memberi lipatan uji berukuran 4, 3, dan 3.Dipelajari di Modul 06 · Validasi silang dan bias–varians
k-meansjuga: algoritma Lloyd
Pengelompokan tanpa label yang mencari k pusat: setiap baris ditugaskan ke pusat terdekat, lalu setiap pusat dipindah ke rata-rata anggotanya, diulang sampai tidak berubah.
Contoh: 1.200 profil pelanggan yang distandarkan terbagi menjadi 4 klaster yang hampir sama dengan segmen pembangkit datanya.
Dipelajari di Modul 12 · Belajar tanpa label
k-NNjuga: k tetangga terdekat
Model tanpa pelatihan: untuk data baru, ia mencari k data latih yang jaraknya paling dekat lalu mengambil suara terbanyak. Fitur perlu distandarkan dulu, karena jarak menjumlahkan selisih semua fitur.
Dipelajari di Modul 08 · k-NN dan Naive Bayes
kalibrasijuga: terkalibrasi
Kejujuran angka peluang. Model terkalibrasi bila, dari semua pelanggan yang diberi peluang 0,2, memang sekitar 20% yang churn.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
kalibrasi Plattjuga: Platt
Cara memperbaiki kalibrasi: latih regresi logistik kecil yang memetakan skor model lama ke peluang baru, memakai data validasi, bukan data latih.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
kartu modeljuga: model card
Dokumen singkat yang menyertai model: untuk apa model dipakai, data latihnya, metrik (juga per kelompok), batasan, dan versinya.
Dipelajari di Modul 14 · Pipeline, reproduktibilitas, dan pelacakan eksperimen
kebocoran datajuga: fitur bocor, bocor
Keadaan ketika model memakai informasi yang tidak akan tersedia saat prediksi sungguhan, sehingga nilainya tampak bagus saat diuji tetapi gagal di dunia nyata.
Dipelajari di Modul 02 · Data, fitur, dan pemisahan yang jujur
kepentingan permutasijuga: permutation importance
Seberapa turun skor model bila satu kolom diacak sehingga hubungannya dengan label putus. Hitung di data validasi, dan ingat bahwa penting bagi model bukan berarti menjadi sebab.
Contoh: kolom derau murni tampak penting di data latih (0,213) tetapi tidak di validasi (−0,032).
Dipelajari di Modul 10 · Bagging dan hutan acak
kurva ROCjuga: ROC
Grafik recall (TPR) terhadap FPR untuk semua ambang yang mungkin. Kurva yang makin mendekati pojok kiri atas berarti model makin pandai membedakan dua kelas.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
labeljuga: target
Jawaban yang benar untuk setiap baris data, yang ingin ditebak model. Saat melatih, model melihat fitur dan labelnya; saat dipakai, model hanya melihat fitur.
Contoh: kolom
churn(0 atau 1) adalah label; jarak rumah dan frekuensi belanja adalah fitur.Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
laju belajarjuga: learning rate
Besar langkah gradient descent, biasa ditulis η. Terlalu kecil membuat pelatihan sangat lambat; terlalu besar membuat kerugian membesar dan meledak.
Contoh: dengan laju 0,1, bobot regresi empat titik sampai ke [1,1; 1,6] dalam 200 langkah.
Dipelajari di Modul 03 · Regresi linear dan gradient descent
lassojuga: regresi lasso, penalti L1
Regularisasi yang menambahkan α × jumlah nilai mutlak bobot ke kerugian. Sebagian bobot menjadi tepat nol, jadi lasso sekaligus memilih fitur.
Dipelajari di Modul 07 · Regularisasi
LinearRegressionKelas scikit-learn untuk regresi linear yang menyelesaikan kuadrat terkecil secara tepat, tanpa gradient descent. Konstanta ditambahkan sendiri, jadi jangan beri kolom 1.
Dipelajari di Modul 03 · Regresi linear dan gradient descent
log_lossFungsi scikit-learn yang menghitung log-loss dari label benar dan peluang tebakan.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
log-lossjuga: log loss, cross-entropy
Rata-rata −log(peluang yang diberikan pada jawaban benar). Menghukum keras tebakan yang yakin tetapi salah: memberi peluang 0,01 pada kejadian yang ternyata terjadi sangat mahal.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
LogisticRegressionKelas scikit-learn untuk regresi logistik. Dibuat dulu dengan pengaturannya, dilatih dengan
fit, lalu dipakai denganpredict_proba.Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
logitjuga: log-odds
Kebalikan sigmoid: log(p / (1 − p)). Regresi logistik sebenarnya memodelkan logit sebagai jumlah fitur berbobot.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
MAEjuga: mean absolute error, galat mutlak rata-rata
Rata-rata selisih mutlak antara nilai sebenarnya dan tebakan: (1/n)·Σ|y − ŷ|. Satuannya sama dengan yang ditebak, jadi mudah dibaca.
Contoh: MAE 5,13 untuk ramalan permintaan berarti tebakan meleset rata-rata 5,13 unit per produk per hari.
Dipelajari di C1 · Modul 13 · Deret waktu
make_pipelineFungsi scikit-learn yang merangkai beberapa langkah (misalnya
StandardScalerlaluLogisticRegression) menjadi satu model.fitdanpredict_probamenjalankan semua langkah berurutan, jadi skala dari data latih tidak bocor.Dipelajari di Modul 14 · Pipeline, reproduktibilitas, dan pelacakan eksperimen
matriks kebingunganjuga: confusion matrix
Tabel 2 × 2 yang menghitung empat kemungkinan hasil keputusan: TN, FP, FN, dan TP. scikit-learn menulisnya
[[TN, FP], [FN, TP]]: baris = label benar, kolom = prediksi.Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
meanjuga: np.meanMenghitung rata-rata. Pada array
True/False,Truedihitung 1, jadi.mean()memberi proporsi.Contoh:
(y == 0).mean()adalah bagian pelanggan yang tidak churn, yaitu akurasi tebakan "tidak ada churn".Dipelajari di C1 · Modul 03 · pandas 2: mengelompok, menggabung, membentuk ulang
MSEjuga: mean squared error, kerugian kuadrat rata-rata
Rata-rata kuadrat selisih antara nilai sebenarnya dan tebakan: (1/n)·Σ(y − ŷ)². Karena dikuadratkan, tebakan yang meleset jauh dihukum jauh lebih berat daripada yang meleset sedikit.
Contoh: meleset 2 unit menyumbang 4, meleset 10 unit menyumbang 100.
Dipelajari di Modul 03 · Regresi linear dan gradient descent
naif musiman
Baseline ramalan yang menebak penjualan hari ini sama dengan penjualan hari yang sama minggu lalu. Model permintaan baru berguna bila mengalahkannya.
Contoh: ramalan penjualan roti hari Kamis = penjualan roti Kamis pekan lalu (lag 7 hari).
Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
Naive Bayesjuga: Naive Bayes multinomial
Pengklasifikasi yang memakai teorema Bayes dengan anggapan "naif" bahwa setiap kata muncul tanpa bergantung pada kata lain. Melatihnya cukup dengan menghitung kata per kelas.
Contoh: "mahal" adalah hampir 5% kata di ulasan kelas harga, jadi ulasan yang memuat "mahal" condong ke kelas itu.
Dipelajari di Modul 08 · k-NN dan Naive Bayes
nilai harapanjuga: dalam harapan, harapan
Rata-rata hasil bila keputusan yang sama diulang berkali-kali: setiap hasil dikali peluangnya, lalu dijumlahkan.
Contoh: kupon ke pelanggan berpeluang churn 0,25 menghasilkan, dalam harapan, 0,25 × Rp32.000 − Rp5.000 = Rp3.000.
Dipelajari di C1 · Modul 06 · Probabilitas dan distribusi
np.arrayFungsi NumPy yang membuat array baru dari list, misalnya
np.array([1, 0, 1]). Array bisa dihitung per elemen tanpa perulangan.Dipelajari di C1 · Modul 04 · Membersihkan dan memvalidasi data
np.asarrayFungsi NumPy yang mengubah list atau kolom tabel menjadi array NumPy (tanpa menyalin bila sudah array), supaya bisa dihitung sekaligus seperti
y == 1ataup >= 0.3.Dipelajari di C1 · Modul 05 · Statistika deskriptif dan visualisasi jujur
np.cumsumFungsi NumPy yang menghitung jumlah berjalan:
np.cumsum([1, 2, 3])menjadi[1, 3, 6]. Dipakai untuk menghitung untung di semua ambang sekaligus setelah data diurutkan.Dipelajari di C1 · Modul 06 · Probabilitas dan distribusi
np.isclosejuga: iscloseFungsi NumPy yang memeriksa apakah dua bilangan pecahan "hampir sama". Lebih aman daripada
==, karena komputer menyimpan pecahan dengan pembulatan kecil.np.random.default_rngjuga: default_rngFungsi NumPy yang membuat pembangkit angka acak. Dengan benih, misalnya
np.random.default_rng(0), angka acaknya sama setiap kali dijalankan.Contoh:
rng.integers(0, n, n)mengambil n nomor baris acak dengan pengembalian, seperti sampel bootstrap.Dipelajari di C1 · Modul 01 · Peran data scientist dan siklus analisis
np.uniqueFungsi NumPy yang mengembalikan nilai-nilai berbeda di sebuah array, terurut. Dengan
return_counts=True, sekaligus memberi berapa kali setiap nilai muncul.Dipelajari di C1 · Modul 09 · Eksperimen A/B
O(n log n)juga: notasi O besar
Cara menyatakan seberapa cepat waktu kerja bertambah ketika data membesar. O(n log n), misalnya mengurutkan, jauh lebih cepat daripada O(n²), misalnya membandingkan semua pasangan, saat n berukuran puluhan ribu.
Dipelajari di K1 · Modul 02 · Notasi asimtotik
odds
Perbandingan peluang terjadi dengan peluang tidak terjadi: p / (1 − p). Logaritmanya adalah logit.
Contoh: peluang churn 0,9 memberi odds 9: churn sembilan kali lebih mungkin daripada tidak.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
out-of-bagjuga: OOB
Baris yang tidak terambil di sampel bootstrap sebuah pohon (±37%). Skor OOB menilai setiap baris dengan pohon-pohon yang tidak melihatnya; untuk data berurutan waktu, skor ini terlalu optimis.
Dipelajari di Modul 10 · Bagging dan hutan acak
PCAjuga: analisis komponen utama
Cara mencari arah-arah baru (komponen) yang menangkap keragaman data terbesar, berurutan dari yang terbesar. Dipakai untuk meringkas banyak kolom menjadi dua atau tiga sumbu.
Contoh: komponen pertama profil pelanggan menangkap 50,6% keragaman.
Dipelajari di Modul 12 · Belajar tanpa label
pd.read_csvjuga: read_csvFungsi pandas yang membaca berkas CSV menjadi tabel (DataFrame), satu baris per baris berkas dan satu kolom per kolom.
Dipelajari di C1 · Modul 02 · pandas 1: data dalam tabel
pemisahan bakujuga: data latih, data validasi, data uji, pemisahan data
Pembagian data menjadi tiga bagian dengan peran berbeda: latih untuk melatih model, validasi untuk memilih pengaturan (misalnya ambang), dan uji untuk penilaian akhir yang disentuh sekali saja.
Contoh: latih Maret–Juni, validasi Juli, uji Agustus. Data dibagi menurut waktu supaya model tidak "melihat masa depan".
Dipelajari di Modul 02 · Data, fitur, dan pemisahan yang jujur
PipelineKelas scikit-learn yang merangkai langkah-langkah bernama, misalnya
("pilih", ...)lalu("model", ...), menjadi satu model. Sepertimake_pipeline, tetapi nama setiap langkah kamu tentukan sendiri.Dipelajari di Modul 14 · Pipeline, reproduktibilitas, dan pelacakan eksperimen
pohon keputusanjuga: CART
Model berupa rangkaian pertanyaan "fitur ≤ ambang?". Setiap jawaban mengarah ke cabang berikutnya sampai ke daun, dan daun memberi proporsi churn baris latih yang sampai di sana.
Contoh: pelanggan yang lebih dari 31,5 hari tidak belanja dan porsi QRIS-nya ≤ 0,23 jatuh di daun berpeluang churn 84%.
Dipelajari di Modul 09 · Pohon keputusan
PR-AUCjuga: kurva presisi–recall, kurva presisi-recall
Luas di bawah kurva presisi terhadap recall. Lebih jujur daripada AUC ROC untuk data tak seimbang, karena memperhatikan seberapa banyak kupon yang terbuang.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
precision_recall_fscore_supportFungsi scikit-learn yang menghitung presisi, recall, F1, dan jumlah data per kelas sekaligus.
average="binary"memberi angka untuk kelas positif saja.Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
predictMetode model scikit-learn yang langsung mengembalikan kelas (0 atau 1). Untuk klasifikasi biner, keputusannya memakai ambang 0,5 yang tidak dipilih siapa pun.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
predict_probaMetode model scikit-learn yang mengembalikan peluang setiap kelas, satu baris per data. Untuk dua kelas, kolom
[:, 1]adalah peluang kelas positif (churn).Contoh:
model.predict_proba(X)[:, 1]memberi array peluang churn, misalnya[0.81, 0.40, 0.12].Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
presisijuga: precision
Dari semua yang ditebak positif, berapa bagian yang benar positif: TP / (TP + FP). Menjawab "dari kupon yang dikirim, berapa yang tepat sasaran?"
Contoh: 100 kupon dikirim, 60 penerimanya memang akan churn, jadi presisinya 0,6.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
PSIjuga: Population Stability Index
Angka yang mengukur seberapa jauh sebaran sebuah fitur bergeser dari data acuan: Σ (q − p)·ln(q/p) atas kelompok nilai (bin). Nol bila sama; pada sampel kecil, angka yang tampak besar bisa muncul dari derau saja.
Dipelajari di Modul 15 · Penyajian dan pemantauan model
random_stateParameter banyak fungsi dan model scikit-learn untuk benih acak. Nilai tetap, misalnya
random_state=0, membuat pembagian data atau pohon acak sama setiap kali dijalankan.RandomForestClassifierKelas scikit-learn untuk hutan acak klasifikasi.
n_estimatorsadalah banyak pohon,max_featuresbanyak fitur acak per percabangan, danoob_score=Truemenghitung skor out-of-bag.Dipelajari di Modul 10 · Bagging dan hutan acak
rankdataFungsi SciPy yang memberi peringkat setiap angka (terkecil = 1). Angka yang seri mendapat rata-rata peringkatnya, misalnya dua angka di peringkat 3 dan 4 sama-sama mendapat 3,5.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
rata-rata harmonik
Rata-rata yang condong ke angka kecil: untuk dua angka a dan b, 2ab / (a + b). Rata-rata harmonik 0,9 dan 0,1 adalah 0,18, jauh di bawah rata-rata biasa 0,5.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
recalljuga: TPR, true positive rate, sensitivitas
Dari semua yang benar positif, berapa bagian yang tertangkap: TP / (TP + FN). Menjawab "dari pelanggan yang akan pergi, berapa yang terjangkau kupon?"
Contoh: 146 pelanggan akan churn dan 69 di antaranya dikirimi kupon, jadi recall-nya 69/146 ≈ 0,47.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
regresi isotonikjuga: isotonik
Cara kalibrasi yang lebih lentur daripada Platt: mencari fungsi tangga yang selalu naik dari skor ke peluang. Butuh data lebih banyak dan bisa membuat banyak skor menjadi seri.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
regresi logistikjuga: logistik
Model klasifikasi yang menjumlahkan fitur dengan bobot, lalu memasukkan hasilnya ke fungsi sigmoid sehingga keluarannya selalu peluang antara 0 dan 1.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
regularisasi
Menambahkan harga untuk bobot yang besar ke kerugian, supaya model tidak terlalu mengikuti data latih. Hasilnya sedikit lebih buruk di data latih, tetapi sering lebih baik di data baru.
Contoh: dengan 119 kolom interaksi,
C = 0,01(regularisasi kuat) memberi AUC Juli 0,75, sedangkanC = 100hanya 0,66.Dipelajari di Modul 07 · Regularisasi
ridgejuga: regresi ridge, penalti L2
Regularisasi yang menambahkan α × jumlah kuadrat bobot ke kerugian. Semua bobot mengecil, tetapi tidak ada yang tepat nol; fitur yang saling berkorelasi mendapat bobot yang lebih stabil.
Dipelajari di Modul 07 · Regularisasi
roc_auc_scoreFungsi scikit-learn yang menghitung AUC dari label benar dan skor/peluang (bukan prediksi 0/1). Memberi label 0/1 sebagai skor adalah kesalahan umum yang menurunkan AUC.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
selisih hinggajuga: finite difference
Cara memeriksa turunan dengan angka: geser satu bobot sedikit (sejauh h) ke dua arah, lalu hitung [f(w + h) − f(w − h)] / (2h). Hasilnya harus hampir sama dengan gradien dari rumus.
Dipelajari di Modul 03 · Regresi linear dan gradient descent
sigmoidjuga: fungsi logistik
Fungsi berbentuk huruf S yang mengubah bilangan berapa pun menjadi angka antara 0 dan 1: σ(z) = 1 / (1 + e⁻ᶻ). Angka besar mendekati 1, angka sangat negatif mendekati 0.
Dipelajari di Modul 04 · Regresi logistik dan klasifikasi
skor Brierjuga: Brier
Rata-rata (p − y)² untuk semua data: selisih kuadrat antara peluang tebakan p dan label y (0 atau 1). Makin kecil makin baik; menilai ketepatan sekaligus kejujuran peluang.
Contoh: menebak 0,8 untuk pelanggan yang churn (y = 1) menyumbang (0,8 − 1)² = 0,04.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
skor F1juga: F1
Rata-rata harmonik presisi dan recall: 2·P·R / (P + R). Nilainya tinggi hanya bila keduanya tinggi; TN sama sekali tidak dihitung.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
spesifisitasjuga: specificity, TNR
Dari semua yang benar negatif, berapa bagian yang ditebak negatif: TN / (TN + FP). Di contoh churn: dari pelanggan setia, berapa yang tidak diganggu kupon.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
standardisasi
Mengubah setiap fitur menjadi (x − rata-rata) / simpangan baku, dengan statistik dari data latih saja. Sesudahnya semua fitur berskala serupa, sehingga gradient descent, regularisasi, k-NN, dan k-means tidak didominasi fitur bersatuan besar.
Contoh:
rata_belanjadalam rupiah danporsi_qris(0–1) sesudah distandarkan sama-sama berpusat di 0.Dipelajari di Modul 03 · Regresi linear dan gradient descent
StandardScalerPengubah scikit-learn yang menyeragamkan skala setiap fitur: dikurangi rata-ratanya lalu dibagi simpangan bakunya, sehingga fitur seperti jarak (km) dan belanja (rupiah) setara bagi model.
Dipelajari di Modul 02 · Data, fitur, dan pemisahan yang jujur
statistik U Mann–Whitneyjuga: Mann–Whitney, Mann-Whitney, statistik U
Cara menghitung AUC tanpa membandingkan semua pasangan: urutkan semua skor, jumlahkan peringkat milik kelas positif, lalu kurangi n₁(n₁ + 1)/2. Hasilnya dibagi n₁·n₀ sama dengan AUC.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
sumjuga: np.sumMenjumlahkan isi. Pada array
True/False,Truedihitung 1, jadi((y == 1) & (yhat == 1)).sum()menghitung banyaknya TP.Dipelajari di F1 · Modul 07 · List dan tuple
tabel reliabilitasjuga: diagram reliabilitas, kurva kalibrasi
Tabel yang mengelompokkan pelanggan menurut peluang tebakan (misalnya 0–0,1, 0,1–0,2, …), lalu membandingkan rata-rata tebakan dengan laju churn sebenarnya di setiap kelompok. Model terkalibrasi bila keduanya hampir sama.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
to_numpyMetode pandas yang mengubah kolom (Series) atau tabel (DataFrame) menjadi array NumPy, misalnya
uji["churn"].to_numpy().Dipelajari di C1 · Modul 02 · pandas 1: data dalam tabel
train_test_splitFungsi scikit-learn yang membagi data menjadi latih dan uji secara acak. Untuk data berurutan waktu seperti churn bulanan, pembagian acak membuat model "melihat masa depan"; bagi menurut tanggal.
Dipelajari di Modul 01 · Peran ML engineer dan siklus ML
true negativejuga: TN
Diprediksi negatif dan memang negatif. Di contoh churn: pelanggan setia tidak dikirimi kupon, dan memang tidak perlu.
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
true positivejuga: TP
Diprediksi positif dan memang positif. Di contoh churn: kupon dikirim ke pelanggan yang memang akan pergi (kupon tepat sasaran).
Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
TunedThresholdClassifierCVPembungkus scikit-learn yang memilih ambang terbaik untuk sebuah ukuran (misalnya untung) dengan validasi silang, lalu memakainya saat
predict.Dipelajari di Modul 05 · Evaluasi klasifikasi dan keputusan
validasi silangjuga: cross-validation
Cara menilai model dengan beberapa kali membagi data latih menjadi bagian latih dan bagian penguji secara bergantian, lalu merata-ratakan hasilnya.
Dipelajari di Modul 06 · Validasi silang dan bias–varians