利用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)轴承数据,制作数据集相关推荐

  1. CWRU(凯斯西储大学) 轴承数据

    CWRU(凯斯西储大学) 轴承数据 实验平台如下图所示: 实验平台组成: 一个2马力的电动机(图左侧): 一个扭矩传感器/ 译码器(图中间连接处): 一个功率测试计(图右侧): 电子控制器(图中没显示 ...

  2. 随机森林模型构建--在凯斯西储(CWRU)数据上的简单测试(1)

    随机森林模型构建测试–在凯斯西储(CWRU)数据上的简单测试(1) 文章目录 随机森林模型构建测试--在凯斯西储(CWRU)数据上的简单测试(1) 1. 实验数据集说明 2. 测试数据说明 3. 随机 ...

  3. 对凯斯西储大学的轴承故障信号进行小波变换特征提取

    最近本菜鸟对凯斯西储大学的轴承信号做了时域参数和小波变换,希望能分辨出其轴承出现故障与否和故障类型-外圈故障,内圈故障,滚珠体故障.以下是用matlab2011b处理信号后的结果及遇到的问题.先贴代码 ...

  4. 小波变换之(凯斯西储大学CWRU数据转为时频图像)-matlab

    凯西储大学(CWRU)数据集下载地址:CWUR完整版 1,挑选出所需数据,每种工况下的10类数据,也就是每个类别一个mat格式的文件 2,加载原始路径,预先定义好所需要的参数 采样频率12Khz ad ...

  5. 西储大学(CWRU)轴承数据集故障诊断(一):数据读取,数据集划分

    CWRU轴承数据集故障诊断 博客编写背景 数据集读取 训练与测试 完整数据读取代码 博客编写背景 本次博客是对深度学在机械设备的故障诊断(模式识别)领域的入门级的基础教程,主要是专门针对CWRU滚动轴 ...

  6. 西储大学(CWRU)轴承数据集的数据读取与划分

    简介 由于课题原因,最近在学习torch对于轴承故障检测的相关知识,但第一步读取数据以及数据的划分就难到了我,在网上查找相关资料,也没有完整的代码,于是只能东拼西凑,修修改改,最后勉强凑出来一个可以一 ...

  7. CWRU(凯斯西储大学) 轴承数据集简介

    实验平台如下图所示: 实验平台组成: 一个2马力的电动机.(图左侧) 一个扭矩传感器/译码器(图中连接处) 一个功率测试仪(图右侧) 电子控制器 待测轴承: 待检测的轴承支撑着电动机的转轴: 驱动端轴 ...

  8. 凯斯西储(CWRU)数据集解读并将数据集划分为10分类(含代码)

    凯斯西储大学轴承故障数据集官方网址:https://engineering.case.edu/bearingdatacenter/download-data-file 官方数据集整理版(不用挨个下了) ...

  9. 【凯斯西储大学数据集介绍(CWRU)】

    目录 实验平台 缩写含义 总结 实验平台 实验平台组成: [1]一个2马力的电动机(图左侧): [2]一个扭矩传感器/ 译码器(图中间连接处): [3]一个功率测试计(图右侧): [4]电子控制器(图 ...

最新文章

  1. Qt使用导出类报错:error C2491: “ZMapWidget::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
  2. JavaScript DOM编程艺术(第2版) 笔记
  3. 面向对象设计的重要原则:SOLID
  4. List、Map、Set之间的联系与区别:
  5. Mac OS X Tips
  6. 基于FPGA的OV5640摄像头驱动
  7. SecureCRT免费版下载
  8. 基于Python的网络爬虫与数据可视化分析
  9. 微信小店二次开发_微信小店二次开发功能套餐列表
  10. 正则测试以及练习网站
  11. 使用fastboot命令刷机
  12. IDEA如何连接MySQL数据库?
  13. ENVI:在ENVI中如何查看所打开遥感影像的所有波段
  14. MOOC《基础和声》笔记
  15. 最大期望(EM)算法
  16. 大数据 数据治理 | 微信交流群~
  17. 云计算科普:Pets(宠物)和Cattle(牲口)傻傻分不清楚?
  18. Very Deep Convolutional Networks for Text Classification之每日一篇
  19. 基于HTML+CSS+JavaScript学生网上报到系统响应式网站
  20. 【论文-笔记】海防雷达仿真系统中PPI的设计与实现

热门文章

  1. 【计算机视觉(CV)】基于图像分类网络VGG实现中草药识别(二)
  2. 网络团购商业模式如何运作才能成功
  3. DreamWeaver2020下载安装
  4. XY51S03B蓝牙5.1芯片OBU方案
  5. MeeGo Qt安全证书合集
  6. AP模式和Router模式区别是什么
  7. 【读论文】An Object-Based Approach for Urban Land Cover Classification(2013)
  8. 女生转行程序猿,到底难不难?
  9. linux 下载百度网盘方法
  10. 数据库优化三部曲(2)-读写分离-一蓑烟雨任平生