sklearn中的LinearSVC是SVM还是SVC?

我在观看一个YouTube视频来学习支持向量机(SVM)。在视频中,他提到SVM会寻找支持向量分类器(SVC)来划分数据,作为其分类过程中的一个步骤。

我使用了scikit-learn中的LinearSVC进行分类,但我很难理解scikit-learn中LinearSVC的实现到底是SVM还是SVC,或者视频中的描述是否有误。我在不同网站上发现了矛盾的描述。

  1. 这个问题的接受答案指出,LinearSVC不是SVM,但也没有说它是SVC。
  2. 在LinearSVC的描述页面上,它说的是“线性支持向量分类”,但在这个页面的“另见”部分,它说LinearSVC是“使用liblinear实现的可扩展线性支持向量机分类器”。

据我所知,LinearSVC和SVC(kernel=’linear’)是不一样的,但这不是问题所在。


回答:

在机器学习概念上,LinearSVC两者皆是,因为:

  • SVM是一种模型/算法,用于寻找一个平面来分割样本空间
  • 这可以用于分类(SVC)和回归(SVR)——SVCSVR都是SVM的一种

因此,SVCSVM的一种,而LinearSVC看起来像是SVC的一种特定类型,尽管在scikit-learn中没有扩展一个基础的SVC类。

如果你指的是sklearn的源代码——LinearSVC位于svm模块中…所以它是SVM。它没有扩展SVCBaseSVC类,但对我来说这是一个实现问题/细节,我更愿意将其视为SVC。

Related Posts

多维度Top-k评分

例如,在机器学习中的自然语言处理中,通常使用波束搜索来…

R – Caret train() “错误:停止” 与 “在newdata中未找到对象中使用的所有变量名”

我正在尝试为蘑菇数据构建一个简单的朴素贝叶斯分类器。我…

创建训练和测试数据集分割,数据嵌套在多个文件夹中

我正在准备数据以训练一个图像识别模型。目前我有一个文件…

我的神经网络预测出现错误:IndexError: list index out of range

我正在进行一个简单的垃圾邮件/非垃圾邮件文本分类。我的…

python 给出数组是一维的,但索引了两个维度错误

我已经为 miniBatchGradientDesce…

TensorFlow自定义训练步骤使用不同的损失函数

背景 根据TensorFlow文档,可以使用以下方式执…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注