采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师好,谢谢您的耐心讲解。最近在做音频信号多分类的问题,是四种工业噪声,每一种都有大量的.wav 文件来用来训练模型,测试模型。网上调研看可以用多分类SVM解决。但是不知道怎么该怎么具体处理。
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 截图如下:
继续加油!:)
谢谢老师~~~。我还有四个问题想请教您: 首先假设,我有一个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类)?? 谢谢啦,期待您的回复
疑问有些多,在评论里回答不方便,你重新复制到一个新问答下吧:)
好的老师,我在11-4这节课上进行了新的提问,把自己想问的也梳理了一下,画了个图,我想问的几个问题应该更清楚地表达了。非常期待您的回复。另外,申请加了您QQ。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14