将一维机械振动信号构造为训练集和测试集(Python)

从如下链接中下载轴承数据集。

https://www.sciencedirect.com/science/article/pii/S2352340918314124


import numpy as np
import scipy.io as sio
import matplotlib.pyplot as plt
import statistics as stats
import pandas as pd
from sklearn.model_selection import train_test_split
A1 = sio.loadmat('./Data/H-A-1.mat')
channel1HA1 = HA1['Channel_1']
n = len(channel1HA1) # Número de muestrascanal1HA1 = channel1HA1.T[0]
f = 200000 # Hz #graba a 200000 por s
t = np.linspace(0, 10, n)
dt = t[1] - t[0]HA2 = sio.loadmat('./Data/H-A-2.mat')
channel1HA2 = HA2['Channel_1']
canal1HA2 = channel1HA2.T[0]HA3 = sio.loadmat('./Data/H-A-3.mat')
channel1HA3 = HA3['Channel_1']
canal1HA3 = channel1HA3.T[0]
HB1 = sio.loadmat('./Data/H-B-1.mat')
channel1HB1 = HB1['Channel_1']
canal1HB1 = channel1HB1.T[0]HB2 = sio.loadmat('./Data/H-B-2.mat')
channel1HB2 = HB2['Channel_1']
canal1HB2 = channel1HB2.T[0]HB3 = sio.loadmat('./Data/H-B-3.mat')
channel1HB3 = HB3['Channel_1']
canal1HB3 = channel1HB3.T[0]
HC1 = sio.loadmat('./Data/H-C-1.mat')
channel1HC1 = HC1['Channel_1']
canal1HC1 = channel1HC1.T[0]HC2 = sio.loadmat('./Data/H-C-2.mat')
channel1HC2 = HC2['Channel_1']
canal1HC2 = channel1HC2.T[0]HC3 = sio.loadmat('./Data/H-C-3.mat')
channel1HC3 = HC3['Channel_1']
canal1HC3 = channel1HC3.T[0]
HD1 = sio.loadmat('./Data/H-D-1.mat')
channel1HD1 = HD1['Channel_1']
canal1HD1 = channel1HD1.T[0]HD2 = sio.loadmat('./Data/H-D-2.mat')
channel1HD2 = HD2['Channel_1']
canal1HD2 = channel1HD2.T[0]HD3 = sio.loadmat('./Data/H-D-3.mat')
channel1HD3 = HD3['Channel_1']
canal1HD3 = channel1HD3.T[0]
sanos = pd.DataFrame({'Sano1': canal1HA1, 'Sano2': canal1HA2, 'Sano3': canal1HA3,'Sano4': canal1HB1, 'Sano5': canal1HB2, 'Sano6': canal1HB3,'Sano7': canal1HC1, 'Sano8': canal1HC2, 'Sano9': canal1HC3,'Sano10': canal1HD1, 'Sano11': canal1HD2, 'Sano12': canal1HD3})
sanos

IA1 = sio.loadmat('./Data/I-A-1.mat')
channel1IA1 = IA1['Channel_1']
canal1IA1 = channel1IA1.T[0]IA2 = sio.loadmat('./Data/I-A-2.mat')
channel1IA2 = IA2['Channel_1']
canal1IA2 = channel1IA2.T[0]IA3 = sio.loadmat('./Data/I-A-3.mat')
channel1IA3 = IA3['Channel_1']
canal1IA3 = channel1IA3.T[0]
IB1 = sio.loadmat('./Data/I-B-1.mat')
channel1IB1 = IB1['Channel_1']
canal1IB1 = channel1IB1.T[0]IB2 = sio.loadmat('./Data/I-B-2.mat')
channel1IB2 = IB2['Channel_1']
canal1IB2 = channel1IB2.T[0]IB3 = sio.loadmat('./Data/I-B-3.mat')
channel1IB3 = IB3['Channel_1']
canal1IB3 = channel1IB3.T[0]
IC1 = sio.loadmat('./Data/I-C-1.mat')
channel1IC1 = IC1['Channel_1']
canal1IC1 = channel1IC1.T[0]IC2 = sio.loadmat('./Data/I-C-2.mat')
channel1IC2 = IC2['Channel_1']
canal1IC2 = channel1IC2.T[0]IC3 = sio.loadmat('./Data/I-C-3.mat')
channel1IC3 = IC3['Channel_1']
canal1IC3 = channel1IC3.T[0]
ID1 = sio.loadmat('./Data/I-D-1.mat')
channel1ID1 = ID1['Channel_1']
canal1ID1 = channel1ID1.T[0]ID2 = sio.loadmat('./Data/I-D-2.mat')
channel1ID2 = ID2['Channel_1']
canal1ID2 = channel1ID2.T[0]ID3 = sio.loadmat('./Data/I-D-3.mat')
channel1ID3 = ID3['Channel_1']
canal1ID3 = channel1ID3.T[0]
inners = pd.DataFrame({'Inner1': canal1IA1, 'Inner2': canal1IA2, 'Inner3': canal1IA3,'Inner4': canal1IB1, 'Inner5': canal1IB2, 'Inner6': canal1IB3,'Inner7': canal1IC1, 'Inner8': canal1IC2, 'Inner9': canal1IC3,'Inner10': canal1ID1, 'Inner11': canal1ID2, 'Inner12': canal1ID3})
inners

OA1 = sio.loadmat('./Data/O-A-1.mat')
channel1OA1 = OA1['Channel_1']
canal1OA1 = channel1OA1.T[0]OA2 = sio.loadmat('./Data/O-A-2.mat')
channel1OA2 = OA2['Channel_1']
canal1OA2 = channel1OA2.T[0]OA3 = sio.loadmat('./Data/O-A-3.mat')
channel1OA3 = OA3['Channel_1']
canal1OA3 = channel1OA3.T[0]
OB1 = sio.loadmat('./Data/O-B-1.mat')
channel1OB1 = OB1['Channel_1']
canal1OB1 = channel1OB1.T[0]OB2 = sio.loadmat('./Data/O-B-2.mat')
channel1OB2 = OB2['Channel_1']
canal1OB2 = channel1OB2.T[0]OB3 = sio.loadmat('./Data/O-B-3.mat')
channel1OB3 = OB3['Channel_1']
canal1OB3 = channel1OB3.T[0]
OC1 = sio.loadmat('./Data/O-C-1.mat')
channel1OC1 = OC1['Channel_1']
canal1OC1 = channel1OC1.T[0]OC2 = sio.loadmat('./Data/O-C-2.mat')
channel1OC2 = OC2['Channel_1']
canal1OC2 = channel1OC2.T[0]OC3 = sio.loadmat('./Data/O-C-3.mat')
channel1OC3 = OC3['Channel_1']
canal1OC3 = channel1OC3.T[0]
OD1 = sio.loadmat('./Data/O-D-1.mat')
channel1OD1 = OD1['Channel_1']
canal1OD1 = channel1OD1.T[0]OD2 = sio.loadmat('./Data/O-D-2.mat')
channel1OD2 = OD2['Channel_1']
canal1OD2 = channel1OD2.T[0]OD3 = sio.loadmat('./Data/O-D-3.mat')
channel1OD3 = OD3['Channel_1']
canal1OD3 = channel1OD3.T[0]
outers = pd.DataFrame({'Outer1': canal1OA1, 'Outer2': canal1OA2, 'Outer3': canal1OA3,'Outer4': canal1OB1, 'Outer5': canal1OB2, 'Outer6': canal1OB3,'Outer7': canal1OC1, 'Outer8': canal1OC2, 'Outer9': canal1OC3,'Outer10': canal1OD1, 'Outer11': canal1OD2, 'Outer12': canal1OD3})
outers

signals = []
for i in range(1, 13):signal = sanos['Sano' + str(i)].valuessignals.append(signal)for i in range(1, 13):signal = inners['Inner' + str(i)].valuessignals.append(signal)for i in range(1, 13):signal = outers['Outer' + str(i)].valuessignals.append(signal)tipo = ['Sano'] * 12 + ['Inner'] * 12 + ['Outer'] * 12
X = signals
y = tipo
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, train_size = 0.75, random_state = 0, stratify = y)
sio.savemat('./ProcessedData/signals_train.mat', {'Signal': X_train, 'Tipo': y_train})
sio.savemat('./ProcessedData/signals_test.mat', {'Signal': X_test, 'Tipo': y_test})知乎学术咨询:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Ubuntu下将pulseaudio换成pipewire

1、为什么要将pulseaudio换成pipewire? PulseAudio 是一个成熟且广泛使用的音频服务器,适合一般桌面音频需求,但在性能和延迟上有一定限制。PipeWire 是一个更现代的解决方案,旨在统一音频和视频处理,提供高性能和低延…

微服务、多租户、单点登录、国产化形成的开源Java框架!

一、项目简介 JVS是软开企服构建的一站式数字化的开源框架,支持对接多种账户体系,支持多租户、支持Auth2、统一登录、单点登录等,支持原生开发、低代码/零代码开发应用。 二、框架核心功能 控制台(首页):采用配置化的方式 用户…

已经被驳回的商标名称还可以申请不!

看到有网友在问,已经驳回的商标名称还可以申请不,普推商标知产老杨觉得要分析看情况,可以适当分析下看可不可以能申请,当然最终还是为了下证 ,下证概率低的不建议申请。 先看驳回理由,如果商标驳回是绝对理…

华为某员工爆料:偷偷跑出去面试,被面试官鄙视了。第一句话就问:华为淘汰的吧,35岁了,这个年龄在华为能混得下去吗?身体没啥毛病吧

“你都35岁了,难不成是被华为淘汰的?在华为混不下去了吧?身体没啥毛病吧,我们这体检可是很严的。” 近日,一位华为员工在朋友圈爆料,自己在面试时遭到了面试官的无理取闹和人身攻击,原因仅仅是因…

【Java】内部类

认识内部类:Java中内部类分如下三种 匿名内部类 实例内部类 静态实例内部类 匿名内部类 匿名内部类顾名思义就是在创建的时候不用赋予名字。 代码演示: //匿名内部类 interface IA{void test(); } public class Main{public static void main(Str…

做国际期货有什么心得?

做过现货,外汇,国际期货,当然,做国际期货的时间比较多,几乎占用了我的交易生涯全部。现在,来讲讲我做国际期货的真实经历,交易历程和心得体会,希望正在做国际期货,或打算…

Sapphire开发日志 (十) 关于页面

关于页面 任务介绍 关于页面用户对我组工作量的展示。 实现效果 代码解释 首先封装一个子组件用于展示用户头像和名称。 const UserGrid ({src,name,size,link, }: {src: any;name: any;size?: any;link?: any; }) > (<Box sx{{ display: "flex", flex…

每日一练:攻防世界:5-1 MulTzor

一、XorTool 基于 XOR&#xff08;异或&#xff09;运算实现。它可以帮助您快速地对文本、二进制文件进行加密解密操作。 认识XorTool工具&#xff1a; 让我们先去认识一下工具&#xff1a; xortool.py 是基于 python 的脚本&#xff0c;用于完成一些 xor 分析&#xff0c;…

【云计算 复习】第6节 AWS亚马逊

一、基础存储架构Dynamo 1.概述 &#xff08;1&#xff09;为了保证其稳定性&#xff0c;Amazon的系统采用完全的分布式、去中心化的架构。 &#xff08;2&#xff09;Dynamo只支持简单的键值对方式的数据存储&#xff0c;不支持复杂的查询 &#xff08;3&#xff09;Dynamo中…

腾讯 MOFA-Video: 可控制图转视频

腾讯 MOFA-Video: 可控制图转视频 MOFA-Video 它支持运动轨迹、人脸关键点并支持将其混合控制图像转换为视频。 混合控制: 结合图像、控制信号和关键点生成动画。 运动画笔: 结合图像、轨迹和画笔生成动画。 控制比例: 调整动画的控制比例&#xff0c;从纯 SVD 到完全控制。 通…

“人工智能+”带来新变化

以生成式人工智能&#xff08;AIGC&#xff09;为代表的新一代人工智能技术创新加速演进&#xff0c;相关商业化应用成果也不断涌现&#xff0c;行业应用范围不断拓展&#xff0c;深度赋能实体经济&#xff0c;为行业提质增效与实现减排提供助力。 自主航运初创公司OrcaAI于6月…

Appium+python自动化(二十一)- 让猴子按你指令大闹手机,让我们都成为耍猴高手(超详解)

宏哥微信粉丝群&#xff1a;https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 简介  一年一度的暑假如期而至&#xff0c;每年必不可少的&#xff0c;便是《西游记》这部经典电视连续剧的播出&#xff0c;作为一名90后&#xff0c;对于这部经典剧的情谊&#xff…

深度学习工具jupyter创建并检测pytorch环境以及安装工具包

1. 前言 确保已经安装Python和anaconda&#xff08;anaconda一般自带jupyter&#xff09;。然后创建一个jupyter环境&#xff0c;查看启动后的new有没有环境选项。 如果遇到了EnvironmentLocationNotFound:Not such a environment。说明conda环境安装位置有问题&#xff0c;往…

Raspberry Pi AI Kit——Hailo-8L安装记录(预告)

Hailo-8的测试见往期文章&#xff0c;最近树莓派发布了官方套件——Raspberry Pi AI Kit&#xff0c;其采用Hailo-8L&#xff0c;算力为13TOPS&#xff0c;是Hailo-8算力的一半&#xff0c;官网地址为 Raspberry Pi AI Kit安装 最近在进行Raspberry Pi AI Kit使用测试 !](htt…

建议收藏!100款宝藏级AIGC工具分享,70款ChatGPT插件惊艳的开发过程与宏大的商业化愿景

建议收藏&#xff01;100款宝藏级AIGC工具分享&#xff0c;70款ChatGPT插件惊艳的开发过程与宏大的商业化愿景。 不输ChatGPT&#xff1f;整理了100款AIGC神器&#xff0c;打工人速进。 说到AIGC工具&#xff0c;你还是只知道ChatGPT&#xff1f; 实际上&#xff0c;越来越多…

景联文科技实力入选「2024中国AI大模型产业图谱1.0版」!

近日&#xff0c;数据智能产业创新服务媒体数据猿联合上海大数据联盟共同发布《2024中国AI大模型产业图谱1.0版》&#xff0c;从大数据和人工智能等智能技术的核心出发&#xff0c;全面覆盖整个产业链&#xff0c;为行业提供更为精细且直观的专业导向。 景联文科技凭借高质量数…

小区业主管理系统

摘 要 随着城市化进程的加速和人口的不断增加&#xff0c;小区的数量也在不断增加。小区作为城市居民居住的主要场所&#xff0c;其管理工作也变得越来越重要。传统的小区业主管理方式存在诸多问题&#xff0c;如信息传递不畅、业务处理效率低下等。因此&#xff0c;开发一个高…

“明天下班以后请假了,孩子中考“

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 前几天约服务器…

轻轻一按,即可加速您的 Mac

一键智能清理 让你的 Mac 电脑焕然一新 CleanMyMac X 是一款专业的 Mac 电脑清理软件&#xff0c;支持一键扫描 Mac 磁盘垃圾&#xff0c;智能清理垃圾文件和系统语言安装包&#xff0c;快速释放磁盘空间&#xff0c;让你的 Mac 电脑焕然一新&#xff01; 智能扫描一键清理 Ma…

模板匹配算法:基于模板相关性匹配的手写数字识别

1 前言 得益于硬件技术的发展&#xff0c;基于深度学习的各种识别方法如火如荼&#xff0c;在各种应用场景中都取得很好的效果。本人入行深度学习领域若干年&#xff0c;做过很多项目的工程化评估&#xff0c;对于神经网络是如何工作的也解释不清楚&#xff0c;只是知道这样做是…