比较逻辑回归与 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(多分类方式)

sklearn 中的 SVM:

  • svm.LinearSVCsvm.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')
  • SGDClassifier 的超参数 alpha 类似于 1/C
Python 中的线性分类器

让我们练习吧!

Python 中的线性分类器

Preparing Video For Download...