Comparando regressão logística e SVM

Classificadores Lineares em Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Regressão logística:

  • É um classificador linear
  • Pode usar kernels, mas é lenta
  • Retorna probabilidades úteis
  • Pode ser estendida para multi-classe
  • Todos os pontos afetam o ajuste
  • Regularização L2 ou L1

Support vector machine (SVM):

  • É um classificador linear
  • Pode usar kernels, e é rápida
  • Não gera probabilidades naturalmente
  • Pode ser estendida para multi-classe
  • Só os "vetores de suporte" afetam o ajuste
  • Convencionalmente apenas regularização L2
Classificadores Lineares em Python

Uso no scikit-learn

Regressão logística no sklearn:

  • linear_model.LogisticRegression

Principais hiperparâmetros no sklearn:

  • C (inverso da força de regularização)
  • penalty (tipo de regularização)
  • multi_class (tipo de multi-classe)

SVM no sklearn:

  • svm.LinearSVC e svm.SVC
Classificadores Lineares em Python

Uso no scikit-learn (cont.)

Principais hiperparâmetros no sklearn:

  • C (inverso da força de regularização)
  • kernel (tipo de kernel)
  • gamma (inverso da suavidade do RBF)
Classificadores Lineares em Python

SGDClassifier

SGDClassifier: escala bem para conjuntos de dados grandes

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • O hiperparâmetro alpha de SGDClassifier é como 1/C
Classificadores Lineares em Python

Vamos praticar!

Classificadores Lineares em Python

Preparing Video For Download...