Regressione logistica

Fondamenti di probabilità in Python

Alexander A. Ramírez M.

CEO @ Synergy Vision

Dati originali

Dati: ore di studio vs punteggio

Fondamenti di probabilità in Python

Nuovi dati

Grafico: Promosso o Bocciato

Fondamenti di probabilità in Python

Dove tracceresti la linea?

animazione: dove tracciare la linea

Fondamenti di probabilità in Python

Soluzione basata sulla probabilità

Calcolo di probabilità con modello

Fondamenti di probabilità in Python

La funzione logistica

Grafico della funzione logistica

$$ logistic(t) = logistic(slope*x + intercept) $$

Fondamenti di probabilità in Python

Modificare la pendenza

animazione: parametro pendenza rende la sigmoide più ripida

Fondamenti di probabilità in Python

Modificare l'intercetta

grafico sigmoide con parametro intercetta

Fondamenti di probabilità in Python

Dai dati alla probabilità

Calcolo di probabilità con modello logistico

Fondamenti di probabilità in Python

Esiti

Grafico esiti modello logistico

Fondamenti di probabilità in Python

Errate classificazioni

Calcolo probabilità ed errori di classificazione

Fondamenti di probabilità in Python

Regressione logistica

# Import LogisticRegression
from sklearn.linear_model import LogisticRegression
# sklearn logistic model
model = LogisticRegression(C=1e9)
model.fit(hours_of_study, outcomes)
# Get parameters
beta1 = model.coef_[0][0]
beta0 = model.intercept_[0]
# Print parameters
print(beta1, beta0)
(1.3406531235010786, -15.05906237996095)
Fondamenti di probabilità in Python

Prevedere l'esito in base alle ore di studio

hours_of_study_test = [[10]]
outcome = model.predict(hours_of_study_test)
print(outcome)
array([False])
Fondamenti di probabilità in Python

Calcolo della probabilità

$$ $$

# Put value in an array
value = np.asarray(9).reshape(-1,1)
# Calculate the probability for 9 hours of study
print(model.predict_proba(value)[:,1])
array([0.04773474])
Fondamenti di probabilità in Python

Passiamo alla pratica!

Fondamenti di probabilità in Python

Preparing Video For Download...