当前位置: 首页> 文旅> 艺术 > SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用

SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用

时间:2025/7/13 2:39:16来源:https://blog.csdn.net/qq_40949048/article/details/142352871 浏览次数:0次

 往期精彩内容:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理

Python轴承故障诊断入门教学-CSDN博客

Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客

Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客

Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型-CSDN博客

轴承故障全家桶更新 | 基于时频图像的分类算法-CSDN博客

Python轴承故障诊断 (16)高创新故障识别模型(二)-CSDN博客

Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型_pytorch使用tcn网络进行故障诊断 csdn-CSDN博客

独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客

Python轴承故障诊断 (18)基于CNN-TCN-Attention的创新诊断模型-CSDN博客

Python轴承故障诊断 (20)高创新故障识别模型(三)-CSDN博客

注意力魔改 | 超强轴承故障诊断模型!-CSDN博客

Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型-CSDN博客

基于k-NN + GCN的轴承故障诊断模型-CSDN博客

独家首发 | 基于 KAN、KAN卷积的轴承故障诊断模型-CSDN博客

故障诊断 | 创新模型更新:基于SSA-CNN-Transformer诊断模型-CSDN博客

Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型-CSDN博客

1DCNN-2DResNet并行故障诊断模型-CSDN博客

前言

本文基于凯斯西储大学(CWRU)轴承数据,使用特征提取机器学习方法进行故障识,然后基于XGBoos模型介绍一种参数搜索策略,并通过SHAP模型可视化技术对结果进行分析。凯斯西储大学轴承数据的详细介绍可以参考下文:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理_cwru数据集-CSDN博客

可视化结果图:

十分类混淆矩阵

全局特征重要性图:

十分类 ROC曲线和AUC值:

标签真实值和预测值对比:

1 数据集和特征提取

1.1 数据集导入

参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

数据的读取形式以及预处理思路

1.2 故障信号特征提取

选择峭度、熵值、分形值、波形指标、频谱指标、频域指标、 统计特征、振动特征等13种指标来捕捉轴承信号的多尺度特征,作为机器学习模型的训练与识别。

2 基于参数搜索策略的XGBoost故障诊断模型

2.1 参数搜索策略:大步粗略搜索,小步细致搜索

对于XGBoost模型的重要参数:树的棵树、树的深度、学习率,采取大范围粗略搜索,先锁定大概的参数范围值,然后再采用小步细致搜索来准确定位参数值。

2.2 大步粗略搜索

采用网格搜索,确认大概的参数范围值

图片

2.3 小步细致搜索

第一步,搜索树的棵树

第二步,搜索树的深度

第三步,搜索学习率

3 XGBoost模型评估和可视化

3.1 模型分数、准确率、精确率、召回率、F1 Score

3.2 故障十分类混淆矩阵

3.3 SHAP 模型可视化

SHAP(SHapley Additive exPlanations)是一种用于解释机器学习模型预测结果的方法。用于衡量每个特征对于模型输出的贡献程度。通过计算SHAP值,我们可以了解每个特征对于模型预测的影响,从而更好地理解模型的分类预测过程。这种可解释性对于提高模型的可信度和可解释性非常有帮助。能够进一步分析故障信号所提取特征对轴承故障诊断的贡献。

平均值(SHAP值)(对模型输出大小的平均影响),可以明显的看出来13个特征对每个类别的分类贡献度!

代码、数据集如下:

对数据集和代码感兴趣的,可以关注最后一行

# 加载数据
import torch
from joblib import dump, load
import torch.utils.data as Data
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
# 参数与配置
torch.manual_seed(100)  # 设置随机种子,以使实验结果具有可重复性
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")#代码和数据集:https://mbd.pub/o/bread/ZZqbmphr

图片

关键字:SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: