具有MFCC功能的Python使用Numpy训练SVM

时间:2016-06-22 19:31:47

标签: python numpy machine-learning svm mfcc

我特别遇到numpy问题。 出于测试目的,我试图训练MFCC的两个wav文件。两个数组大小都相同。

当我试图将数据纳入分类器时,我有

ValueError: Found array with dim 3. Estimator expected <= 2.

让我更加精确,因为我长时间与自己一起努力解决这个笨拙的形状问题,并且无法找到解决方案。

>mfccsorry = sf.getFeatures(dir+"sorry.mp3.wav")
>mfccsorry.shape
(622, 13)
>mfccsorry = sf.getFeatures(dir+"sorry.mp3.wav")
(622, 13)
>mfcctestwav = sf.getFeatures(dir+"test.mp3.wav")
(622, 13)
>arr = [mfccsorry,mfccsad]
>targ = ["sad","hope"]

此时,我试图用#34; sad&#34;标记特征向量。和#34;希望&#34;并希望预测mfcctestwav的标签。

clf.fit(arr, targ)

返回错误。

我试图对阵列进行调整,结果是0.5,0.5的预测率,这并不令人意外,因为我已将所有特征向量合并为一个。 我相信我对Numpy或SVM矩阵编码有疑问。

我已经检查了文档 http://python-speech-features.readthedocs.io/en/latest/ https://docs.scipy.org/doc/numpy-dev/user/quickstart.html

但仍然无法自己找到问题。 感谢各种建议和解释。

编辑: 我知道那条线

>arr = [mfccsorry,mfccsad]

创建一个形状为(2,622,13)的3D数组,最终导致错误。我是否应该将其重塑为2D数组,如果是这样,那么正确的形式应该是什么以及背后的逻辑可能是什么。

0 个答案:

没有答案