首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一种支持非线性核和多标签的支持单对少的支持向量机实现

一种支持非线性核和多标签的支持单对少的支持向量机实现
EN

Stack Overflow用户
提问于 2017-03-21 10:04:50
回答 1查看 1.7K关注 0票数 5

我正在寻找一个支持支持非线性内核和一个vs-rest场景的支持向量机实现,以执行多标签分类。最好是用Python编写的,或者我可以用wrappers从Python调用。

我正在研究sklearn,有两个实现可以使用支持向量机进行分类:

sklearn.svm.LinearSVC -支持单点rest场景下的多标签分类,但它是基于lib线性的,因此只支持线性内核。

基于libsvm的sklearn.svm.SVC -支持非线性核,但是多标签分类是在一对一的缩减下完成的,它训练K (K−1) /2二进制分类器以解决K-路多类问题。

更多信息也在这里:http://scikit-learn.org/stable/modules/multiclass.html

有没有人知道其他直接支持多标签分类和非线性核的支持向量机实现?

一个可能的解决方案也可以是调整基于sklearn.svm.SVC的代码,执行1-VS-Rest,这以前是否已经尝试过?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-23 06:25:34

二元关联问题变换法使用单vs rest方法进行多标签分类。利用scikit多重学习库可以方便地实现非线性核支持向量机.下面是执行相同操作的示例python代码,其中每一行train_y都是表示多个标签的一个热向量(例如,0,0,1,0,1,0)

代码语言:javascript
复制
from skmultilearn.problem_transform.br import BinaryRelevance
from sklearn.svm import SVC

# Non-linear kernel
svm = SVC(kernel='rbf')
cls = BinaryRelevance(classifier=svm)

cls.fit(train_x, train_y)
predictions = cls.predict(test_x)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42923851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档