Algoritme regresi logistik
Mari menelusuri bagian internal dan mengimplementasikan algoritme regresi logistik. Karena fungsi glm() di R sangat kompleks, Anda akan fokus mengimplementasikan regresi logistik sederhana untuk satu himpunan data.
Alih-alih menggunakan jumlah kuadrat sebagai metrik, kita ingin menggunakan likelihood. Namun, log-likelihood lebih stabil secara komputasi, sehingga kita akan menggunakannya. Sebenarnya, ada satu perubahan lagi: karena kita ingin memaksimalkan log-likelihood, tetapi optim() secara bawaan mencari nilai minimum, lebih mudah untuk menghitung log-likelihood yang bernilai negatif.
Nilai log-likelihood untuk setiap observasi adalah

Metrik yang dihitung adalah negatif dari jumlah kontribusi log-likelihood ini.
Nilai penjelas (kolom time_since_last_purchase dari churn) tersedia sebagai x_actual.
Nilai respons (kolom has_churned dari churn) tersedia sebagai y_actual.
Latihan ini adalah bagian dari kursus
Regresi Tingkat Menengah di R
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Set the intercept to 1
intercept <- ___
# Set the slope to 0.5
slope <- ___
# Calculate the predicted y values
y_pred <- ___
# Calculate the log-likelihood for each term
log_likelihoods <- ___
# Calculate minus the sum of the log-likelihoods for each term
___