Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用svm预测多标签数据集

如何使用svm预测多标签数据集
EN

Stack Overflow用户
提问于 2017-10-06 12:23:16
回答 1查看 2.9K关注 0票数 0

我使用的数据集具有所有十进制值和时间戳,具有以下特性:

代码语言:javascript
运行
AI代码解释
复制
 1. sno
 2. timestamp
 3. v1
 4. v2
 5. v3

我有5个月的数据,每分钟都有时间戳。我需要预测v1,v2,v3是否会在将来的任何时候被使用。v1、v2、v3值在0~ 25之间。

我该怎么做?

我以前使用过二进制分类,但我不知道如何处理多标签问题来预测。我一直在使用下面的代码。我应该如何训练模型,我应该如何使用v1,v2,v3来适应'y'?

代码语言:javascript
运行
AI代码解释
复制
X_train, X_test, y_train, y_test = train_test_split(train, y, test_size=0.2)




Data:

sno power   voltage v1  v2  v3  timestamp
1   3.74    235.24  0   16  18  2006-12-16 18:03:00
2   4.928   237.14  0   37  16  2006-12-16 18:04:00
3   6.052   236.73  0   37  17  2006-12-16 18:05:00
4   6.752   237.06  0   36  17  2006-12-16 18:06:00
5   6.474   237.13  0   37  16  2006-12-16 18:07:00
6   6.308   235.84  0   36  17  2006-12-16 18:08:00
7   4.464   232.69  0   37  16  2006-12-16 18:09:00
8   3.396   230.98  0   22  18  2006-12-16 18:10:00
9   3.09    232.21  0   12  17  2006-12-16 18:11:00
10  3.73    234.19  0   27  17  2006-12-16 18:12:00
11  2.308   234.96  0   1   17  2006-12-16 18:13:00
12  2.388   236.66  0   1   17  2006-12-16 18:14:00
13  4.598   235.84  0   20  17  2006-12-16 18:15:00
14  4.524   235.6   0   9   17  2006-12-16 18:16:00
15  4.202   235.49  0   1   17  2006-12-16 18:17:00
EN

回答 1

Stack Overflow用户

发布于 2017-10-06 22:45:57

跟随文档

多类支持是根据一个vs-一个方案来处理的(因此应该支持一个-vs-所有策略)。

一-比-一

一比一方案基本上是指每对类使用一个分类器。在预测阶段,接收最多选票的类(每个分类器的输出)最终被选择为预测。如果这样的投票是相等的,即有两类票数相等,那麽分类的信心便会起作用。

要在这样的方案中使用SVM,我们应该这样做:

代码语言:javascript
运行
AI代码解释
复制
from sklearn.multiclass import OneVsOneClassifier
from sklearn.svm import SVC

...

subclf = SVC(**params)
clf = OneVsOneClassifier(estimator=subclf)

clf.fit()

1-vs-休息

另一种方法是使用一-vs-全部策略。这种策略适合每个类的分类器,并针对数据中的所有其他类。它比第一种方案更受欢迎,因为它比较容易对结果进行干预,而且计算时间要弱得多。它与第一个示例一样简单:

代码语言:javascript
运行
AI代码解释
复制
from sklearn.multiclass import OneVsRestClassifier
from sklearn.svm import SVC

...

subclf = SVC(**params)
clf = OneVsRestClassifier(estimator=subclf)

clf.fit()

要阅读更多关于多标签分类和学习的信息,请继续这里

善后变量编码

因此,基本思想是实例化一个复杂的(即多标签)目标变量,方法是:

  • 如果y是零,则v1 v2 v3等于0
  • 如果yv1v2v3为1
  • y等于2,如果v1 v2v1 v3v2 v3都是1
  • 如果y是3,则v1 v2 v3等于3

解决办法可能有以下几点:

代码语言:javascript
运行
AI代码解释
复制
import numpy as np

y = []

for i, j, k in zip(data['v1'], data['v2'], data['v3']):
if i and j and k > 0:
    y.append(3)
elif i and j or i and k or j and k > 0:
    y.append(2)
elif i or j or k > 0:
    y.append(1)
else:
    y.append(0)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46613436

复制
相关文章
关于在angular2中引入第三方插件或者框架(jquery)
由于本人也是初入angular2不久,很多问题也许解决了,确不知其原由,也有一些问题,解决了后面又出来同样的错误,关于这些,请谅解. 关于这个问题,我自己也是想了很久,总算是能用上了, 想在angular2中引用jquery的话,高大上的一个方法是,在package.json中的dependencies中写入,执行cnpm i;安装; "dependencies": { "@angular/common": "^4.0.0", "@angular/compiler": "^4.0.0",
杭州前端工程师
2018/06/15
2.3K0
Sqoop在导入的时候导入多张表
当我们用Sqoop导入一张表的时候可以用 --table <table-name> 去指定要导入一个表,但是我们要导入多个表的话,用这个--table是不行的。 这时候我们可以用Sqoop的import-all-tables加--exclude-tables 进行组合使用,实现我们一次导入多个表的目的。
ZHANGHAO
2018/12/09
6.7K1
Sqoop在导入的时候导入多张表
spring导入第三方资源
配置数据库连接参数时,注入驱动类名是用driverClassName还是driver?
楠羽
2023/10/17
1620
spring导入第三方资源
在高PR值的网站中怎么获得导入连接
这几天忙着在给公司的年会做策划,真累呀,每年的沈阳·K友汇都是公司一个大项目,所以投入的精力还是比较大的,前几天谈论了一个站长要做到是持之以恒,坚持不懈得到了需要朋友的认可,很高兴,今天谈谈关于在高PR的网站上获得导入连接的几个方法;
李洋博客
2021/06/15
2.1K0
在高PR值的网站中怎么获得导入连接
在 Spark 数据导入中的一些实践细节
图谱业务随着时间的推移愈发的复杂化,逐渐体现出了性能上的瓶颈:单机不足以支持更大的图谱。然而,从性能上来看,Neo4j 的原生图存储有着不可替代的性能优势,这一点是之前调研的 JanusGraph、Dgraph 等都难以逾越的鸿沟。即使 JanusGraph 在 OLAP 上面非常出色,对 OLTP 也有一定的支持,但是 GraphFrame 等也足以支撑其 OLAP 需求,更何况在 Spark 3.0 会提供 Cypher 支持的情况下,图谱的 OLAP 需求相比 OLTP 有更多途径可以解决。这个时候,Nebula Graph 的“横空出世”无疑是对分布式 OLTP 效率低下现状的一种突破。
NebulaGraph
2020/11/25
1.6K0
在 Spark 数据导入中的一些实践细节
spring在ssh框架中的作用学习
spring在ssh框架中的作用学习 在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语 句。Struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以SSH框架的流程大致是:Jsp页面—-Struts——Service(业务逻辑处理类)—Hibernate(左到右) struts负责控制Service(业务逻辑处理类),从而控制了Service的生命
用户1289394
2018/02/26
1.2K0
Java中的动态代理以及在框架中的应用
我们先假设现在有怎么一个需求,要求你在不改动原有代码的情况下在所有类的方法前后打印日志。我们很容易想到静态代理,具体做法如下:
烂猪皮
2021/06/09
1.3K0
Java中的动态代理以及在框架中的应用
Python怎么导入第三方依赖的Module
初步猜测是没有引入对应的module,因为没写过python代码,所以需要网上找找资料,网上资料说可以用pip install就可以,不过我python环境刚安装,这个命令在哪运行?通过搜索知道需要配置环境变量,这个和java也一样,都是要配环境变量,才能在cmd窗口使用sdk的命令
SmileNicky
2022/05/07
2140
Python怎么导入第三方依赖的Module
ABAQUS-Python第三方库的导入
Python语言上手容易,开源,大量的第三方库可供调用,因此近年来发展迅猛,常年盘踞各类机构推出的程序语言排行榜的前几位。ABAQUS/CAE的前处理基本是依赖于Python语言打造,因此采用Python进行二次开发很方便。
阿信老师CAE
2022/05/17
2K0
ABAQUS-Python第三方库的导入
Sqoop的安装与Mysql的数据导入到hdfs框架中
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
用户2603479
2018/09/19
1.1K0
android studio 导入第三方库的记录
http://blog.csdn.net/lxk_1993/article/details/50493582
103style
2022/12/19
3220
android studio 导入第三方库的记录
神经网络(TensorFlow)游乐场
TensorFlow游乐场是一个通过网页浏览器就可以训练的简单神经网络并实现了可视化训练过程的工具。可以去简单地模拟深度学习的过程。连线越粗表明权重越大。
里克贝斯
2021/05/21
1.5K0
神经网络(TensorFlow)游乐场
在vscode中安装python第三方库
以安装numpy为例,输入pip install numpy,点击回车,安装成功之后会显示如下信息:
全栈程序员站长
2022/11/10
2.3K0
在vscode中安装python第三方库
在Fabric ChainCode中导入第三方包(以状态机为例)
在企业级应用开发中,经常会涉及到流程和状态,而有限状态机(FSM)则是对应的一种简单实现,如果复杂化,就上升到Workflow和BPM了。我们在Fabric ChainCode的开发过程中,也很可能涉及到状态机,这里我们就举一个例子,用FSM实现一个二级审批的状态转移。
深蓝studyzy
2022/06/16
2700
在Fabric ChainCode中导入第三方包(以状态机为例)
Android Studio导入第三方类库的方法
Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比Eclipse好用吧,反正以前没有java开发经验,索性就从android studio开始学,以前一直是做.net的开发,最近使用了Eclipse,Android Studio之后发现Visual studio.net正式太好用了,不得不说微软的开发工具做的比谁都好。下面是我在使用Android Studio应
阿新
2018/04/12
1.7K0
Android Studio导入第三方类库的方法
在python中实现基于ICE框架的cl
ICE (Internet Communication Engine) 是zeroc公司实现的通信中间件
py3study
2020/01/03
2.2K0
WebAssembly 在 MOSN 中的实践:基础框架篇
本文将介绍 WebAssembly 技术在 MOSN 中的实践,首先介绍了当前 MOSN 在扩展隔离方面所面临的痛点,并对 Wasm 技术的相关背景知识进行介绍。随后描述了 Wasm 扩展框架的整体架构,并介绍了我们在 Proxy-Wasm 社区规范中所做的贡献,最后描述了框架在性能、异常调试等方面的实践内容。 作为金融级服务网格中的流量代理组件,MOSN 在承载蚂蚁数十万服务容器之间流量的同时,也承载着诸多例如限流、鉴权、路由等中间件基础能力。这些能力以不同的扩展形式与 MOSN 运行于同一进程内。非隔离
深度学习与Python
2023/04/01
8220
WebAssembly 在 MOSN 中的实践:基础框架篇
时间轮原理及其在框架中的应用
1)心跳检测。在Dubbo中,需要有心跳机制来维持Consumer与Provider的长连接,默认的心跳间隔是60s。当Provider在3次心跳时间内没有收到心跳响应,会关闭连接通道。当Consumer在3次心跳时间内没有收到心跳响应,会进行重连。Provider侧和Consumer侧的心跳检测机制都是通过定时任务实现的,而且是本篇文章要分析的时间轮HashedWheelTimer处理的。
2020labs小助手
2022/03/28
2.4K0
WebAssembly 在 MOSN 中的实践 - 基础框架篇
作为金融级服务网格中的流量代理组件,MOSN 在承载蚂蚁数十万服务容器之间流量的同时,也承载着诸多例如限流、鉴权、路由等中间件基础能力。这些能力以不同的扩展形式与 MOSN 运行于同一进程内。非隔离的运行方式在保障性能的同时,却也给 MOSN 带来了不可预知的安全风险。
CNCF
2021/04/21
9770
点击加载更多

相似问题

Xcode游乐场框架导入

11

在游乐场中导入框架出错

52

如何将第三方框架导入Xcode游乐场?

49

将分析框架导入游乐场

10

如何在swift游乐场使用随迦太基导入的框架

45
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档