为什么 LinearSVC 不能做这个简单的分类?

2024-04-07

我正在尝试使用以下简单分类LinearSVC对象在scikit-learn。我尝试过使用 0.10 和 0.14 版本。使用代码:

from sklearn.svm import LinearSVC, SVC
from numpy import *

data = array([[ 1007.,  1076.],
              [ 1017.,  1009.],
              [ 2021.,  2029.],
              [ 2060.,  2085.]])
groups = array([1, 1, 2, 2])

svc = LinearSVC()
svc.fit(data, groups)
svc.predict(data)

我得到输出:

array([2, 2, 2, 2])

但是,如果我将分类器替换为

svc = SVC(kernel='linear')

然后我得到结果

array([ 1.,  1.,  2.,  2.])

哪个是对的。有谁知道为什么使用LinearSVC这个简单的问题会搞砸吗?


底层算法LinearSVC对输入中的极值非常敏感:

>>> svc = LinearSVC(verbose=1)
>>> svc.fit(data, groups)
[LibLinear]....................................................................................................
optimization finished, #iter = 1000

WARNING: reaching max number of iterations
Using -s 2 may be faster (also see FAQ)

Objective value = -0.001256
nSV = 4
LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,
     intercept_scaling=1, loss='l2', multi_class='ovr', penalty='l2',
     random_state=None, tol=0.0001, verbose=1)

(该警告指的是 LibLinear 常见问题解答,因为 scikit-learn 的LinearSVC基于该库。)

您应该在拟合之前标准化:

>>> from sklearn.preprocessing import scale
>>> data = scale(data)
>>> svc.fit(data, groups)
[LibLinear]...
optimization finished, #iter = 39
Objective value = -0.240988
nSV = 4
LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,
     intercept_scaling=1, loss='l2', multi_class='ovr', penalty='l2',
     random_state=None, tol=0.0001, verbose=1)
>>> svc.predict(data)
array([1, 1, 2, 2])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 LinearSVC 不能做这个简单的分类? 的相关文章

  • Lighttpd 和 cgi python

    我正在尝试通过 lighttpd 执行一些 python 脚本 但是当我尝试运行它时 我只得到一个要求我下载的空白文件 lighttpd conf server modules mod access mod alias mod access
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk

随机推荐

  • 在 C++ 中使用 pthread

    我在用pthread h in a cc文件 当我尝试使用时pthread exit 0 or pthread join mythrds yy NULL 它说 cc text 0x3e undefined reference to pthr
  • 无法使用 Server.MapPath

    我必须做什么才能做到Server MapPath work I have using System Web 还有什么 当我打字时Server没有快速结果选项 智能感知 Server 有什么帮助吗 你可以尝试使用这个 System Web H
  • 如何在 Objective-C 中对 URL 进行编码或解码

    有没有类似的东西 NSString URLencode NSString someString NSString URLdecode NSString someString 如果可以 如何实施 请注意投反对票的人 这不是一个简单的问题 我需
  • Code-golf:将乘法表输出到控制台

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我最近向一位从事工作经验的学生推荐了一篇有关将乘法表转储到控制台的文章 它使用嵌套的 for
  • 雅虎财经历史数据下载网址无效

    我使用以下网址从雅虎财经获取历史数据 从 2017 年 5 月 16 日起 该网址已失效 好像他们已经更改了网址 新网址是 在上面更改的 URL 中有一个会话 cookie 它是碎屑 有什么想法如何以编程方式获取此cookie 在JAVA中
  • 无法通过api在材质表react中获取数据

    我正在尝试通过 Material React 表中的 api 获取数据 但它向我显示错误 如下所示 无效的挂钩调用 钩子只能在函数组件的主体内部调用 发生这种情况可能是由于以下原因之一 1 您的React和渲染器版本可能不匹配 例如Reac
  • 文本框文本在文本输入时消失

    基本上我有一个创建的用户窗体 我想知道是否可以添加用户窗体加载时存在的灰色文本 但一旦用户开始在文本框中输入文本 该文本就会消失 图片已过期 一旦用户开始输入 字体颜色应更改为黑色 任何帮助 将不胜感激 像这样的东西吗 Private Su
  • Kotlin Foo::class.java“未解析的参考:Java”错误

    我正在尝试将我的 Java 代码转换为HomePage class到科特林 我正在按照以下说明进行操作Kotlin org https kotlinlang org docs reference java interop html 获取类
  • SetCursorPos 无法通过远程桌面工作(从 WM_INPUT 事件读取)

    当读取鼠标位置时WM INPUT事件 并且鼠标光标被隐藏 看起来SetCursorPos通过远程桌面使用该应用程序时不起作用 当应用程序不通过远程桌面使用时 相同的代码可以正常工作 即我可以在所有方向上进行无限的鼠标移动 因为SetCurs
  • 如何使用 Bot Framework 在 Teams 中添加提及以及自适应卡

    我正在尝试发送带有自适应卡片附件的活动 并提及创建该帖子的用户 通过在线阅读 我发现您目前无法在自适应卡片中包含提及内容 有没有办法在发送活动时提及某人 例如在另一个附件中 我尝试设置activity Text 提及 这有效 但是它创建了两
  • Google Geocharts:同一地图上的区域和标记?

    我正在尝试使用谷歌地理图表 https google developers appspot com chart interactive docs gallery geochart 我有州数据和城市数据 我想在城市数据上显示它们 这意味着我想
  • 如何获取两个 git 分支之间不同提交的列表?

    我想查看两个分支之间仅非常见提交的列表 我怎样才能得到这样的输出 基本上是一个git diff y master new feature两个分支之间的总结 master new feature xxx Jan 1st 2018 initia
  • 呼叫其他代码呆子 - 嵌套循环的替代方案?

    对于我 或可能其他人 来说 拥有一个需要迭代的对象列表 然后与属性列表进行交互的情况并不罕见 我使用嵌套循环 如下所示 IList
  • 解析一个小端二进制文件,填充到一个矩阵中

    我有一个包含 X X 矩阵的二进制文件 文件本身是一个单精度浮点数 小端 序列 我想做的就是解析它 并将其填充到一些合理的 clojure 矩阵数据类型中 谢谢这个问题 https stackoverflow com questions 7
  • C 中允许负数组索引吗?

    我刚刚读了一些代码 发现这个人正在使用arr 2 访问之前的第二个元素arr 像这样 a b c d e f g arr 0 arr 1 arr 2 这是允许的吗 我知道arr x 是相同的 arr x So arr 2 is arr 2
  • 如何执行脚本从nodejs设置iterm2徽章?

    我从 Iterm2 官方网站获得这个 bash 脚本 printf e 1337 SetBadgeFormat s a echo text base64 我尝试像下面这样执行 没有错误 但无法设置 iterm2 Badge var exec
  • 使用与 Python 2 一起运行的 Pylint 检查 Python 3 源代码

    Pylint 的一些检查取决于检查的源代码是 Python 2 还是 Python 3 例如 请参阅如何避免 Python 3 中继承类的构造函数出现 Pylint 警告 https stackoverflow com questions
  • 是否可以将多个通道复用为一个通道?

    这个想法是在切片中拥有可变数量的通道 将通过它们接收到的每个值推送到单个通道中 并在最后一个输入通道关闭后关闭该输出通道 类似这样 但对于两个以上的通道数 func multiplex cin1 cin2 cout chan int n 2
  • grep 正则表达式 空白行为

    我有一个文本文件 其中包含以下内容 12 34 EUR 5 67 EUR EUR 之前有一个空格 我忽略了 0 XX EUR 我试过 grep 1 9 0 9 0 9 2 sEUR gt didn t match grep 1 9 0 9
  • 为什么 LinearSVC 不能做这个简单的分类?

    我正在尝试使用以下简单分类LinearSVC对象在scikit learn 我尝试过使用 0 10 和 0 14 版本 使用代码 from sklearn svm import LinearSVC SVC from numpy import