(Scikit-learn)LinearSVC、“线性”内核 SVC 和 1 级多内核 SVC 之间的差异

数据挖掘 scikit-学习 支持向量机
2022-02-22 08:43:38

我想知道以下之间的区别:

  • linearSVC()

  • SVC(kernel='lineaer)

  • SVC(kernel='poly', degree=1)

这些都会决定相同的边界决策吗?

2个回答

您可以在用户指南中看到前两个不会产生相同的结果。在多类设置中,LinearSVC 使用一对一,而 SVC 使用一对一。除此之外,使用的求解器也不同,因此一些选项也不同。请参阅LinearSVC 文档SVC 文档

我怀疑第三个会和第二个一样。我在源代码中没有看到任何可以快速指出的内容,但测试应该不会花很长时间。

它们都不相同。linearSVC() 使用一对一进行分类,而 SVC(kernel='linear) 使用一对一进行分类。

为了使 SVC 多边形内核与 SVC 线性内核具有相同的结果,我们必须将 gamma 参数设置为 1,否则默认使用 1 / (n_features * X.var) 削弱现在线性内核的值。