当前位置: 首页 > news >正文

多种滚动轴承诊断数据集(凯斯西储大学、辛辛那提大学、西安交通大学)故障诊断系统,一维时间序列分类和二维图像处理分类,采用多种模型进行对比实验

滚动轴承故障诊断数据集。故障诊断,预测、分类,轴承故障诊断需要数据支撑数据集,

1.CWRU西储大学轴承数据集2、辛辛那提IMS数据3.FEMTO-ST 轴承退化数据集4.哈工大航空发动机轴承数据集5.德国帕德博恩轴承数据集6.江南大学轴承数据集7.加拿大渥太华变转速工况轴承数据集8.华中科技大学齿轮箱数据集9.美国康涅狄格大学齿轮数据

使用Python和TensorFlow框架来构建这个系统,多种滚动轴承数据集(凯斯西储大学、辛辛那提大学、西安交通大学)故障诊断系统,一维时间序列分类和二维图像处理分类,采用多种模型进行对比实验

文章目录

  • 滚动轴承故障诊断数据集。故障诊断,预测、分类,轴承故障诊断需要数据支撑数据集,![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cf644cc02853488fb1ecadaffdf15332.png)
      • 1. 数据预处理
        • 一维时间序列数据预处理
        • 二维图像数据预处理
      • 2. 构建模型
        • 一维CNN模型示例
        • 二维CNN模型示例
      • 3. 训练模型
      • 4. 模型评估与可视化
      • 5. 多特征输入多特征输出

仅供参考

凯斯西储大学滚动轴承数据集、辛辛那提大学滚动轴承数据集、西交大轴承数据集各种滚动轴承数据集

一维、二维分类 python

1、一维时间序列卷积神经网络分类
cnn cnn-lstm(bilstm) cnn-XGboost KNN Adboost rf DNN VGG Resnet等
TCN、cnn-TCN等,并包含各种基础模型作为模型对比

2、二维图像处理分类,利用连续小波变换CWT、短时傅立叶变换、WVD、格拉姆角场(GAF)、马尔可夫变迁场(MTF)、递归图(RP)各个方法将一维转二维,数据预处理。

多种滚动轴承数据集(如凯斯西储大学、辛辛那提大学、西安交通大学等)的故障诊断系统,包括一维时间序列分类和二维图像处理分类,并采用多种模型进行对比实验,。使用Python和TensorFlow框架来构建这个系统。

1. 数据预处理

一维时间序列数据预处理

对于一维时间序列数据,首先需要加载数据并将其转换为适合输入到神经网络中的格式。这里以CWRU数据集为例:

importscipy.ioassioimportnumpyasnpfromsklearn.model_selectionimporttrain_test_splitdefload_data(file_path):mat=sio.loadmat(file_path)data=mat['variable_name']# 根据.mat文件结构调整变量名labels=mat['labels']# 假设.mat文件中包含标签信息returndata,labels data,labels=load_data('path_to_cwru_dataset.mat')X_train,X_val,y_train,y_val=train_test_split(data,labels,test_size=0.2,random_state=42)
二维图像数据预处理

利用连续小波变换(CWT)、短时傅立叶变换(STFT)等方法将一维信号转换为二维图像。

fromscipy.signalimportcwt,morletimportmatplotlib.pyplotaspltdeftime_series_to_image(data,method='cwt'):ifmethod=='cwt':widths=np.arange(1,31)cwtmatr=cwt(data,morlet,widths)returncwtmatrelifmethod=='stft':f,t,Zxx=signal.stft(data,fs=12000,nperseg=1024)returnnp.abs(Zxx)else:raiseValueError("Unsupported method")# 示例:将单个样本转换为图像image_data=time_series_to_image(X_train[0])plt.imshow(image_data,aspect='auto',cmap='jet')plt.show()

2. 构建模型

一维CNN模型示例
importtensorflowastffromtensorflow.kerasimportlayers,modelsdefbuild_1d_cnn(input_shape,num_classes):model=models.Sequential()model.add(layers.Conv1D(64,kernel_size=3,activation='relu',input_shape=input_shape))model.add(layers.MaxPooling1D(pool_size=2))model.add(layers.Flatten())model.add(layers.Dense(128,activation='relu'))model.add(layers.Dense(num_classes,activation='softmax'))model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])returnmodel input_shape=(X_train.shape[1],1)model=build_1d_cnn(input_shape,num_classes=10)
二维CNN模型示例
defbuild_2d_cnn(input_shape,num_classes):model=models.Sequential()model.add(layers.Conv2D(32,kernel_size=(3,3),activation='relu',input_shape=input_shape))model.add(layers.MaxPooling2D(pool_size=(2,2)))model.add(layers.Flatten())model.add(layers.Dense(128,activation='relu'))model.add(layers.Dense(num_classes,activation='softmax'))model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])returnmodel input_shape=(image_data.shape[0],image_data.shape[1],1)model=build_2d_cnn(input_shape,num_classes=10)

3. 训练模型

history=model.fit(np.expand_dims(X_train,axis=-1),tf.keras.utils.to_categorical(y_train),epochs=50,batch_size=32,validation_data=(np.expand_dims(X_val,axis=-1),tf.keras.utils.to_categorical(y_val)))

4. 模型评估与可视化

fromsklearn.metricsimportclassification_report,confusion_matriximportseabornassns y_pred=model.predict(np.expand_dims(X_val,axis=-1))print(classification_report(y_val,np.argmax(y_pred,axis=1)))cm=confusion_matrix(y_val,np.argmax(y_pred,axis=1))sns.heatmap(cm,annot=True,fmt='d')plt.show()# 使用t-SNE进行可视化fromsklearn.manifoldimportTSNE tsne=TSNE(n_components=2,verbose=1,perplexity=40,n_iter=300)tsne_results=tsne.fit_transform(model.layers[-2].output)plt.figure(figsize=(16,10))sns.scatterplot(x=tsne_results[:,0],y=tsne_results[:,1],hue=y_val,palette=sns.color_palette("hls",10),legend="full",alpha=0.3)plt.show()

5. 多特征输入多特征输出

可以使用Keras的Functional API来构建接受多个输入的模型:

input_a=layers.Input(shape=(input_shape_a))input_b=layers.Input(shape=(input_shape_b))x=layers.Dense(64,activation='relu')(input_a)x=layers.Dense(64,activation='relu')(x)x=models.Model(inputs=input_a,outputs=x)y=layers.Dense(64,activation='relu')(input_b)y=layers.Dense(64,activation='relu')(y)y=models.Model(inputs=input_b,outputs=y)combined=layers.concatenate([x.output,y.output])z=layers.Dense(64,activation='relu')(combined)z=layers.Dense(num_classes,activation='softmax')(z)model=models.Model(inputs=[x.input,y.input],outputs=z)model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])

一维时间序列分类和二维图像处理分类的方法。调整模型结构、数据预处理步骤以及评估指标

http://www.cnnetsun.cn/news/4320488.html

相关文章:

  • B站技术岗笔试复盘:前端、运维、后端与移动端核心考点解析
  • 《妃梦千年》第38章-归途之择
  • C 语言学习笔记(六)
  • 福瑞兽剧预告片制作全流程解析:从兽设建模到渲染合成
  • 【计算机毕业设计】基于深度学习的智能交通流量预测 Web 系统
  • 《易学・姤䷫|道影子新解 044》
  • 游戏NPC接入大语言模型为何难?从确定性、实时性到成本解析
  • QCA7000/7005 SPI驱动开发指南:MCU与电力线通信芯片的通信实现
  • GFS-VL:融合3D VLM稠密知识与少样本校准的点云分割
  • AI蜂群逃逸与多智能体系统安全:沙箱防护实践指南
  • 从单片机到ROS2:机器人嵌入式物联网自学路线全攻略
  • 从零训练二次元角色LoRA:Stable Diffusion角色一致性实战全流程
  • 八电HOLOLIVE vs 八门P5X:WS练习局触发轴与资源节奏拆解
  • Hypermesh 2024前处理实战:网格划分、质量检查与节点显示问题
  • ESP8266 与 ESP-01S 到底是什么?从 Wi-Fi SoC 到串口联网模块,新手一篇快速看懂
  • Luckysheet集成实践:从zip解压到Excel转JSON的全流程指南
  • LVGL 9.0移植到STM32F746G-DISCO与性能基准测试实战
  • 用 Scrapy 爬取百家姓与姓氏源流数据:多源采集、数据清洗与结构化存储实战
  • 直播录像处理实战:FFmpeg转码切片与批量归档全流程
  • 266美元+四个AI模型,一天打造AI小镇应用:开源项目实战
  • 阿里编程题4星刷题体验:从算法建模到树状数组的实战解析
  • 【设计模式精讲】5.工厂方法(Factory Method)
  • S7-1200 MODBUS轮询库V15:多从站通信高效封装方案
  • YOLOv8农田作物倒伏识别系统:从环境搭建到部署实战解析
  • 2026 Agentic AI 智能体:让 AI 从“聊天“走向“自己干活“(MonkeyCode 实战)
  • OpenRouter 排障指南:API 网关原理、常见报错与 Claude Code 接入
  • 基于LSTM+CNN的光伏发电功率预测系统实战解析
  • Claude Code控制机械臂:从仿真到真机的安全实践
  • 专业的AI基座机构
  • 从字幕到Anki卡片:构建英语学习自动化流水线