2

特にnumpyに問題があります。テスト目的で、2 つの wav ファイルの MFCC をトレーニングしようとしています。両方の配列サイズは同じです。

私が持っている分類器にデータを当てはめようとしているとき

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"]

この時点で、特徴ベクトル 1 に「悲しい」というラベルを付け、2 番目のベクトルに「希望」というラベルを付けて、mfcctestwav のラベルを予測しようとしています。

clf.fit(arr, targ)

エラーを返します。

私は配列を分解しようとしましたが、その結果、予測率は 0.5,0.5 になりました。これは、すべての特徴ベクトルを 1 つにマージしたため、驚くことではありませんでした。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 配列に再形成する必要がありますか?もしそうなら、正しい形式とその背後にあるロジックは何でしょうか。

4

0 に答える 0