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

基于NASA C-MAPSS数据的剩余机械寿命RUL预测,Python代码(添加了非常详细中文注释),线性回归LR、支持向量回归SVR、随机森林回归RF、xgboost模型

1.运行效果:基于NASA C-MAPSS数据的剩余机械寿命RUL预测,Python代码(添加了非常详细中文注释),线性回归LR、支持向量回归SVR、随机森林回归RF、xgb_哔哩哔哩_bilibili

2.环境库

如果库版本不一样, 一般也可以运行,这里展示我运行时候的库版本,是为了防止你万一在你的电脑上面运行不了,可以按照我的库版本进行安装并运行

2.1项目文件夹

CMaps是数据集

code.py是四个程序的代码

show.py是显示目前你电脑的库环境,容易让你知道你的库版本是多少

show.py的如下

import pandas as pd import numpy as np import matplotlib as plt import seaborn as sns from sklearn.ensemble import RandomForestRegressor import sklearn from sklearn.metrics import mean_squared_error, r2_score import os from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler import random import warnings # 打印库的版本信息 print("pandas 版本:", pd.__version__) print("numpy 版本:", np.__version__) print("matplotlib 版本:", plt.__version__) print("seaborn 版本:", sns.__version__) print("scikit-learn 版本:", sklearn.__version__)

2.2.数据来源(NASA数据集) https://www.nasa.gov/intelligent-systems-division

数据文件夹

数据介绍:

当前基于机器学习的剩余寿命预测方法的研究异常火爆,其中C-MAPSS数据集在该领域的使用非常广泛,为了方便各位同仁的学习和理解,借此文章向大家简单介绍一下。
1)首先说明,C-MAPSS数据集为模拟数据。这是由于航空发动机的构造复杂,其气路变化复杂多变;并且航空发动机的运行数据通常作为各个航空公司的保密数据,一般不易获取。因此由NASA使用Commercial Modular Aero-Propulsion System Simulation软件生成了该套数据集,其目的是结合发动机的运行特点,来测试不同的模型性能。
2)NASA提出的涡扇引擎退化监测数据集(C-MPASS)的结构简图如下所示。主要构件包含风扇、低压压气机(LPC)、高压压气机(HPC)、燃烧室、高压涡轮(HPT)、低压涡轮(LPT)及其喷管。


其子数据集共四个,每个子类都有不同数量的工况条件和故障状态。C-MAPSS数据如下图所示

当前的论文研究中,主要以单工况、单故障状态的FD001数据集为主(笔者认为该数据集相对简单,相比于多工况数据,不需要额外的数据处理)。以FD001为例,其进一步分为训练和测试子集,其包含1种故障状态和1种工况。训练集Train_FD001.txt收录了100台保持全寿命循环状态的发动机参数信息;测试集Test_FD001.txt收录了100台非全寿命循环状态的发动机参数信息,即仅包含发动机故障前某个时间终止的多个传感器数据,根据给定的运行参数对每台发动机的RUL进行实时的预测;RUL_FD001.txt中收录了测试集中100台发动机的RUL真实值。每台发动机的参数信息包含3种工作状况监测参数(飞行高度,马赫数,油门杆角度)和21个性能监测参数,其24个传感器监测参数如下图所示。

3.整体代码的流程

  1. 导入所需的库:

    • 导入各种数据处理、可视化和机器学习库,如pandas、numpy、matplotlib、seaborn、sklearn等。
  2. 读取训练集和测试集数据:

    • 使用pd.read_csv函数读取训练集和测试集数据,分别存储在dftraindfvalid中。
  3. 数据探索:

    • 对训练数据进行探索性数据分析,包括查看数据形状、统计信息、缺失值等信息。
    • 可视化展示发动机寿命(Remaining Useful Life)的分布情况。
    • 创建传感器信号字典,以便后续使用。
    • 绘制传感器信号的趋势图和箱线图。
  4. 特征工程:

    • 添加剩余寿命(RUL)列到训练数据。
    • 使用MinMaxScaler对特征数据进行归一化处理。
    • 创建新的特征数据集X_train、X_test、X_valid,并删除不需要的列。
  5. 模型训练与评估:

    • 实例化线性回归模型(Linear_Regression),并使用训练数据拟合模型,然后预测并评估模型性能。
    • 实例化支持向量回归模型(SVR),并使用训练数据拟合模型,然后预测并评估模型性能。
    • 实例化随机森林回归模型(RandomForestRegressor),并使用训练数据拟合模型,然后预测并评估模型性能。
    • 使用XGBoost回归模型进行训练和评估。
  6. 最后,绘制真实数据和预测数据的对比图,并输出模型性能评估的指标。

4.效果

4.1.原始数据可视化(通过对原始数据可视化,可以更清楚了解数据的一些特征,原始数据(因为有21个传感器)可视化图太多,这里挑选一些代表性的进行展示

模型预测效果

LR模型:
train set RMSE:56.19869318681088, R2:0.3439361345919162
test set RMSE:54.264009074691856, R2:0.35713062175493715
valid set RMSE:34.84962228223509, R2:0.2967064952591343

SVR模型:
train set RMSE:43.56448464126648, R2:0.605761670162996
test set RMSE:47.26718449996112, R2:0.5122262167433573
valid set RMSE:34.84962228223509, R2:0.2967064952591343

随机森林模型RF:
train set RMSE:15.408303170220156, R2:0.9506822432050425
test set RMSE:44.36383009860364, R2:0.5703082128383993
valid set RMSE:30.653618024631285, R2:0.45586841183607596

xgboost模型:
train set RMSE:44.409935462338545, R2:0.5903113156901276
test set RMSE:44.40636796196491, R2:0.5694838055038836
valid set RMSE:22.744005816098603, R2:0.7004465186237991

对项目感兴趣的,可以关注最下方一行

import pandas as pd import numpy as np import matplotlib as plt import seaborn as sns from sklearn.ensemble import RandomForestRegressor import sklearn from sklearn.metrics import mean_squared_error, r2_score import os from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler import random import warnings #数据集和代码的压缩包:https://mbd.pub/o/bread/ZZWUmZlw
http://www.jsqmd.com/news/264284/

相关文章:

  • 国内外免费降ai率工具有哪些?这10个神器不花一分钱降AI,堪称论文必备,建议收藏!
  • n8n革命性更新:AI对话秒建工作流,实测效果颠覆认知!
  • 利用动态时间规整(DTW)技术实现对机械寿命预测(基于NASA C-MAPSS数据的剩余使用寿命RUL预测,Python代码,DTW不属于深度学习,但预测效果更容易被解释)
  • 小麦病害数据集(yolo使用)
  • 解锁 React 开发新体验!Puck - 智能可视化编辑器
  • 【RAG】22-RAG评估的挑战与未来方向:当前问题及未来发展趋势
  • AI论文改写工具Top 8:降重与创作功能详细对比
  • 自由基与抗氧化
  • 推导
  • 强烈安利!研究生必用TOP10 AI论文软件测评
  • 【计算机毕业设计案例】基于python的卷神经网络识别是否有火焰基于python-CNN深度学习识别是否有火焰
  • 高等数学-定积分(变限积分)
  • 【计算机毕业设计案例】基于python-CNN深度学习卷神经网络图像识别相似的中药材
  • 【计算机毕业设计案例】机器学习基于python-CNN深度学习识别狗脸
  • 基于AI的学术论文自动化:7个平台提供LaTeX与格式规范支持
  • 学术写作AI工具精选:7个网站实现LaTeX与格式自动化
  • 8大AI论文生成平台测评:改写降重与高效写作方案
  • tarjan进阶
  • 7大AI论文生成工具:专业学术格式与LaTeX兼容性指南
  • 论文自动化生成资源:7个AI平台支持LaTeX及学术规范
  • C# 使用HttpClient的一些总结
  • 7款AI工具整合LaTeX与格式标准化,提升智能化学术写作效率
  • Luogu P14975 [USACO26JAN1] COW Splits B [ 绿 ] [ Ad-hoc ] [ 构造 ] [ 分类讨论 ]
  • 智能化学术写作:7款AI工具集成LaTeX与格式标准化
  • Wpf使用CefSharp浏览器组件使用的一些总结
  • 计算机深度学习毕设实战-基于卷神经网络python-CNN深度学习识别狗脸
  • 烟雨江湖 杜梵一人分饰两角
  • 深度学习毕设选题推荐:基于python-CNN人工智能深度学习识别狗脸
  • 智能论文生成解决方案:7个网站满足学术格式与LaTeX需求
  • 【毕业设计】基于机器学习python-CNN深度学习图像识别相似的中药材