I found sklearn.svm.LinearSVC http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html and sklearn.svm.SVC(kernel='linear') http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html他们看起来与我非常相似,但我在路透社上得到了截然不同的结果。
sklearn.svm.LinearSVC: 81.05% in 28.87s train / 9.71s test
sklearn.svm.SVC : 33.55% in 6536.53s train / 2418.62s test
两者都有线性内核。 LinearSVC 的容差比 SVC 的容差高:
LinearSVC(C=1.0, tol=0.0001, max_iter=1000, penalty='l2', loss='squared_hinge', dual=True, multi_class='ovr', fit_intercept=True, intercept_scaling=1)
SVC (C=1.0, tol=0.001, max_iter=-1, shrinking=True, probability=False, cache_size=200, decision_function_shape=None)
否则这两个函数有何不同?即使我设置了kernel='linear
, tol=0.0001
, max_iter=1000 and
Decision_function_shape='ovr'the
SVCtakes much longer than
线性SVC`。为什么?
I use sklearn 0.18
两者都包裹在OneVsRestClassifier
。我不确定这是否与multi_class='ovr'
/ decision_function_shape='ovr'
.