Regresja logistyczna

Podstawy rachunku prawdopodobieństwa w Pythonie

Alexander A. Ramírez M.

CEO @ Synergy Vision

Dane wejściowe

Dane: godziny nauki a wynik

Podstawy rachunku prawdopodobieństwa w Pythonie

Nowe dane

Wykres: zdany lub niezdany egzamin

Podstawy rachunku prawdopodobieństwa w Pythonie

Gdzie wyznaczyć granicę?

Animacja: gdzie przeprowadzić granicę klasyfikacji

Podstawy rachunku prawdopodobieństwa w Pythonie

Rozwiązanie oparte na prawdopodobieństwie

Obliczanie prawdopodobieństwa za pomocą modelu

Podstawy rachunku prawdopodobieństwa w Pythonie

Funkcja logistyczna

Wykres funkcji logistycznej

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

Podstawy rachunku prawdopodobieństwa w Pythonie

Zmiana nachylenia

Animacja parametru nachylenia zmieniającego stromość funkcji sigmoidalnej

Podstawy rachunku prawdopodobieństwa w Pythonie

Zmiana przesunięcia

Wykres funkcji sigmoidalnej z parametrem przesunięcia

Podstawy rachunku prawdopodobieństwa w Pythonie

Od danych do prawdopodobieństwa

Obliczanie prawdopodobieństwa za pomocą modelu logistycznego

Podstawy rachunku prawdopodobieństwa w Pythonie

Wyniki

Wykres wyników modelu logistycznego

Podstawy rachunku prawdopodobieństwa w Pythonie

Błędne klasyfikacje

Obliczanie prawdopodobieństwa i błędne klasyfikacje

Podstawy rachunku prawdopodobieństwa w Pythonie

Regresja logistyczna

# 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)
Podstawy rachunku prawdopodobieństwa w Pythonie

Przewidywanie wyników na podstawie godzin nauki

hours_of_study_test = [[10]]
outcome = model.predict(hours_of_study_test)
print(outcome)
array([False])
Podstawy rachunku prawdopodobieństwa w Pythonie

Obliczanie prawdopodobieństwa

$$ $$

# 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])
Podstawy rachunku prawdopodobieństwa w Pythonie

Czas na ćwiczenia!

Podstawy rachunku prawdopodobieństwa w Pythonie

Preparing Video For Download...