电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)

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节电池的特征数据。

)

下载官网界面

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第1张图片

数据:每一列为:循环索引:循环次数 :放电时间(秒) :4.15V时刻(秒) :恒定电流时间(秒) :3.6-3.4V递减时间(秒) :最大放电电压(伏特) :最小充电电压(伏特) :充电时间(秒); 总时间(秒); RUL:目标

开始位置

 电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第2张图片

截止位置 

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第3张图片 

或者也可以关注开源代码:https://github.com/ignavinuales/Battery_RUL_Prediction 去更多详细了解数据集

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第4张图片 

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第5张图片电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第6张图片 本次项目代码的主要流程

  1. 导入必要的库,包括NumPy、Pandas、Plotly、Seaborn等。
  2. 读取名为Battery_RUL.csv的数据文件并显示前几行数据。
  3. 为数据集添加一个名为Battery ID的新列,并将电池ID分配给每个数据点。
  4. 根据电池ID将数据分为训练集和测试集。
  5. 创建相关性矩阵,并绘制相关性热力图,用于了解传感器之间的相关性。
  6. 使用Pandas Profiling库查找传感器中的常数值列,并将其删除。
  7. 计算传感器之间的相关性矩阵,删除高相关性的特征。
  8. 列出训练集中的特征以及它们的缺失值数量。
  9. 绘制每个传感器随剩余使用寿命(RUL)的变化曲线。
  10. 创建一个函数backward_regression,用于进行后向逐步回归选择特征。
  11. 在训练数据上应用backward_regression函数,选择一组特征。
  12. 使用Min-Max标准化对特征进行预处理。
  13. 创建K最近邻回归模型(kNN),训练模型并计算性能指标。
  14. 创建支持向量机回归模型(SVM),训练模型并计算性能指标。
  15. 创建随机森林回归模型(Random Forest),训练模型并计算性能指标。
  16. 绘制实际值与预测值的散点图,并计算R-squared误差和均方根误差。
  17. 绘制测试数据的RUL随时间的变化曲线。
  18. 显示性能指标的数据框。

效果视频:电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释_哔哩哔哩_bilibili

效果图

KNN 模型:

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第7张图片

 SVM

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第8张图片 

RF 

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第9张图片 

电池寿命预测(Python代码,K最近邻回归模型(KNN)、支持向量机回归模型(SVM)和随机森林回归模型(Random Forest)三种模型,添加了中文注释)_第10张图片 

对代码感兴趣的,可以关注代码和数据集放在一起的压缩包,在最后一行

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/ZJ6WlZtr

你可能感兴趣的:(python,回归,支持向量机)