我正在从事分类任务 - 基于Twitter用户的地理位置。
我通过使用Sklearn的SVC,NUSVC和LinarearsVC和单词袋模型进行了许多实验。精度为35%,60%和80%。SVC和LinareSVC之间的差异超过两倍,令人震惊。
我不太确定为什么会完全这样。可能是因为过度拟合或不合适吗?为什么分类器之间有如此多的区别?
在一般的非线性内核中,比线性函数更适合对更复杂的功能进行建模,但它取决于数据,所选的超级参数(例如惩罚和内核)以及如何评估评估您的结果。
linearsvc
与SVC相似,具有参数kernel ='lineare',但用liblinear而不是libsvm来实现,因此它在选择惩罚和损失功能方面具有更大的灵活性,并且应该更好地扩展到大量样本。
来源:Sklearn.svm.linearsvc.html#sklearn.svm.linearsvc
svc
实施基于libsvm。适合时间的复杂性与样品数量相比,这使得很难用超过10000个样本扩展到数据集。
来源:Sklearn.svm.svc.html#sklearn.svm.svc
首先,您应该测试LinearSVC
模型,因为它只有几个超级参数,并且应该给您第一个结果。之后,您可以尝试训练一堆SVC
型号并选择最好的。为此,我建议通过C
,kernel
,degree
,gamma
,coef0
和CC_7进行搜索。