Regresi Logistik: Prediksi Kategori untuk Analis
TL;DR
Regresi logistik adalah metode statistik buat memprediksi kategori atau kelas, misalnya pelanggan bakal churn atau nggak, berdasarkan satu atau lebih variabel input. Beda dari regresi linear yang ngeprediksi angka, regresi logistik ngeluarin probabilitas antara 0 dan 1, lalu diubah jadi keputusan ya atau nggak lewat ambang batas. Cocok buat masalah klasifikasi dua kelas.
Regresi logistik adalah metode buat memprediksi kategori, bukan angka. Misalnya nebak pelanggan bakal berhenti langganan atau nggak, transaksi penipuan atau bukan. Outputnya probabilitas antara 0 dan 1, terus diubah jadi keputusan ya atau nggak.
Buat analis, ini salah satu model prediksi paling berguna sekaligus paling gampang dipahami. Gak seseram namanya, dan kamu bisa jalanin dengan beberapa baris Python.
Di artikel ini kamu bakal ngerti cara kerjanya, bedanya dari regresi linear, contoh kode, dan kapan sebaiknya dipakai. Ada contoh prediksi churn pelanggan toko_berkah.
Apa itu regresi logistik?
Regresi logistik adalah teknik statistik buat memprediksi kelas atau kategori berdasarkan satu atau lebih variabel input. Hasilnya berupa probabilitas antara 0 dan 1 yang nunjukin seberapa mungkin sebuah kasus masuk kategori tertentu. Probabilitas itu lalu diubah jadi keputusan dua pilihan lewat ambang batas.
Namanya ada "regresi", tapi kerjanya buat klasifikasi. Ini yang sering bikin bingung pemula. Kata "regresi" nunjuk ke cara matematisnya, bukan ke jenis outputnya.
Regresi logistik termasuk machine learning yang terawasi, artinya model belajar dari data yang labelnya udah diketahui. Kamu kasih contoh pelanggan yang udah churn dan yang belum, model belajar polanya, terus prediksi pelanggan baru.
Gimana cara kerja regresi logistik?
Regresi logistik ngitung skor dari variabel input, lalu mendorong skor itu lewat fungsi sigmoid yang meremas hasilnya jadi rentang 0 sampai 1. Angka di rentang itu ditafsir sebagai probabilitas. Kalau di atas ambang batas (biasanya 0,5), diprediksi masuk kelas positif.
Fungsi sigmoid ini kuncinya. Bentuknya kurva S yang naik dari 0 ke 1. Input kecil ngasih probabilitas mendekati 0, input besar mendekati 1, dan di tengah transisinya mulus.
Contoh gampang. Model prediksi churn ngeliat pelanggan yang 60 hari gak belanja dan komplain 3 kali. Skornya tinggi, sigmoid ngubah jadi probabilitas 0,82. Karena 0,82 di atas 0,5, pelanggan itu diprediksi bakal churn.
Apa beda regresi logistik dan regresi linear?
Regresi linear ngeprediksi angka bebas, regresi logistik ngeprediksi probabilitas kategori. Linear cocok buat "berapa omzet bulan depan". Logistik cocok buat "pelanggan ini bakal beli lagi atau nggak". Bedanya di jenis jawaban yang kamu butuhin.
| Aspek | Regresi Linear | Regresi Logistik |
|---|---|---|
| Output | Angka kontinu | Probabilitas 0 sampai 1 |
| Dipakai buat | Prediksi nilai | Prediksi kategori |
| Contoh | Harga, omzet, suhu | Churn, lolos, penipuan |
| Fungsi inti | Garis lurus | Kurva sigmoid |
Kalau kamu belum kenal regresi linear atau konsep dasar hubungan antar variabel, baca dulu korelasi vs kausalitas biar gak salah tafsir hasil model.
Gimana contoh regresi logistik di Python?
Di Python, regresi logistik paling gampang pakai scikit-learn. Kamu siapin data fitur dan label, latih model dengan fit(), lalu prediksi pakai predict() atau predict_proba() buat lihat probabilitasnya. Prosesnya cuma beberapa baris.
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# X = fitur (misal: hari_sejak_beli, jumlah_komplain, total_belanja)
# y = label (1 = churn, 0 = nggak)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = LogisticRegression()
model.fit(X_train, y_train)
# prediksi kelas (0 atau 1)
prediksi = model.predict(X_test)
# prediksi probabilitas churn
proba = model.predict_proba(X_test)[:, 1]predict_proba ngasih probabilitas mentah, jadi kamu bisa atur ambang sendiri. Misal cuma mau nindak pelanggan dengan probabilitas churn di atas 0,7, tinggal filter dari proba itu.
Kalau fitur kamu ada yang berupa kategori (misal jenis produk), ubah dulu jadi angka pakai teknik encoding. Aku bahas caranya di pandas get_dummies. Dokumentasi resmi fungsinya ada di halaman LogisticRegression scikit-learn.
Contoh kasus: prediksi churn toko_berkah
Toko_berkah punya program pelanggan tetap dengan 480 anggota. Ownernya mau tau siapa yang berisiko berhenti belanja, biar bisa dikasih promo khusus sebelum kabur.
Aku pakai tiga fitur: hari sejak belanja terakhir, jumlah komplain, dan total belanja 3 bulan. Label churn didefinisikan sebagai gak belanja lagi selama 90 hari.
Setelah dilatih, model ngasih akurasi sekitar 84% di data uji. Yang lebih berguna dari akurasi, model nunjukin fitur "hari sejak belanja terakhir" paling kuat pengaruhnya. Pelanggan yang lewat 45 hari tanpa belanja punya probabilitas churn di atas 0,7.
Dari 480 anggota, model nandain 63 orang berisiko tinggi. Bu Sri kirim voucher ke 63 orang itu, dan dalam sebulan 38 di antaranya belanja lagi. Tanpa model, dia bakal ngasih promo ke semua 480 orang, banyak yang sebenernya gak butuh.
Kesalahan umum pakai regresi logistik
Ini yang paling sering bikin hasilnya nyasar:
- Data timpang diabaikan. Kalau 95% pelanggan gak churn, model bisa asal nebak "gak churn" terus dan tetap keliatan akurat 95%. Cek metrik selain akurasi.
- Ambang batas dibiarin 0,5 terus. Padahal risiko tiap kesalahan beda. Sesuaikan ambang dengan konteks bisnis.
- Data terlalu sedikit. Puluhan baris gak cukup buat pola yang bisa dipercaya.
- Fitur bocor. Masukin variabel yang baru ada setelah churn kejadian bikin model keliatan hebat tapi gak berguna buat prediksi nyata.
- Nyampur korelasi sama sebab. Model nemu pola, bukan alasan. Jangan langsung nyimpulin penyebab.
Soal jumlah dan kualitas data, teknik pengambilan sampel yang bener juga ngaruh. Aku bahas di sampling data.
Kapan sebaiknya pakai regresi logistik?
Pakai regresi logistik pas targetnya berupa dua kategori dan kamu butuh model yang gampang dijelasin. Buat prediksi churn, deteksi penipuan sederhana, atau seleksi lolos gagal, ini pilihan pertama yang solid. Modelnya transparan, jadi kamu bisa tunjukin fitur mana yang paling ngaruh.
Kalau hubungan datanya rumit dan gak linear, model lain kayak pohon keputusan mungkin lebih akurat. Tapi mulai dari regresi logistik dulu itu langkah bijak, karena kamu dapet baseline yang jelas dan gampang dipahami sebelum lompat ke model rumit.
Penutup
Regresi logistik ngeprediksi kategori lewat probabilitas, dan itu bikin dia berguna buat banyak masalah bisnis nyata: churn, penipuan, seleksi. Beda dari regresi linear yang ngasih angka, dia ngasih peluang yang bisa kamu ubah jadi keputusan.
Ingat tiga hal: perhatiin data timpang, sesuaikan ambang batas dengan risiko, dan jangan tafsir pola sebagai sebab. Itu yang bedain analis yang paham sama yang cuma ikut tutorial.
Mau lanjut ngulik dasar statistik dan Python buat prediksi? Mulai dari fondasi data di NgulikData, atau baca korelasi vs kausalitas biar interpretasi modelmu makin tajam.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
Uji Chi-Square: Konsep dan Contoh Praktis (2026)
Mau tau apakah metode bayar berhubungan sama tipe pelanggan? Uji chi-square jawabannya. Ini konsep, rumus, cara hitung di Python, plus contoh data toko nyata.
Korelasi Spearman: Kapan Dipakai vs Pearson
Korelasi Spearman kerja di peringkat, bukan nilai asli. Ini bedanya dengan Pearson, kapan pakai yang mana, dan cara hitungnya di Excel dan Python.
Korelasi Pearson: Cara Menghitung dan Membaca
Korelasi Pearson ngukur seberapa kuat dua angka bergerak bareng. Ini cara hitung dan baca nilainya dengan contoh dataset toko Indonesia.