1.数据集来源:可以在这里找到公共数据集:BatteryArchive.org 从HNEI来源中选择了14个数据库。.csv文件数据是来自名为'HNEI_18650_NMC_LCO_25C_0-100_0.5/1.5C_'的时间序列。(
夏威夷自然能源研究所研究了14节NMC-LCO 18650电池,其标称容量为2.8安时,这些电池在25°C下以C/2充电速率和1.5C放电速率进行了1000次循环充放电。
基于这个源数据集,我创建了展示每个循环中电压和电流行为的特征。这些特征可以用于预测电池的剩余可用寿命(RUL)。数据集包含了这14节电池的特征数据。
)
下载官网界面
数据:每一列为:循环索引:循环次数 :放电时间(秒) :4.15V时刻(秒) :恒定电流时间(秒) :3.6-3.4V递减时间(秒) :最大放电电压(伏特) :最小充电电压(伏特) :充电时间(秒); 总时间(秒); RUL:目标
开始位置
截止位置
或者也可以关注开源代码:https://github.com/ignavinuales/Battery_RUL_Prediction 去更多详细了解数据集
本次项目代码的主要流程
导入必要的库,包括NumPy、Pandas、Plotly、Seaborn等。
读取名为Battery_RUL.csv的数据文件并显示前几行数据。
为数据集添加一个名为Battery ID的新列,并将电池ID分配给每个数据点。
根据电池ID将数据分为训练集和测试集。
创建相关性矩阵,并绘制相关性热力图,用于了解传感器之间的相关性。
使用Pandas Profiling库查找传感器中的常数值列,并将其删除。
计算传感器之间的相关性矩阵,删除高相关性的特征。
列出训练集中的特征以及它们的缺失值数量。
绘制每个传感器随剩余使用寿命(RUL)的变化曲线。
创建一个函数backward_regression,用于进行后向逐步回归选择特征。
在训练数据上应用backward_regression函数,选择一组特征。
使用Min-Max标准化对特征进行预处理。
创建K最近邻回归模型(kNN),训练模型并计算性能指标。
创建支持向量机回归模型(SVM),训练模型并计算性能指标。
创建随机森林回归模型(Random Forest),训练模型并计算性能指标。
绘制实际值与预测值的散点图,并计算R-squared误差和均方根误差。
绘制测试数据的RUL随时间的变化曲线。
显示性能指标的数据框。
效果视频:电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释_哔哩哔哩_bilibili
效果图
KNN 模型:
SVM
RF
对代码感兴趣的
import numpy as np
import pandas as pd
from IPython.display import display, HTML
import plotly.graph_objects as go
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.io as pio
import seaborn as sns
from importlib import reload
import matplotlib.pyplot as plt
import matplotlib
import warnings
#压缩包:https://mbd.pub/o/bread/mbd-ZZWWmplx