Comparer la régression logistique et les SVM

Classifieurs linéaires en Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Régression logistique :

  • Classifieur linéaire
  • Possible avec des noyaux, mais lente
  • Renvoie des probabilités interprétables
  • Extensible au multi-classe
  • Tous les points influent sur l'ajustement
  • Régularisation L2 ou L1

Support Vector Machine (SVM) :

  • Classifieur linéaire
  • Utilisable avec des noyaux, et rapide
  • Ne renvoie pas naturellement des probabilités
  • Extensible au multi-classe
  • Seuls les « vecteurs de support » influent sur l'ajustement
  • Traditionnellement régularisation L2 uniquement
Classifieurs linéaires en Python

Utilisation dans scikit-learn

Régression logistique dans sklearn :

  • linear_model.LogisticRegression

Hyperparamètres clés dans sklearn :

  • C (inverse de la force de régularisation)
  • penalty (type de régularisation)
  • multi_class (stratégie multi-classe)

SVM dans sklearn :

  • svm.LinearSVC et svm.SVC
Classifieurs linéaires en Python

Utilisation dans scikit-learn (suite)

Hyperparamètres clés dans sklearn :

  • C (inverse de la force de régularisation)
  • kernel (type de noyau)
  • gamma (inverse de la douceur RBF)
Classifieurs linéaires en Python

SGDClassifier

SGDClassifier : passe à l'échelle pour de grands jeux de données

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • L'hyperparamètre alpha de SGDClassifier est analogue à 1/C
Classifieurs linéaires en Python

Passons à la pratique !

Classifieurs linéaires en Python

Preparing Video For Download...