Comparer la régression logistique et les SVM

Classificateurs linéaires en Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Régression logistique :

  • Classifieur linéaire
  • Peut utiliser des noyaux, mais lent
  • Produit des probabilités utiles
  • Extensible au multi-classe
  • Tous les points influencent l'ajustement
  • Régularisation L2 ou L1

Machine à vecteurs de support (SVM) :

  • Classifieur linéaire
  • Peut utiliser des noyaux, et rapide
  • Ne produit pas naturellement de probabilités
  • Extensible au multi-classe
  • Seuls les « vecteurs de support » influencent l'ajustement
  • Traditionnellement seulement régularisation L2
Classificateurs linéaires en Python

Utilisation dans scikit-learn

Régression logistique dans sklearn :

  • linear_model.LogisticRegression

Hyperparamètres clés dans sklearn :

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

SVM dans sklearn :

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

Utilisation dans scikit-learn (suite)

Hyperparamètres clés dans sklearn :

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

SGDClassifier

SGDClassifier : passe à l'échelle pour de grands ensembles 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 comme 1/C
Classificateurs linéaires en Python

Passons à la pratique !

Classificateurs linéaires en Python

Preparing Video For Download...