Линейные классификаторы: уравнения предсказания

Линейные классификаторы в 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}$
  • Предсказание линейного классификатора: вычислить выход модели и проверить его знак
    • если положительный — предсказать один класс
    • если отрицательный — предсказать другой класс
  • Это верно как для логистической регрессии, так и для линейного 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...