Python培训数据集
问题描述:
我正在尝试执行music genre
分类。我想使用MFCC
作为功能。我正在使用scikit library
。这里是我的代码只是:Python培训数据集
> import numpy as np
> import scipy.io.wavfile
> from scikits.talkbox.features import mfcc
> sr1,x1=scipy.io.wavfile.read("filename.wav")
> ceps1,mspec1,spec1=mfcc(x1)
我可以得到MFCC
值如上。现在,我有两首不同音乐流派的100首歌曲(electronic
,jazz
)。而且,我想创建一个使用这些歌曲的数据集。我想我会用numpy数组来设计这个数据集。我如何创建该数据集并将它们贴上标签(electronic
或jazz
)?我使用python2.7
在Ubuntu
答
您可以使用歌曲文件的pandas
内置数据帧上传的名字,并给列的标题为任电子或爵士乐。
这里是高层概述。
- 遍历歌曲文件的目录并获取文件名。
- 对于每个文件得到其相应的MFCC值(基本上确定它是否 属于电子或爵士乐类别。
- 对于初始加载到
pandas
数据帧,创建电子和两个单独的列表爵士乐 - 对于后续负载,可以直接附加到各个列的数据帧
下面是简单的实现它假定您已经获得的文件名,MFCC值和分类的文件电子或爵士
import pandas as pd
columns = ['electronic','jazz']
df = pd.DataFrame(index=None, columns=columns)
elec_list = [ 'song1', 'song2', 'song3' ]
jazz_list = [ 'song5', 'song6', 'song7' ]
df = pd.DataFrame(index=None, columns=columns)
df['electronic'] = pd.Series(elec_list)
df['jazz'] = pd.Series(jazz_list)
输出:
DF
电子爵士乐
0 song1 song5
1 song2 song6
2 song3 song7