Confronto tra regressione logistica e SVM

Classificatori lineari in Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Regressione logistica:

  • Classificatore lineare
  • Usabile con kernel, ma lenta
  • Restituisce probabilità interpretabili
  • Estendibile al multi-classe
  • Tutti i punti influenzano l'adattamento
  • Regolarizzazione L2 o L1

Support vector machine (SVM):

  • Is a linear classifier
  • Can use with kernels, and fast
  • Does not naturally output probabilities
  • Can be extended to multi-class
  • Only "support vectors" affect fit
  • Conventionally just L2 regularization
Classificatori lineari in Python

Uso in scikit-learn

Regressione logistica in sklearn:

  • linear_model.LogisticRegression

Iperparametri chiave in sklearn:

  • C (inverso dell'intensità di regolarizzazione)
  • penalty (tipo di regolarizzazione)
  • multi_class (tipo di multi-classe)

SVM in sklearn:

  • svm.LinearSVC e svm.SVC
Classificatori lineari in Python

Uso in scikit-learn (cont.)

Iperparametri chiave in sklearn:

  • C (inverso dell'intensità di regolarizzazione)
  • kernel (tipo di kernel)
  • gamma (inverso della "levigatezza" RBF)
Classificatori lineari in Python

SGDClassifier

SGDClassifier: scala bene su insiemi di dati grandi

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • L'iperparametro alpha di SGDClassifier è come 1/C
Classificatori lineari in Python

Esercitiamoci!

Classificatori lineari in Python

Preparing Video For Download...