Classificatori lineari: equazioni di predizione

Classificatori lineari in Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Prodotto scalare

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 si chiama prodotto scalare di x e y, e si scrive $x \cdot y$.
Classificatori lineari in Python

Predizione di un classificatore lineare

  • $\textrm{raw model output} = \textrm{coefficients} \cdot \textrm{features} + \textrm{intercept}$
  • Predizione di un classificatore lineare: calcola il raw model output, controlla il segno
    • se positivo, predici una classe
    • se negativo, predici l'altra classe
  • Vale sia per regressione logistica sia per SVM lineare
    • fit è diverso ma predict è uguale
Classificatori lineari in Python

Come LogisticRegression fa le predizioni

$\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
Classificatori lineari in Python

Come LogisticRegression fa le predizioni (cont.)

lr.coef_ @ X[10] + lr.intercept_ # raw model output
array([-33.78572166])
lr.coef_ @ X[20] + lr.intercept_ # raw model output
array([ 0.08050621])
Classificatori lineari in Python

Raw model output

Classificatori lineari in Python

Raw model output

Classificatori lineari in Python

Raw model output

Classificatori lineari in Python

Esercitiamoci!

Classificatori lineari in Python

Preparing Video For Download...