为什么 LinearSVC 在这个数据集上效果如此糟糕?

Why LinearSVC works so bad on this dataset?

我刚刚生成了一个数据集,从散点图中我认为这些散点是完全可分离的。但我真的不知道为什么 Linear SVC-sklearn 的效果很差。数据集散点图和SVC结果如下:

scatter plot Linear SVC result

我使用的代码是这样的

from sklearn.svm import LinearSVC    
svc = LinearSVC()    
model = svc.fit(X, y)

谁能帮我解决这个问题?我真的觉得SVM应该有更好的结果。

数据集 csv 文件在这里: data csv file

前两列分别是x和y,第三列是数据标签。

假设您的数据居中,将您的 fit_intercept 设置为 False。通过增加错误成本 (C=100):

,您可以通过减少正则化来做得更好
svc = LinearSVC(fit_intercept=False, C=100)