Zacznij terazZacznij za darmo

Algorytm regresji logistycznej

Zajrzyjmy do środka i zaimplementujmy algorytm regresji logistycznej. Ponieważ funkcja glm() w R jest bardzo rozbudowana, ograniczymy się do implementacji prostej regresji logistycznej dla jednego zbioru danych.

Zamiast sumy kwadratów jako miary dopasowania, użyjemy wiarygodności (ang. likelihood). Ponieważ logarytm wiarygodności jest bardziej stabilny obliczeniowo, to właśnie jego użyjemy. Jest jeszcze jedna zmiana: chcemy maksymalizować logarytm wiarygodności, ale optim() domyślnie szuka minimum – łatwiej jest więc obliczać ujemny logarytm wiarygodności.

Wartość logarytmu wiarygodności dla każdej obserwacji wynosi

Wzór na logarytm wiarygodności

Miarą do obliczenia jest minus suma tych składników logarytmu wiarygodności.

Wartości zmiennej objaśniającej (kolumna time_since_last_purchase ze zbioru churn) są dostępne jako x_actual. Wartości zmiennej odpowiedzi (kolumna has_churned ze zbioru churn) są dostępne jako y_actual.

To ćwiczenie jest częścią kursu

Regresja średnio zaawansowana w R

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
___
Edytuj i uruchom kod