1. sklearn中的LinearSVC与SVC的区别
这两种都能够实现SVM算法,但是他们是基于不同的底层实现的。
LinearSVC:
- 基于liblinear库实现
- 只有两种损失函数供选择,其默认的是squared_hinge loss
- 针对于大样本能够实现较快的运算速度与较好的效果
- 多分类采用的是OVR(one vs rest)
Sklearn.svm.LinearSVC(penalty=’l2’, loss=’squared_hinge’, dual=True, tol=0.0001, C=1.0, multi_class=’ovr’, fit_intercept=True, intercept_scaling=1, class_weight=None, verbose=0, random_state=None, max_iter=1000)
penalty:字符串。可取值为'l1'和'l2'分别对应1范数和2范数
loss:字符串。表示损失函数。可取值为'hinge':合页损失函数;'squared_hinge':合页损失函数的平方
dual:布尔值。如果为true,则求解对偶问题。如果为false,解决原始问题。当样本数量