Comparar regresión logística y SVM

Clasificadores lineales en Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Regresión logística:

  • Es un clasificador lineal
  • Puede usar kernels, pero es lenta
  • Devuelve probabilidades útiles
  • Se puede extender a multiclase
  • Todos los puntos influyen en el ajuste
  • Regularización L2 o L1

Máquina de vectores de soporte (SVM):

  • Es un clasificador lineal
  • Puede usar kernels y es rápida
  • No devuelve probabilidades de forma natural
  • Se puede extender a multiclase
  • Solo los «vectores de soporte» influyen en el ajuste
  • Convencionalmente solo regularización L2
Clasificadores lineales en Python

Uso en scikit-learn

Regresión logística en sklearn:

  • linear_model.LogisticRegression

Hiperparámetros clave en sklearn:

  • C (inversa de la fuerza de regularización)
  • penalty (tipo de regularización)
  • multi_class (tipo de multiclase)

SVM en sklearn:

  • svm.LinearSVC y svm.SVC
Clasificadores lineales en Python

Uso en scikit-learn (cont.)

Hiperparámetros clave en sklearn:

  • C (inversa de la fuerza de regularización)
  • kernel (tipo de kernel)
  • gamma (inversa de la suavidad RBF)
Clasificadores lineales en Python

SGDClassifier

SGDClassifier: escala bien a conjuntos de datos grandes

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • El hiperparámetro alpha de SGDClassifier es como 1/C
Clasificadores lineales en Python

¡Vamos a practicar!

Clasificadores lineales en Python

Preparing Video For Download...