So sánh logistic regression và SVM

Bộ phân loại tuyến tính với Python

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Logistic regression:

  • Là bộ phân loại tuyến tính
  • Dùng với kernel được, nhưng chậm
  • Trả ra xác suất có ý nghĩa
  • Mở rộng được cho đa lớp
  • Mọi điểm dữ liệu đều ảnh hưởng đến việc fit
  • Regularization L2 hoặc L1

Support vector machine (SVM):

  • Là bộ phân loại tuyến tính
  • Dùng với kernel và nhanh
  • Không tự nhiên trả ra xác suất
  • Mở rộng được cho đa lớp
  • Chỉ "support vectors" ảnh hưởng đến việc fit
  • Thông thường chỉ regularization L2
Bộ phân loại tuyến tính với Python

Dùng trong scikit-learn

Logistic regression trong sklearn:

  • linear_model.LogisticRegression

Hyperparameter chính trong sklearn:

  • C (nghịch đảo độ mạnh regularization)
  • penalty (loại regularization)
  • multi_class (kiểu đa lớp)

SVM trong sklearn:

  • svm.LinearSVC và svm.SVC
Bộ phân loại tuyến tính với Python

Dùng trong scikit-learn (tiếp)

Hyperparameter chính trong sklearn:

  • C (nghịch đảo độ mạnh regularization)
  • kernel (loại kernel)
  • gamma (nghịch đảo độ trơn RBF)
Bộ phân loại tuyến tính với Python

SGDClassifier

SGDClassifier: mở rộng tốt cho dữ liệu lớn

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • Hyperparameter alpha của SGDClassifier giống 1/C
Bộ phân loại tuyến tính với Python

Cùng luyện tập nào!

Bộ phân loại tuyến tính với Python

Preparing Video For Download...