Сравнение логистической регрессии и 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')
  • Гиперпараметр alpha в SGDClassifier аналогичен 1/C
Линейные классификаторы в Python

Давайте потренируемся!

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

Preparing Video For Download...