我刚刚生成了一个数据集,从散点图中,我认为这些散点是可分离的。但是我真的不知道为什么线性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,第三列是数据标签。
答案 0 :(得分:2)
假设您的数据居中,请将fit_intercept
设置为False
。您可以通过减少错误的代价(C=100
)在这里以较少的正则化来做得更好:
svc = LinearSVC(fit_intercept=False, C=100)