Klasyfikatory liniowe: równania predykcji

Liniowe klasyfikatory w Pythonie

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Iloczyn skalarny

x = np.arange(3)
x
array([0, 1, 2])
y = np.arange(3,6)
y
array([3, 4, 5])
x*y
array([0, 4, 10])
np.sum(x*y)
14
x@y
14
  • x@y to iloczyn skalarny x i y, zapisywany jako $x \cdot y$.
Liniowe klasyfikatory w Pythonie

Predykcja klasyfikatora liniowego

  • $\textrm{surowe wyjście modelu} = \textrm{współczynniki} \cdot \textrm{cechy} + \textrm{wyraz wolny}$
  • Predykcja klasyfikatora liniowego: oblicz surowe wyjście modelu, sprawdź znak
    • jeśli dodatni, przewiduj pierwszą klasę
    • jeśli ujemny, przewiduj drugą klasę
  • Dotyczy to regresji logistycznej i liniowego SVM
    • fit jest różne, ale predict jest takie samo
Liniowe klasyfikatory w Pythonie

Jak LogisticRegression dokonuje predykcji

$\textrm{surowe wyjście modelu} = \textrm{współczynniki} \cdot \textrm{cechy} + \textrm{wyraz wolny}$

lr = LogisticRegression()

lr.fit(X,y)

lr.predict(X)[10]
0
lr.predict(X)[20]
1
Liniowe klasyfikatory w Pythonie

Jak LogisticRegression dokonuje predykcji (cd.)

lr.coef_ @ X[10] + lr.intercept_ # raw model output
array([-33.78572166])
lr.coef_ @ X[20] + lr.intercept_ # raw model output
array([ 0.08050621])
Liniowe klasyfikatory w Pythonie

Surowe wyjście modelu

Liniowe klasyfikatory w Pythonie

Surowe wyjście modelu

Liniowe klasyfikatory w Pythonie

Surowe wyjście modelu

Liniowe klasyfikatory w Pythonie

Czas na ćwiczenia!

Liniowe klasyfikatory w Pythonie

Preparing Video For Download...