Лінійні класифікатори: рівняння передбачення

Лінійні класифікатори в Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Скалярні добутки

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 називається скалярним добутком x і y та записується як $x \cdot y$.
Лінійні класифікатори в Python

Передбачення лінійного класифікатора

  • $\textrm{raw model output} = \textrm{coefficients} \cdot \textrm{features} + \textrm{intercept}$
  • Прогноз лінійного класифікатора: обчисліть сирий вихід моделі, перевірте знак
    • якщо додатний — прогноз одного класу
    • якщо від'ємний — іншого класу
  • Однаково для logistic regression і linear SVM
    • fit різний, але predict однаковий
Лінійні класифікатори в Python

Як LogisticRegression робить прогнози

$\textrm{raw model output} = \textrm{coefficients} \cdot \textrm{features} + \textrm{intercept}$

lr = LogisticRegression()

lr.fit(X,y)

lr.predict(X)[10]
0
lr.predict(X)[20]
1
Лінійні класифікатори в Python

Як LogisticRegression робить прогнози (продовження)

lr.coef_ @ X[10] + lr.intercept_ # raw model output
array([-33.78572166])
lr.coef_ @ X[20] + lr.intercept_ # raw model output
array([ 0.08050621])
Лінійні класифікатори в Python

Сирий вихід моделі

Лінійні класифікатори в Python

Сирий вихід моделі

Лінійні класифікатори в Python

Сирий вихід моделі

Лінійні класифікатори в Python

Давайте потренуємось!

Лінійні класифікатори в Python

Preparing Video For Download...