Så fungerar logistisk regression

Intermediär regression i R

Richie Cotton

Data Evangelist at DataCamp

Kvadratsumman fungerar inte

sum((y_pred - y_actual) ^ 2)

y_actual är alltid 0 eller 1.

y_pred är mellan 0 och 1.

Det finns ett bättre mått än kvadratsumman.

Intermediär regression i R

Sannolikhet

    y_pred * y_actual
Intermediär regression i R

Sannolikhet

    y_pred * y_actual + (1 - y_pred) * (1 - y_actual)
Intermediär regression i R

Sannolikhet

sum(y_pred * y_actual + (1 - y_pred) * (1 - y_actual))

När y_actual = 1

y_pred * 1 + (1 - y_pred) * (1 - 1) = y_pred

När y_actual = 0

y_pred * 0 + (1 - y_pred) * (1 - 0) = 1 - y_pred
Intermediär regression i R

Log-sannolikhet

  • Att beräkna sannolikhet innebär addition av många mycket små tal, vilket ger numeriska fel.
  • Log-sannolikhet är enklare att beräkna.
log(y_pred) * y_actual + log(1 - y_pred) * (1 - y_actual)

Båda uttrycken ger samma svar.

Intermediär regression i R

Negativ log-sannolikhet

Att maximera log-sannolikheten är detsamma som att minimera den negativa log-sannolikheten.

-sum(log_likelihoods)
Intermediär regression i R

Algoritm för logistisk regression

calc_neg_log_likelihood <- function(coeffs) {

intercept <- coeffs[1] slope <- coeffs[2]
# More calculation!
}
optim(
  par = ???,
  fn = ???
)
Intermediär regression i R

Nu kör vi en övning!

Intermediär regression i R

Preparing Video For Download...