news 2026/4/28 5:31:16

基于SHAP可解释性AI的支持向量机和K近邻工业轴承故障诊断特征贡献分析(Python,jupyter nootbook文件)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于SHAP可解释性AI的支持向量机和K近邻工业轴承故障诊断特征贡献分析(Python,jupyter nootbook文件)

首先加载包含23个时域和频域特征的模拟振动数据集,这些特征模拟了真实轴承在健康、内圈故障、外圈故障和滚动体故障等不同状态下的振动特性。算法通过t-SNE降维技术可视化高维特征空间的数据分布,展示不同故障类型在二维空间的聚类情况。接着,算法构建并优化两个分类模型——支持向量机(SVM)和K近邻(kNN),采用网格搜索交叉验证方法分别寻找最优的超参数组合(如SVM的核函数与正则化参数C,kNN的邻居数K),确保模型在训练集上达到最佳分类性能。然后,算法利用SHAP(Shapley Additive exPlanations)可解释性框架,通过核解释器计算每个特征对模型预测的贡献值,从合作博弈论的角度量化各特征在故障分类决策中的重要性。最后,算法生成两类可视化结果:一是SHAP特征重要性汇总图,以点云分布形式展示每个特征值大小与SHAP值的关系;二是特征重要性条形图,按平均绝对SHAP值排序显示前10个关键特征,从而直观揭示SVM和kNN模型在不同故障类别分类决策中依赖的核心特征及其影响方向。

详细算法步骤

数据准备与特征选择:加载模拟轴承振动数据集,从中提取23个预先定义的时域和频域特征作为模型输入,这些特征包括偏度、峭度、形状因子等关键诊断指标,对应文献中所述的轴承故障敏感特征。

数据可视化与探索:对标准化后的特征数据应用t-SNE降维算法,将高维特征空间映射到二维平面,生成散点图以观察不同故障类型(健康、内圈故障、外圈故障、滚动体故障)的数据分布与聚类情况,初步评估特征的可分性。

分类模型构建与训练:分别建立支持向量机(SVM)和K近邻(kNN)分类模型,采用流水线方式整合数据标准化与分类器。使用网格搜索结合5折交叉验证,在训练集上优化SVM的核函数类型、正则化参数C以及kNN的邻居数K,以准确率为评价指标选择最优超参数组合。

模型可解释性分析:利用SHAP(Shapley加性解释)框架,基于合作博弈论原理,通过核解释器分别计算SVM和kNN模型中每个特征对各类别预测结果的贡献值(SHAP值)。SHAP值量化了特征对单个样本预测结果相对于基线(平均预测)的影响大小与方向。

特征重要性可视化:生成两类可视化图表:一是SHAP汇总图,用散点展示每个样本的特征值(颜色)与对应SHAP值(水平位置)的关系,揭示特征如何影响各类别的预测概率;二是特征重要性条形图,按平均绝对SHAP值排序展示前10个最重要的特征,直观比较不同特征对SVM和kNN模型决策的总体贡献程度。

诊断结果解读与应用:基于SHAP分析结果,识别对轴承故障分类最具判别力的关键特征(如偏度、形状因子等),解释这些特征在物理意义上如何反映不同故障类型的振动特性,从而为工业现场轴承状态监测提供可解释的故障诊断依据,并指导特征工程的优化方向。

参考文章:

基于SHAP可解释性AI的支持向量机和K近邻工业轴承故障诊断特征贡献分析(Python,jupyter nootbook文件) - 哥廷根数学学派的文章
https://zhuanlan.zhihu.com/p/1998401433163294662

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 9:42:17

C++课后习题训练记录Day79

1.练习项目: 问题描述 Bob 和 Alice 最近在学习博弈论,为了学以致用,他们找来了一大堆的小饼干,并通过博弈的方式来吃掉这些小饼干。他们将找来的小饼干分成 𝑛 堆,每堆小饼干有 𝑎&#x1d4…

作者头像 李华
网站建设 2026/4/27 18:50:40

工程化思维破解协同与锁死难题:Java企业的AI集成新思路

在AI技术深度渗透企业业务的今天,Java技术团队普遍面临一个核心难题:不同大模型各有专精——有的擅长数据分析,有的精通代码生成,有的适配多模态交互,但如何让这些“专精选手”协同作战,同时避免被单一厂商…

作者头像 李华
网站建设 2026/4/26 11:15:49

Vue2 的数据响应式原理给实例新增响应式属性

Vue2 响应式原理的案例 <template><div id"app"><div>用户名&#xff1a;{{ user.name }}</div><div>年龄&#xff1a;{{ user.age }}</div> <button click"addAgeDirectly">直接添加年龄&#xff08;无响应式&…

作者头像 李华
网站建设 2026/4/26 11:15:12

轰炸敌人,最多可以摧毁的敌人城堡数目

我的解法&#xff1a; 对于每一个空位置&#xff0c;进行一次bfs&#xff0c;从上下左右四个方向去寻找&#xff0c;这是岛屿问题的相似处理&#xff0c;但是这个题可以优化&#xff0c;因为横竖方向可以进行动规优化。 我们不需要对每个 0 都重新数一遍它所在的行和列有多少敌…

作者头像 李华
网站建设 2026/4/26 11:16:19

微信小程序 == rsa加解密工具

wxmp-rsa 1、简介 前端rsa加解密工具。 基于jsencrypt修改扩展功能。兼容小程序环境&#xff0c;压缩后60kb左右的大小&#xff0c;节省小程序空间。支持超长文本加解密。支持中文字符的加解密。 仓库地址 https://github.com/jiayc4215/wxmp-rsa2、安装 npm i wxmp-rsa …

作者头像 李华