私はsklearn.svm.LinearSVC
とsklearn.svm.SVC(kernel='linear')
を見つけました。彼らは私と非常によく似ていますが、私はロイターに対して非常に異なる結果を得ています。LinearSVCとSVC(kernel = "linear")の違いは何ですか?
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(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)
:LinearSVCの許容範囲は、SVCの1よりも高いのですか?kernel='linear
を設定しても、tol=0.0001
,max_iter=1000 and
decision_function_shape = 'ovr' the
SVC takes much longer than
LinearSVC`です。どうして?
私はsklearn 0.18
を使用していますが、どちらもOneVsRestClassifier
に記載されています。これが同じ場合は、multi_class='ovr'
/decision_function_shape='ovr'
とわかりません。
0.18.2にアップグレードして、結果がまだ異なるかどうかを確認できますか? – sera
私はバージョンがそうでないと信じています。 'sklearn'のドキュメントには、これらの分類子を適合させる例が含まれています。結果は、モデルが使用する手法によって異なります。 –
既に議論があります。 https://stackoverflow.com/questions/33843981/under-what-parameters-are-svc-and-linearsvc-in-scikit-learn-equivalent および https://stackoverflow.com/questions/35076586/linearsvc-vs-svckernel-linear-conflicting-arguments – phev8