Порівняння логістичної регресії та SVM

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

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Логістична регресія:

  • Лінійний класифікатор
  • Можна з ядрами, але повільно
  • Повертає осмислені ймовірності
  • Розширюється до мультикласу
  • На підгонку впливають усі точки
  • Регуляризація L2 або L1

Підтримувальні вектори (SVM):

  • Лінійний класифікатор
  • Можна з ядрами, і працює швидко
  • Природно не повертає ймовірності
  • Розширюється до мультикласу
  • На підгонку впливають лише «опорні вектори»
  • Здебільшого лише регуляризація L2
Лінійні класифікатори в Python

Використання в scikit-learn

Логістична регресія в sklearn:

  • linear_model.LogisticRegression

Ключові гіперпараметри в sklearn:

  • C (обернена сила регуляризації)
  • penalty (тип регуляризації)
  • multi_class (режим мультикласу)

SVM у sklearn:

  • svm.LinearSVC та svm.SVC
Лінійні класифікатори в Python

Використання в scikit-learn (продовження)

Ключові гіперпараметри в sklearn:

  • C (обернена сила регуляризації)
  • kernel (тип ядра)
  • gamma (обернена гладкість RBF)
Лінійні класифікатори в Python

SGDClassifier

SGDClassifier: добре масштабується на великі набори даних

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • У SGDClassifier гіперпараметр alpha подібний до 1/C
Лінійні класифікатори в Python

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

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

Preparing Video For Download...