凯斯西储大学轴承数据具体处理过程(用作CNN输入)

凯斯西储大学轴承数据具体处理过程

本文阐述处理类似凯斯西储大学的轴承数据(一维时间序列信号)的一种方法(结合CNN使用)。

原信号在数据文件中是以mat文件呈现,如果想具体查看文件里面放的什么数据,可以用MATLAB打开来看一下。

如何将原始数据文件处理成可用的数据格式呢?

1、先用MATLAB将读出数据文件的内容
Y=load(‘E:\电脑桌面\实验资料\轴承数据\12kF_0hp\ball_014.mat’);
此时可以在工作区中查看数据到底长什么样子。
然后可以将数据保存为TXT格式的文件。
save(‘E:\MATLAB_Code\1.txt’,‘Y’)

2、再用python中的函数处理(其实第一步有点脱裤子那啥了,直接在python中处理也是可以的)
此时只需从文件中读出数据(这里的np是numpy模块的缩写哦!)
data0 = np.loadtxt(“E:\MATLAB_Code\1.txt”,dtype=‘float32’) (注意需要两个反斜杠)
然后将数据变个形就可以了
data0 = data0.reshape(len(data0)//50,50) (这里是将原时间序列的数据处理成每50个一组,共有len(data0)/50组,注意这里是整除哦)
此时数据文件算是处理好了,那怎么打上标签呢?

3、数据标签处理
为了后续方便标签的使用,这里通过one-hot编码方式输出对应标签(具体什么是one-hot百度下就好了)

label0 = np.ones((len(data0),1)) * 0   #这里是打上数据类别 0 的标签,后续类别1,2,3也是类似的,把0替换成1,2,3即可
label0 = label0.astype(int)  
label0 = np.eye(4)[label0]   # 这里的4是指你准备打4类标签
label0 = label0.reshape(len(label0),4)  

到现在为止,数据和标签就搞定了,你保存后就可以尽情的玩耍了!
嗯?保存?怎么保存??
好吧

np.savetxt("data0.txt", data0)
np.savetxt("label0.txt", label0)

因为此时是TXT文件,你直接打开文件来看处理过后的数据。也可以在python里面打印数据的shape看一看。
现在差不多大功告成了吧!
等等。。。
谁会只用1类数据呢??怎么也得4类吧!
很明显,其他类的数据也是类似处理,当你想将所有的数据文件拼接在一起时,可以使用函数
data0_3 = np.vstack((data0,data1,data2,data3))
这样,针对凯斯西储大学的轴承数据就处理完毕啦,去耍吧!

总结代码:

data0 = np.loadtxt("E:\\MATLAB_Code\\1.txt",dtype='float32')  #(注意需要两个反斜杠,打开的文件就是前文MATLAB输出的)
data0 = data0.reshape(len(data0)//50,50)   #(这里是将原时间序列的数据处理成每50个一组,共有len(data0)/50组,注意这里是整除哦)
label0 = np.ones((len(data0),1)) * 0   #这里是打上数据类别 0 的标签,后续类别1,2,3也是类似的,把0替换成1,2,3即可
label0 = label0.astype(int)  
label0 = np.eye(4)[label0]   # 这里的4是指你准备打4类标签
label0 = label0.reshape(len(label0),4)  
np.savetxt("data0.txt", data0)
np.savetxt("label0.txt", label0)

你可能感兴趣的:(凯斯西储大学轴承数据具体处理过程(用作CNN输入))