请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,请问能不能讲一下怎么用SVM实现多分类?

老师好,谢谢您的耐心讲解。
最近在做音频信号多分类的问题,是四种工业噪声,每一种都有大量的.wav 文件来用来训练模型,测试模型。
网上调研看可以用多分类SVM解决。但是不知道怎么该怎么具体处理。

正在回答

1回答

liuyubobobo 2019-11-30 15:22:22

sklearn 的 SVC 直接就可以处理多分类问题。只需要把数据整理好就可以。


其背后的机制,就是在讲逻辑回归时介绍的 OvO 或者 OvR。


sklearn 的 SVC 处理多分类问题,默认使用 OvR,如果想修改成 OvO,只需要调整 decision_function_shape 这个参数就可以。具体可以参考 sklearn 的 SVC 官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html


关于 decision_function_shape 截图如下:

https://img1.sycdn.imooc.com//szimg/5de218a109b596bf06720118.jpg


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 儒将肚甫 #1
    谢谢老师~~~。我还有四个问题想请教您:
    首先假设,我有一个13*400的矩阵,400表示的是我有400个样本(其中有A类100个,B类100个,C类100个,D类100个),13表示的是每个样本提取了13个特征值,用以区分(13维)。还有一个1*400的矩阵,里面是400个样本对应的标签。我的问题是:
    1.为什么每个样所提取出来的13个特征值,被称为特征向量,他们不是数值么?,为什么叫向量
    2.我查的python读取matlab的 .mat文件之后地结果是字典,python能直接把这个13*400的.mat文件作为训练数据集输入吗?不知道您是否之前涉及过。
    3. 模型训练完以后是什么样子的,是一个.model 文件么??如果我用这个13*400+1*400的矩阵,训练出了一个SVM的4分类模型,我能否得到一个类似.model一样的文件,它可以直接像.exe那样被我直接拿来用?
    4. 最后,假设按如我上面所说,我用sklearn的中的svc训练出了一个4分类.model文件,我怎么测试它的准确率?只能用交叉验证么?假如我只想真实地使用这个.model文件来为我解决实际的问题,就是我不想再测试了,我希望直接输入ABCD中某一类的一个训练集之外的样本的特征向量(1*13的矩阵)给这个.model文件,对应的,它就可以给我报出一个它分类后判断的结果(直接告诉我是A类,还是B类,还是C类,还是D类)??
    谢谢啦,期待您的回复
    回复 有任何疑惑可以回复我~ 2019-12-20 00:39:38
  • liuyubobobo 回复 提问者 儒将肚甫 #2
    疑问有些多,在评论里回答不方便,你重新复制到一个新问答下吧:)
    回复 有任何疑惑可以回复我~ 2019-12-20 09:44:03
  • 提问者 儒将肚甫 回复 liuyubobobo #3
    好的老师,我在11-4这节课上进行了新的提问,把自己想问的也梳理了一下,画了个图,我想问的几个问题应该更清楚地表达了。非常期待您的回复。另外,申请加了您QQ。
    回复 有任何疑惑可以回复我~ 2019-12-20 23:51:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信