利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集
利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集
- 1 前言
- 2 制作数据集
- 2.1 下载数据,初步处理
- 2.2 上代码
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 shuffledef 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 sdef 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]for x in range(120):temporary_s[x]=s[1000*x:2048+1000*x]temporary_s[x]=normalize(temporary_s[x]) #顺道对每个样本归一化results[i]=temporary_sreturn resultsdef make_datasets(org_samples):'''输入10*120*2048的原始样本,输出带标签的训练集(占75%)和测试集(占25%)'''train_x=np.zeros(shape=(10,90,2048))train_y=np.zeros(shape=(10,90,10))test_x=np.zeros(shape=(10,30,2048))test_y=np.zeros(shape=(10,30,10))for i in range(10):s=org_samples[i]# 打乱顺序index_s = [a for a in range(len(s))]shuffle(index_s)s=s[index_s]# 对每种类型都划分训练集和测试集train_x[i]=s[:90]test_x[i]=s[90:120]# 填写标签label = np.zeros(shape=(10,))label[i] = 1train_y[i, :] = labeltest_y[i, :] = label#将十种类型的训练集和测试集分别合并并打乱x1 = train_x[0]y1 = train_y[0]x2 = test_x[0]y2 = test_y[0]for i in range(9):x1 = np.row_stack((x1, train_x[i + 1]))x2 = np.row_stack((x2, test_x[i + 1]))y1 = np.row_stack((y1, train_y[i + 1]))y2 = np.row_stack((y2, test_y[i + 1]))index_x1= [i for i in range(len(x1))]index_x2= [i for i in range(len(x2))]shuffle(index_x1)shuffle(index_x2)x1=x1[index_x1]y1=y1[index_x1]x2=x2[index_x2]y2=y2[index_x2]return x1, y1, x2, y2 #分别代表:训练集样本,训练集标签,测试集样本,测试集标签def get_timesteps(samples):''' get timesteps of train_x and test_X to 10*120*31*128:param samples : a matrix need cut to 31*128'''s1 = np.zeros(shape=(31, 128))s2 = np.zeros(shape=(len(samples), 31, 128))for i in range(len(samples)):sample = samples[i]for a in range(31):s1[a]= sample[64*a:128+64*a]s2[i]=s1return s2# 读取原始数据,处理后保存
dataFile= 'G://study of machine learing//deep learning//LSTM//datasets//十个原始信号.mat'
data=scio.loadmat(dataFile)
org_signals=data['signals']
org_samples=cut_samples(org_signals)
train_x, train_y, test_x, test_y=make_datasets(org_samples)
train_x= get_timesteps(train_x)
test_x= get_timesteps(test_x)saveFile = 'G://study of machine learing//deep learning//LSTM//datasets//datasets.mat'
scio.savemat(saveFile, {'train_x':train_x, 'train_y':train_y, 'test_x':test_x, 'test_y':test_y})
不需要划分timesteps的可以不用这个函数,最后就得到了打乱顺序的训练集(900×2048)、测试集(300×2048)
码字不易,转载请附出处:https://blog.csdn.net/weixin_44620044/article/details/106877805
小白一枚,请大牛批评指正。
利用python整理凯斯西储大学(CWRU)轴承数据,制作数据集相关推荐
- CWRU(凯斯西储大学) 轴承数据
CWRU(凯斯西储大学) 轴承数据 实验平台如下图所示: 实验平台组成: 一个2马力的电动机(图左侧): 一个扭矩传感器/ 译码器(图中间连接处): 一个功率测试计(图右侧): 电子控制器(图中没显示 ...
- 随机森林模型构建--在凯斯西储(CWRU)数据上的简单测试(1)
随机森林模型构建测试–在凯斯西储(CWRU)数据上的简单测试(1) 文章目录 随机森林模型构建测试--在凯斯西储(CWRU)数据上的简单测试(1) 1. 实验数据集说明 2. 测试数据说明 3. 随机 ...
- 对凯斯西储大学的轴承故障信号进行小波变换特征提取
最近本菜鸟对凯斯西储大学的轴承信号做了时域参数和小波变换,希望能分辨出其轴承出现故障与否和故障类型-外圈故障,内圈故障,滚珠体故障.以下是用matlab2011b处理信号后的结果及遇到的问题.先贴代码 ...
- 小波变换之(凯斯西储大学CWRU数据转为时频图像)-matlab
凯西储大学(CWRU)数据集下载地址:CWUR完整版 1,挑选出所需数据,每种工况下的10类数据,也就是每个类别一个mat格式的文件 2,加载原始路径,预先定义好所需要的参数 采样频率12Khz ad ...
- 西储大学(CWRU)轴承数据集故障诊断(一):数据读取,数据集划分
CWRU轴承数据集故障诊断 博客编写背景 数据集读取 训练与测试 完整数据读取代码 博客编写背景 本次博客是对深度学在机械设备的故障诊断(模式识别)领域的入门级的基础教程,主要是专门针对CWRU滚动轴 ...
- 西储大学(CWRU)轴承数据集的数据读取与划分
简介 由于课题原因,最近在学习torch对于轴承故障检测的相关知识,但第一步读取数据以及数据的划分就难到了我,在网上查找相关资料,也没有完整的代码,于是只能东拼西凑,修修改改,最后勉强凑出来一个可以一 ...
- CWRU(凯斯西储大学) 轴承数据集简介
实验平台如下图所示: 实验平台组成: 一个2马力的电动机.(图左侧) 一个扭矩传感器/译码器(图中连接处) 一个功率测试仪(图右侧) 电子控制器 待测轴承: 待检测的轴承支撑着电动机的转轴: 驱动端轴 ...
- 凯斯西储(CWRU)数据集解读并将数据集划分为10分类(含代码)
凯斯西储大学轴承故障数据集官方网址:https://engineering.case.edu/bearingdatacenter/download-data-file 官方数据集整理版(不用挨个下了) ...
- 【凯斯西储大学数据集介绍(CWRU)】
目录 实验平台 缩写含义 总结 实验平台 实验平台组成: [1]一个2马力的电动机(图左侧): [2]一个扭矩传感器/ 译码器(图中间连接处): [3]一个功率测试计(图右侧): [4]电子控制器(图 ...
最新文章
- Qt使用导出类报错:error C2491: “ZMapWidget::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
- JavaScript DOM编程艺术(第2版) 笔记
- 面向对象设计的重要原则:SOLID
- List、Map、Set之间的联系与区别:
- Mac OS X Tips
- 基于FPGA的OV5640摄像头驱动
- SecureCRT免费版下载
- 基于Python的网络爬虫与数据可视化分析
- 微信小店二次开发_微信小店二次开发功能套餐列表
- 正则测试以及练习网站
- 使用fastboot命令刷机
- IDEA如何连接MySQL数据库?
- ENVI:在ENVI中如何查看所打开遥感影像的所有波段
- MOOC《基础和声》笔记
- 最大期望(EM)算法
- 大数据 数据治理 | 微信交流群~
- 云计算科普:Pets(宠物)和Cattle(牲口)傻傻分不清楚?
- Very Deep Convolutional Networks for Text Classification之每日一篇
- 基于HTML+CSS+JavaScript学生网上报到系统响应式网站
- 【论文-笔记】海防雷达仿真系统中PPI的设计与实现