- 数据集:CRWU数据集
- 框架:pytorch torch-geometric
一、数据集
CWRU轴承数据集采集实验台由1.5kW的电机、驱动端轴承、风扇端轴承、扭矩传感器、测功机、加速度传感器和电子控制器组成。待检测的轴承支撑着电动机的转轴,驱动端轴承型号为SKF6205,风扇端轴承型号为SKF6203,本文中使用驱动端轴承数据集。通过电火花加工模拟轴承的多种健康状况,电动机风扇端和驱动端的轴承座上方各放置一个加速度传感器用来采集故障轴承的振动加速度信号。振动信号通过16通道的数据记录仪采集得到,采样频率为12kHz,功率和转速通过扭矩传感器测得。
采样率12K的部分数据
二、KNN-GCN
在图神经网络中,合理的构图方式有助于模型理解图数据中的特征,KNN(K-Nearest Neighbors)构图是一种常用的方法,用于从数据中构建图结构。KNN构图方式通过找到每个节点在特征空间中最接近的K个邻居节点,并以这些邻居节点为连接边,构造出图结构。这种方法特别适用于处理非结构化数据,将其转化为图结构,以便应用GNN模型。
KNN构图的基本步骤:
- 特征提取:首先从原始数据中提取特征。这些特征可以是向量表示,例如图像的像素值、文本的词向量等。
- 计算距离:在特征空间中计算每个节点之间的距离。常用的距离度量方法有欧氏距离、余弦相似度等。
- 选择邻居:对于每个节点,选择距离最近的K个邻居节点。这些邻居节点将作为该节点的连接边。
- 构建图结构:根据选定的邻居节点,为每个节点创建边,从而构造出图结构。图的邻接矩阵可以用于表示这种连接关系。
图卷积网络(Graph Convolutional Network, GCN)是一种应用于图数据的深度学习模型,能够在图结构数据上进行节点分类、链接预测等任务。GCN通过将卷积操作推广到图结构上,从而能够在节点特征和图拓扑结构的基础上进行信息的聚合和传播。GCN的核心思想是通过图卷积操作聚合节点的邻居信息,从而更新每个节点的表示。具体来说,GCN的每一层的操作可以表示为:
三、模型预测效果
四、代码获取
感兴趣的朋友可以关注最后一行
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
import time # 记载训练时间
import warnings
from sklearn import metrics
from pytorch_lightning import seed_everything
# 设置全局字体及大小,设置公式字体
config = {
"font.family":'serif', # 衬线字体
"font.size": 12, # 相当于小四大小
"mathtext.fontset":'stix', # matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大
"font.serif": ['SimSun'], # 宋体SimSun
"axes.unicode_minus": False, # 用来正常显示负号
"xtick.direction":'in', # 横坐标轴的刻度设置向内(in)或向外(out)
"ytick.direction":'in', # 纵坐标轴的刻度设置向内(in)或向外(out)
}
plt.rcParams.update(config)
warnings.filterwarnings("ignore") # 忽略警告
seed_everything(0)
## https://mbd.pub/o/bread/mbd-ZpmUmZZs
标签:KNN,轴承,GCN,故障诊断,import,数据,节点
From: https://blog.csdn.net/2401_86544683/article/details/140824914