Porovnání logistické regrese a SVM

Linear Classifiers in Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Logistická regrese:

  • Je lineární klasifikátor
  • Lze použít s jádry, ale pomalu
  • Poskytuje smysluplné pravděpodobnosti
  • Lze rozšířit na více tříd
  • Fit ovlivňují všechny datové body
  • Regularizace L2 nebo L1

Support vector machine (SVM):

  • Je lineární klasifikátor
  • Lze použít s jádry a rychle
  • Přirozeně neposkytuje pravděpodobnosti
  • Lze rozšířit na více tříd
  • Fit ovlivňují pouze „support vectors"
  • Standardně jen regularizace L2
Linear Classifiers in Python

Použití ve scikit-learn

Logistická regrese ve sklearn:

  • linear_model.LogisticRegression

Hlavní hyperparametry ve sklearn:

  • C (inverzní síla regularizace)
  • penalty (typ regularizace)
  • multi_class (typ multi-class)

SVM ve sklearn:

  • svm.LinearSVC a svm.SVC
Linear Classifiers in Python

Použití ve scikit-learn (pokr.)

Hlavní hyperparametry ve sklearn:

  • C (inverzní síla regularizace)
  • kernel (typ jádra)
  • gamma (inverzní hladkost RBF)
Linear Classifiers in Python

SGDClassifier

SGDClassifier: dobře škáluje na velké datové sady

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • Hyperparametr alpha třídy SGDClassifier odpovídá 1/C
Linear Classifiers in Python

Pojďme si procvičit!

Linear Classifiers in Python

Preparing Video For Download...