将 LinearSVC 的决策函数转换为概率(Scikit learn python)

2024-03-08

我使用 scikit learn (LinearSVC) 中的线性 SVM 来解决二元分类问题。我知道 LinearSVC 可以为我提供预测标签和决策分数,但我想要概率估计(对标签的置信度)。由于速度原因,我想继续使用 LinearSVC(与具有线性内核的 sklearn.svm.SVC 相比) 使用逻辑函数将决策分数转换为概率是否合理?

import sklearn.svm as suppmach
# Fit model:
svmmodel=suppmach.LinearSVC(penalty='l1',C=1)
predicted_test= svmmodel.predict(x_test)
predicted_test_scores= svmmodel.decision_function(x_test) 

我想检查简单地获得概率估计是否有意义 [1 / (1 + exp(-x)) ],其中 x 是决策分数。

或者,还有其他选项可以用来有效地完成此任务吗?

Thanks.


scikit-learn 提供校准分类器CV http://scikit-learn.org/stable/modules/generated/sklearn.calibration.CalibratedClassifierCV.html#sklearn.calibration.CalibratedClassifierCV它可以用来解决这个问题:它允许将概率输出添加到 LinearSVC 或任何其他实现 Decision_function 方法的分类器:

svm = LinearSVC()
clf = CalibratedClassifierCV(svm) 
clf.fit(X_train, y_train)
y_proba = clf.predict_proba(X_test)

用户指南很好section http://scikit-learn.org/stable/modules/calibration.html关于这一点。默认情况下,CalibrateClassifierCV+LinearSVC 将为您提供 Platt 缩放,但它还提供其他选项(等渗回归方法),并且不限于 SVM 分类器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 LinearSVC 的决策函数转换为概率(Scikit learn python) 的相关文章

  • 在 numpy 数组中查找满足条件的大量连续值

    我在 numpy 数组中加载了一些音频数据 我希望通过查找静音部分 即一段时间内音频幅度低于特定阈值的部分 来对数据进行分段 一个非常简单的方法是这样的 values join 1 if abs x lt SILENCE THRESHOLD
  • 关于使用Python启动SSH隧道的问题

    我在从用 Python 编写的 HTTP RPC 服务器启动 SSH 隧道时遇到了麻烦 基于Python的BaseHTTPServer 有一个用Python编写的简单的HTTP RPC服务器 作为其中一项服务的一部分 我想启动从 RPC 服
  • 如何配置散景图以具有响应宽度和固定高度

    我使用通过组件功能嵌入的散景 实际上我使用 plot sizing mode scale width 它根据宽度进行缩放并保持纵横比 但我想要一个响应宽度但固定或最大高度 这怎么可能实现呢 有stretch both and scale b
  • 使用 Flask SQLAlchemy 进行表(模型)继承

    我遵循了这个建议question https stackoverflow com questions 1337095 sqlalchemy inheritance但我仍然收到此错误 sqlalchemy exc NoForeignKeysE
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 代理阻止网络套接字?如何绕行

    我有一个用 Python 编写的正在运行的 websocket 服务器 来自https github com opiate SimpleWebSocketServer https github com opiate SimpleWebSoc
  • 在 C# 中实例化 python 类

    我已经用 python 编写了一个类 我想通过 IronPython 将其包装到 net 程序集中 并在 C 应用程序中实例化 我已将该类迁移到 IronPython 创建了一个库程序集并引用了它 现在 我如何真正获得该类的实例 该类看起来
  • Python:如何重构循环导入

    我有件事可以帮你做engine setState
  • Python3模拟用另一个函数替换函数

    如何使用 python 中的另一个函数来模拟一个函数 该函数也将提供一个模拟对象 我有类似以下操作的代码 def foo arg1 arg2 r bar arg1 does interesting things 我想替换的实现bar函数 让
  • 如何通过facebook-sdk python api获取用户帖子?

    我使用 facebook jssdk 授权我的应用程序读取用户个人资料和用户帖子 FB login function response scope user status user likes user photos user videos
  • Docker:通过 Gunicorn 运行 Flask 应用程序 - Worker 超时?表现不佳?

    我正在尝试创建一个用Python Flask编写的新应用程序 由gunicorn运行 然后进行dockerized 我遇到的问题是 docker 容器内的性能非常差 不一致 我最终得到了响应 但我不明白为什么性能会下降 有时我会在日志中看到
  • 获取 zeep.exceptions.ValidationError:缺少与 suds 一起使用的方法的元素

    我正在移植开发的代码suds 0 6到zeep 2 4 0 以前的泡沫代码 client Client WSDLfile proxy proxy faults True config client factory create perUse
  • keras 预测内存交换无限期增加

    我使用keras实现了一个分类程序 我有一大组图像 我想使用 for 循环来预测每个图像 然而 每次计算新图像时 交换内存都会增加 我尝试删除预测函数内部的所有变量 并且我确信该函数内部存在问题 但内存仍然增加 for img in ima
  • 如何创建指向指针数组的 Python ctypes 指针

    我需要学习如何处理char 在下面的 C 方法中通过 Python ctypes 我通过使用调用其他只需要单个指针的方法做得很好create string buffer 但此方法需要一个指向指针数组的指针 ladybugConvertToM
  • 如何在 Numpy 中实现垃圾收集

    我有一个名为main py 它引用另一个文件Optimisers py它仅具有功能并用于for循环进入main py 这些函数都有不同的优化功能 This Optimisers py然后引用另外两个类似的文件 其中也只有函数 它们位于whi
  • pandas apply:函数名是否带引号的区别

    简单数据框定义示例 df pd DataFrame A 2 4 1 B 8 4 1 C 6 2 7 df A B C 0 2 8 6 1 4 4 2 2 1 1 7 尝试理解以下块中函数参数调用的差异 df apply sum df app
  • 升级后 pip 损坏

    我做了 pip install U easyinstall 然后 pip install U pip 来升级我的 pip 但是 当我尝试使用 pip 时 我现在收到此错误 root d8fb98fc3a66 which pip usr lo
  • 在没有numpy的情况下在python中分配变量NaN

    大多数语言都有一个 NaN 常量 您可以使用它为变量分配值 NaN python 可以在不使用 numpy 的情况下做到这一点吗 是的 使用math nan https docs python org 3 library math html
  • 如何指定一个变量作为类或类实例的成员变量?

    在最新的 Python 2 7 x 中 给定类定义内的任何成员变量 该成员变量是否始终处于类级别 因为它是由该类的所有实例共享的单个变量 在类的定义中 如何指定 类定义中的哪些成员变量属于该类 因此由该类的所有实例共享 以及 哪些属于该类的
  • Python 中的 C 指针算术

    我正在尝试将一个简单的 C 程序转换为 Python 但由于我对 C 和 Python 都一无所知 这对我来说很困难 我被 C 指针困住了 有一个函数采用 unsigned long int 指针并将其值添加到 while 循环中的某些变量

随机推荐

  • 有 jQuery jEditable 多选插件吗?

    我正在使用优秀的j可编辑 http www appelsiini net projects jeditable用于在我的页面上进行一些就地编辑的插件 有一个地方我需要一个多选元素 有没有 jEditable 插件可以让我做到这一点 我一直在
  • c++ boost::bind 存储不同类型的函数指针

    我今天查了很多资料 却一无所获 有什么方法可以存储从 boost bind 不同类型返回的仿函数吗 我找到了一个使用 boost variants 的示例 但不确定是否需要这样做 为简单起见 Foo 和 Bar 已被简化 include
  • 哪种适用于 Node.js 的 MySQL 驱动程序可以在 Windows 上运行?

    我想在 Windows 上将 MySQL 与 Node js 一起使用 我尝试过使用节点数据库mysql https github com mariano node db mysql 不过好像不支持Windows 是否还有其他适用于 Win
  • 每 X 时间运行一次后台任务

    我想启动一项服务 偶尔在所有平台上检查是否有通知出现 有没有连接所有平台的nuget或者一些例子 您可以使用Device StartTimer TimeSpan minutes 方法启动一个后台任务 该任务将在给定的时间跨度后重复 这是一个
  • JavaFX 中的可复制标签/文本字段/LabeledText

    我只想在 JavaFX 中创建可复制的标签 我尝试创建没有背景 没有焦点边框和默认背景颜色的 TextField 但没有成功 我发现了很多关于如何从控制中删除焦点背景的问题 但所有这些看起来都像是 黑客 是否有任何标准解决方案来实现可复制文
  • Eclipse 4.2 和 Java 8

    我找到了这个page http www eclipse org eclipse development plans eclipse project plan 4 2 xml声明 Java 8 对 Juno 的支持已推迟 但我找不到更多信息
  • 使用 C# 解析 JSON 数据

    我有大约 7000 行 JSON 数据需要解析 可以看到仅部分示例here https graph facebook com 367501354973 access token 2227470867 7C2 fYhXYnFbw5vb6GXN
  • 在选择选项中使用@click - Vue.js 2

    我想在选择选项中使用 click 到目前为止我有
  • 使用 HoloEverywhere 构建 Android Studio 项目失败

    每当我尝试构建包含 HoloEverywhere 作为依赖项的项目时 我都会遇到以下错误 Gradle 失败 构建因异常而失败 出了什么问题 任务 HoloEverywhere Library processDebugManifest 执行
  • 意外结果 - Google Autocomplete 针对约克郡

    我使用 Google 地图自动完成 API 得到针对 约克郡 的意外结果 我已过滤结果以仅显示英国地区 请帮我 以下是我在搜索约克郡时得到的结果 北约克郡 Royaume Uni 约克郡东方 Reino Unido 南约克郡 统一王国 下面
  • Java 中的类型转换以及动态类型与静态类型

    我正在学习静态类型与动态类型 并且我已经了解了它的大部分内容 但这种情况仍然让我困惑 如果上课B延伸A 我有 A x new B 是否允许以下 行为 B y x 或者是否需要显式转换 B y B x Thanks 显式转换是required
  • 如何退出 Google 云端硬盘帐户?

    如何退出 Google 云端硬盘服务 我不想切换帐户 而是最终退出 我正在开发一个应用程序 该应用程序将使用用户的 Google 云端硬盘存储以及其他存储服务 因此我需要允许用户退出 Google Drive 我发现这有效 这些与我使用的登
  • 如何验证 HTML5 日期格式

    我想使用 HTML5 日期输入字段
  • Tomcat 7 - Maven 插件?

    我只是想仔细检查一下 是否有人找到或正在开发 Tomcat 7 插件 如果没有 有人有兴趣帮助我启动和运行它吗 我想要 Glassfish 的另一个快速替代品 JBoss AS 6 0 对于快速模型来说仍然有点重 Walter 它对我来说如
  • malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int))

    我承认这三个都有不同的含义 但是 我不明白这些都适用于哪些特定情况 任何人都可以分享每个例子吗 谢谢 malloc sizeof int malloc sizeof int int malloc sizeof int malloc size
  • 事务隔离级别和锁定记录,对正在运行的事务中的记录禁用 SELECT

    Can I disable SELECT在事务内部使用的行上 例如 表中的行potatoes在事务 1 中被销毁 并且需要很长时间才能销毁 在交易2中 有SELECT on the potatoes桌子 我不想选择事务 1 中正在使用的那些
  • 实体框架代码优先开发资源和文档

    我知道 EF4 仍在开发中 但作为该主题的新手 我需要使用 EF 4 代码优先方法的文档 教程等 所有信息都位于 EF 4 团队博客中 但分散在不同的帖子中 全面覆盖真的很好 有人知道有这样一个地方吗 迄今为止我见过的最好的在线资源是斯科特
  • 如何禁用按 Enter 键时的自动提交行为?

    我想根据我输入的输入文本按 Enter 键转到 p2 htm 或 p3 htm 我还想按 Submit1 按钮手动提醒 no1 它在 FireFox 中工作 但在 IE6 中 当我按 Enter 键时 它将提交提交按钮 我怎样才能在 IE
  • 使用 Google Cloud + CloudFlare 创建子域

    我在 CloudFlare 上有一个域名 bar com 该域名链接到 Google Cloud 上托管的网站 我可以在 CloudFlare 上为子域名 foo 创建新的 A 记录 但如何将其映射到 Google Cloud 上的 bar
  • 将 LinearSVC 的决策函数转换为概率(Scikit learn python)

    我使用 scikit learn LinearSVC 中的线性 SVM 来解决二元分类问题 我知道 LinearSVC 可以为我提供预测标签和决策分数 但我想要概率估计 对标签的置信度 由于速度原因 我想继续使用 LinearSVC 与具有