利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集
1 前言
大多数文献用CWRU数据制作数据集的思路是差不多的,这里就说一个最常见的:用窗口滑移的方式制作样本,例如每2048个采样点为一个样本。(吐槽一下:我本来以为这个实验是做了好多轴承的实验结果呢,没想到同种情况就只有一个轴承,样本是部分重叠的情况下切出来的,话说这种样本训练出的结果真的可靠吗?)
2 制作数据集
因为最近在尝试LSTM,所以最后做出来的数据集是又分了时间步的,但是不需要的小伙伴可以忽略这一步的操作。
2.1 下载数据,初步处理
官方连接:https://csegroups.case.edu/bearingdatacenter/pages/download-data-file
或者我上传的:https://pan.baidu.com/s/1Faygebmjw3kEPli6ikM0eA
提取码:gdsk
因为我的需求是十种状态,每种状态有120个样本,每个样本2048个采样点,所以选择了12kHz驱动端的数据,利用matlab简单处理了一下,得到了10×121048的.mat文件(千万别问我121048怎么算出来的。。。)
2.2 上代码
import numpy as np
import scipy.io as scio
from random import shuffle
def normalize(data):
'''(0,1)normalization
:param data : the object which is a 1*2048 vector to be normalized
'''
s= (data-min(data)) / (max(data)-min(data))
return s
def cut_samples(org_signals):
''' get original signals to 10*120*2048 samples, meanwhile normalize these samples
:param org_signals :a 10* 121048 matrix of ten original signals
'''
results=np.zeros(shape=(10,120,2048))
temporary_s=np.zeros(shape=(120,2048))
for i in range(10):
s=org_signals[i]