深度学习的第一步恐怕就是读数据了,数据集有很多种,有的数据集训练数据和标签是分开的并且有的数据集标签里有很多数据,需要提取标签里面有效的内容;有的数据集文件名即标签,下面以读取语音数据集为例,为大家介绍。
1 数据集文件名即为标签,如图所示
import os
import pandas as pd
feeling_list=[]
for item in mylist:
if item[:1]=='a':
feeling_list.append('angry')
elif item[:1]=='f':
feeling_list.append('fear')
elif item[:1]=='h':
feeling_list.append('happy')
elif item[:1]=='n':
feeling_list.append('neutral')
elif item[:2]=='sa':
feeling_list.append('sad')
elif item[:2]=='su':
feeling_list.append('surprise')
labels = pd.DataFrame(feeling_list)
###读取语音特征MFCCS
df = pd.DataFrame(columns=['feature'])#给生成的字典赋予名字feature为读取特征做准备
bookmark=0
for index,y in enumerate(mylist):
X, sample_rate = librosa.load('G:/c++/liuyong/'+y, res_type='kaiser_fast',duration=1.9,sr=None)
sample_rate = np.array(sample_rate)
mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=13),axis=0)
feature = mfccs
#[float(i) for i in feature]
#feature1=feature[:135]
df.loc[bookmark] = [feature]
bookmark=bookmark+1
####读取特征完毕
newdf = pd.concat([df3,labels], axis=1)
# axis = 1的时候,concat就是行对齐,然后将不同列名称的两张表合并
##至此标签和数据已经放到了一块,接下来可以对数据和标签形成的大矩阵一块做优化处理
item[:1]的作用是读取文件名字中的标签信息,不同的文件名item的数值不一样可以自己去试一试。
feeling_list.append将读取的文件以1列的形式保存