Scikit-Learn:所有训练示例中都存在标签而不是 x

2023-12-22

我正在尝试使用 SVM 进行多标签分类。 我有近 8k 个特征,并且还有长度接近 400 的 y 向量。我已经有二值化的 Y 向量,所以我没有使用MultiLabelBinarizer()但是当我将它与 Y 数据的原始形式一起使用时,它仍然给出相同的结果。

我正在运行这段代码:

X = np.genfromtxt('data_X', delimiter=";")
Y = np.genfromtxt('data_y', delimiter=";")
training_X = X[:2600,:]
training_y = Y[:2600,:]

test_sample = X[2600:2601,:]
test_result = Y[2600:2601,:]

classif = OneVsRestClassifier(SVC(kernel='rbf'))
classif.fit(training_X, training_y)
print(classif.predict(test_sample))
print(test_result)

在完成所有拟合过程后,当涉及到预测部分时,它说Label not x is present in all training examples(x 是我的 y 向量长度范围内的几个不同的数字,即 400)。之后,它给出预测的 y 向量,该向量始终为零向量,长度为 400(y 向量长度)。 我是 scikit-learn 和机器学习领域的新手。我无法弄清楚这里的问题。有什么问题以及我应该采取什么措施来解决它? 谢谢。


这里有两个问题:

1)缺少标签警告
2) 你的预测结果全是 0

该警告意味着训练数据中缺少您的某些课程。这是一个常见问题。如果您有 400 个类,那么其中一些类必须很少出现,并且在数据的任何分割中,分割一侧可能会丢失某些类。也可能有一些类根本不会出现在您的数据中。你可以尝试Y.sum(axis=0).all()如果这是 False,那么有些类即使在 Y 中也不会出现。这听起来很可怕,但实际上,无论如何,你都无法正确预测出现 0、1 或任何非常少量次数的类,因此预测这些结果为 0 可能是您能做的最好的事情。

至于全 0 预测,我会指出,对于 400 个类,所有类发生的时间可能远少于一半。你可以检查一下Y.mean(axis=0).max()以获得最高的标签频率。如果有 400 个班级,这个比例可能只有百分之几。如果是这样,必须对每个类进行 0-1 预测的二元分类器可能会为所有实例上的所有类选择 0。这并不是真正的错误,这只是因为所有类别的频率都很低。

如果您知道每个实例都有一个正标签(至少一个),您可以获得决策值(clf.decision_function)并为每个实例选择最高的类别。不过,您必须编写一些代码才能做到这一点。

我曾经在类似的 Kaggle 比赛中获得前十名。这是一个包含约 200 个类别的多标签问题,其中没有一个发生的频率甚至是 10%,我们需要 0-1 预测。在这种情况下,我得到了决策值并取最高的值,加上任何高于阈值的值。我选择了在坚持集上效果最好的阈值。该条目的代码位于 Github 上:Kaggle 希腊媒体代码 https://github.com/davidthaler/Greek_media。你可能会看一下。

如果您已经读到这里,感谢您的阅读。希望有帮助。

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

Scikit-Learn:所有训练示例中都存在标签而不是 x 的相关文章

  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • Python、Tkinter、更改标签颜色

    有没有一种简单的方法来更改按钮中文本的颜色 I use button text input text here 更改按下后按钮文本的内容 是否存在类似的颜色变化 button color red Use the foreground设置按钮
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数

随机推荐

  • 自定义日期选择器

    我已经陷入了几个 DatePicker 问题 但似乎找不到任何解决方案 我目前有一个 DatePickerDialog 非常适合我的需求 但我还需要能够隐藏 禁用 日 和 月 字段 以便选择一个月或一年 除了实现我的方法之外 我找不到任何解
  • Git for Windows 使用 gitk-all 启动 gitk 上下文菜单

    我安装了 Windows 版 Git 当我右键单击一个项目并选择Git History我得到了 Gitk 窗口 但每次这样做我都需要设置视图以查看所有分支 即使我编辑视图并将其设置为Remember 我在随后访问 Gitk 时仍然没有获得所
  • POI for XPage - 将 Word 文档保存为富文本字段中的附件

    我正在使用 OpenNTF POI 4 XPage 插件 这对于生成 Word 文档非常有效 现在 生成 Word 文档后 我想创建一个新的响应文档 并将该 Word 文档作为附件存储在该响应文档的富文本字段中 这是我的代码 在 POI 4
  • 通过另一列的分组值之和标准化 pandas 数据框中的列

    我有点坚持尝试标准化 pandas 数据框中列的某些条目 所以我有一个像这样的数据框 df pd DataFrame user 0 0 1 1 1 2 2 item A B A B C B C bought 1 1 1 3 3 2 3 df
  • MariaDB 不允许远程连接

    如屏幕截图所示 我已将帐户设置为允许远程连接 但如第二个屏幕截图所示 我仍然无法远程连接 我用于在虚拟机 Ubuntu 16 04 中进行测试 对我来说 我修复了更改文件的错误50 server cnf 我的服务器是Ubuntu 所以更改以
  • AWS Java SDK正在使用旧版本的jackson jar

    目前我正在努力在现有应用程序中添加AWS Java SDK以执行与AWS云相关的操作 在导入最新版本的 aws java sdk 即 1 11 113 时 我遇到运行时异常 在研究了异常之后 原因是 java sdk 使用了不推荐使用的版本
  • 不使用 where 子句进行更新

    id no 1 1 11 1 21 1 我想更新第二行号 至 2 我可以使用的查询是 update test set no 2 where id 11 如果没有 where 子句 我怎样才能实现相同的目标 我不知道why你会想要但是 UPD
  • Rest Standard:路径参数或请求参数

    我正在创建一个新的 REST 服务 向 REST 服务传递参数的标准是什么 在 Java 的不同 REST 实现中 您可以将参数配置为路径的一部分或请求参数 例如 路径参数http www rest services com item b
  • Emacs 中有函数调用层次结构的功能吗

    我正在维护别人的代码 该代码是在Linux平台上使用GCC 4 4 3用C语言编写的 然而 代码跳转很多 很难找出所有函数是从哪里调用的 在 Visual Studio 中 有一个称为 调用层次结构 的功能 它将显示函数的调用位置和调用位置
  • Angularjs + Ionic Framework:如何创建显示 ion-tabs 导航但不为其本身定义选项卡的新路线?

    标题很长 但这里有一个更好的解释 我有一个名为 Login 的模板 html 文件 我在 app js 中定义了一条路由 如下所示 state login url login templateUrl templates login html
  • Scala中如何保证类型参数不同?

    通过以下定义 可以确保具体类型参数相等 trait WithEqual T1 gt T2 lt T2 T2 所以这条线 type A WithEqual Int Int 将是合法的 现在我的问题是 如何达到完全相反的目的 因此 以下行应该n
  • 这些日志的 grok 模式应该是什么? (摄取 filebeat 的管道)

    我是 elasticsearch 社区的新人 我希望您能帮助我解决一些我遇到的困难 我的目标是使用 Filebeat 将大量日志文件发送到 Elasticsearch 为了做到这一点 我需要使用带有 Grok 模式处理器的摄取节点来解析数据
  • 如何读取图表区域内的文本框python pptx?

    我正在尝试使用自动化 pptpptx python图书馆 我正在使用模板 一些幻灯片中几乎没有图表 图表中有文本框 我尝试循环形状以获得shape id这些文本框 但我找不到shape id 当我尝试将文本框拖出图表区域时 它没有出现 文本
  • 在 Laravel 5.7 中的子域组内设置命名路由

    我一直在开发一个多租户应用程序 我正在尝试根据文档在子域中设置路由 https laravel com docs 5 7 routing route group sub domain routing https laravel com do
  • SpecRun 使用 @ignore 测试返回退出代码 120

    作为持续集成设置的一部分 从命令行运行 SpecRun 最近忽略了 ignore 测试在 SpecRun 完成时生成退出代码 120 目前 我们在任何不等于 0 的退出代码 通用成功指示器 上中断构建 退出代码 120 到底是什么意思 仅仅
  • 从 django 模型创建 javascript 对象(类)

    我正在开发一个单页应用程序 它将从大约十几个不同的 django 模型加载数据 允许用户操作数据 然后将所有更改保存回数据库 我可以通过序列化查询集的结果来将 django 模型 传递 到模板 例如 我有一个模型 Person class
  • 读取 ruby​​ 中的所有 shell 变量

    Problem 我正在将 shell 脚本作为 ruby 脚本中的子进程运行 运行脚本后我希望有一个选项来检查 shell 的所有环境变量 包括数组变量 到目前为止我已经想出了 set awk F BEGIN v 0 a zA Z a zA
  • Javascript/EcmaScript 3 支持 ISO 8601 日期解析吗?

    您目前如何解析 ISO8601 日期 例如2010 02 23T23 04 48Z在 JavaScript 中 使用下面的代码时 某些浏览器会返回 NaN 包括 Chrome 但 FF3 6 可以工作 你可以在这里尝试一下http www
  • C# Eval() 支持 [重复]

    这个问题在这里已经有答案了 我们需要在运行时评估对象中的值 同时我们有确切成员路径的文本语句 例如 myobject firstMember secondMember 3 text我们考虑使用正则表达式解析这个文本语句 然后使用反射评估文本
  • Scikit-Learn:所有训练示例中都存在标签而不是 x

    我正在尝试使用 SVM 进行多标签分类 我有近 8k 个特征 并且还有长度接近 400 的 y 向量 我已经有二值化的 Y 向量 所以我没有使用MultiLabelBinarizer 但是当我将它与 Y 数据的原始形式一起使用时 它仍然给出