自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 机器学习:欠拟合、过拟合、偏差方差超全详解

机器学习本质是让模型学习输入与输出之间的内在规律,这个学习过程就叫拟合。我们最终追求的目标:模型学到数据真实通用规律,而不是记住训练样本的随机噪声,在未知新数据上表现稳定,也就是泛化能力强。拟合分为三种状态:欠拟合、适度拟合、过拟合。模型表达能力不足,复杂度低于数据本身的规律复杂度,连训练数据集的基础特征规律都无法学习捕捉。通俗理解:学生智商不够,基础知识点都学不懂,练习题、考试全做错。

2026-07-08 13:20:10 68

原创 机器学习:XGBoost极致详细原理讲解|从GBDT到XGBoost、损失函数、分裂准则、正则、工程优化全解析

XGBoost全称Extreme Gradient Boosting,极端梯度提升算法,由陈天奇博士设计并开源,是梯度提升树(GBDT)的工业化增强版本。在机器学习竞赛、工业结构化数据建模领域长期占据主流地位,适用任务包含:数值回归、二分类、多分类、排序任务、异常故障识别、电池SOH/内阻预测、时序拟合等。传统GBDT存在诸多天然缺陷:仅使用一阶导数优化目标、无显式正则项极易过拟合、节点分裂遍历全量特征速度慢、缺失值需要人工填充、无底层工程加速优化。

2026-06-30 14:38:26 389

原创 动力电池:安时积分电流漂移 超清晰原理、影响、解决方案

所有金属电阻都存在电阻温度系数TCR,单位ppm/℃,代表温度每变化1℃,阻值变化百万分之几。普通贴片电阻TCR:±200500ppm/℃;高精度锰铜分流器TCR:±1050ppm/℃。温度升高/降低,RshuntR_{shunt}Rshunt​阻值同步变大/变小,直接带来系统性偏移。安时积分电流漂移本质是采样回路存在固定直流偏置,分流采样电阻温漂是最主要来源:温度变化改变分流电阻实际阻值,造成电流采样零点、比例系数双重偏移,生成恒定ΔI。

2026-06-29 20:31:26 120

原创 动力电池LFP磷酸铁锂 vs NCM三元锂 深度特性对比

当前车载、储能两大主流电芯体系为磷酸铁锂LFP、镍钴锰三元NCM。市面上多数内容面向普通车主,本文面向BMS算法、电池标定、电控、热管理研发工程师,从电化学底层机理、晶体结构、电气特性、建模辨识、SOC/SOH算法、老化机理、析锂/副反应、阻抗谱EIS、热失控、一致性、保护策略、量产工程痛点全方位拆解对比,全部落地开发场景,通俗易懂无冗余科普。NCM三元:OCV线性度优、低温电化学动力学好、电荷转移阻抗低、SOC易估算、建模辨识收敛稳定;

2026-06-29 15:51:03 363

原创 参数辨识:最小二乘法通俗讲解及在二阶RC中的应用(小白友好版)

二阶RC等效电路是BMS行业应用最广的电池模型,一共包含5个待辨识参数:欧姆内阻R0R_0R0​、极化电阻R1R2R_1、R_2R1​R2​、时间常数τ1τ2τ1​τ2​。我们通过HPPC脉冲试验采集电流、电压数据,利用各类最小二乘算法完成参数求解。核心思想:让模型仿真输出电压无限贴近实测电压,使所有采样点电压误差的平方总和最小。二阶RC原始电压方程包含指数衰减项,属于非线性方程,无法直接用于线性类辨识算法,必须先做差分线性变换。UtUo。

2026-06-25 13:20:59 316

原创 卡尔曼滤波方法原理大全(KF、EKF、UKF、AEKF)

xSOCU1U2TxSOC​U1​​U2​​TSOCSOCSOC:电池荷电状态,核心估算量U1U_1U1​:快速活化极化电压U2U_2U2​:慢速浓差极化电压外部输入:充放电采样电流III;观测值:电芯电压传感器实测电压UmeasU_{meas}Umeas​✅优点:计算量极小、代码极简、嵌入式MCU零算力压力、线性场景估计最优❌缺点:仅适配纯线性系统,完全无法适配锂电池SOC估算。

2026-06-25 11:25:51 222

原创 动力电池二阶RC等效电路模型及EKF:原理、公式推导

本文全面解析了动力电池二阶RC等效电路模型,这是当前新能源汽车和储能系统BMS(电池管理系统)中最主流的建模方案。文章从电化学机理出发,详细阐述了二阶RC模型的电路拓扑、各元件物理意义,并完整推导了连续时间域的状态空间方程和离散化差分方程。重点介绍了模型参数辨识的两种工业方法(HPPC脉冲实验离线辨识和在线递推辨识),以及该模型在BMS高精度SOC估算、电池故障诊断、SOH健康状态评估、整车仿真和充电控制优化等五大工程场景中的全链路应用。最后总结了二阶RC模型的优势与局限性,并展望了行业优化方向。

2026-06-23 16:46:00 407

原创 ollama使用安装方法

Ollama安装指南摘要: 下载方式: 官网下载:https://ollama.com/download GitHub releases获取最新版本 Windows用户可直接下载安装包 安装步骤: Windows/macOS用户运行安装包按提示完成 支持命令行安装轻量模型 特色功能: 提供免费的大语言模型支持 可通过简单命令快速部署模型 注:安装前请确认系统兼容性,建议从官方渠道获取安装包以保证安全性。

2026-04-28 15:55:10 96

原创 python处理大数据的库

vaexpypi: pypi.org/project/vaex/vaex官方网站: vaex.io/docs/index.html

2022-12-08 19:36:22 523

原创 第一列有0时存成csv0消失的解决方法

df[带零列]=’\t’+df[带零列]

2022-11-25 10:50:57 1159 1

原创 python3:中文转拼音

import pipinyinpypinyin.pinyin('汉语', style=pypinyin.NORMAL)

2021-08-07 18:22:03 358

原创 2021-06-22

从事嵌入式开发的一些主流职位,大家可以根据自己喜好入座。1.单片机工程师/嵌入式工程师2.Linux系统开发工程师3.Linux应用工程师4.安卓系统开发工程师这4个职位,前2个是偏向于硬件驱动层,后2个是偏向应用层。ARM + Linux/Android开发据统计,全世界99%的智能手机和平板电脑都采用ARM架构。所有的iPhone和iPad都使用ARM的芯片,多数Kindle电子阅读器和Android设备也都采用这一架构。大部分领先的网络/电信制造商正积极地将其下一代平台迁移到ARM平

2021-06-23 15:58:12 314

原创 python3:使用bat一键打开指定文件夹下的jupyter notebook

新建一个.bat文件,在里面写入如下代码:d:#代码所在的盘D盘cd programme#programme是代码所在的路径,切换到这个路径下面jupyter notebook因为我的ipynb文件存储在D:\programme中,我想把D:\programme作为jupyter的工作根目录,所以前两行表示把当前目录切换为D:\programme...

2021-04-04 08:25:00 417

原创 python:根据文件大小删除文件

import os path = r'./data_out/'+ filename +'.xlsx' s = round(os.path.getsize(path)/float(1024),2) if s<10.0:#如果文件小于10KB os.remove(path)#则删除该文件

2021-02-24 09:21:02 972

原创 Python3:Dataframe对比两列元素是否完全相同及获取一个excel的所有sheetname

Dataframe对比两列元素是否完全相同。一一对比df[col].equals(df['a'])==True**加粗样式**#说明两列完全相同统计Dataframe某列值的种类及对应数量:df['a'].value_counts()#统计a列值的种类及每种对应的数量获取一个excel的所有sheetname:xl = pd.ExcelFile( path + f + hzm )#获取一个excel的所有sheetnamefor i in xl.sheet_names: print(i)

2021-02-19 09:21:07 2436

原创 python3:离线安装第三方库的方法

首先去官网下载到要安装的包(.whl)结尾的文档。注意电脑的版本是32位还是64,下载对应的文档将下载的包放到C盘下打开cmd命令。输入 pip install xxxx.whl --user,回车即可

2021-02-17 18:56:03 1057 1

原创 python:日期转换计算大全

from datetime import datetimea = '2019'b = '6'c = '26'if __name__ == '__main__': cur_day = datetime(int(a), int(b), int(c)) next_day = datetime(2019, 7, 31) print((next_day - cur_day).days) # 1 print("ok")

2021-02-01 15:01:28 198

原创 Python3:pyinstaller安装及环境配置(将.py打包成.exe)

打开CMD命令:python -m pip install pyinstaller --user#安装pyinstaller然后配置系统变量:找到pyinstaller.exe所在的路径:C:\Users\DuanPT\AppData\Roaming\Python\Python36\Scripts将这个路径添加到系统变量中的path中。系统变量在“我的电脑-属性-高级系统设置”中查找Pyinstaller使用方法举例:打开CMD命令:C:\Users>D:#切换到D盘D:&gt

2021-01-18 20:01:27 5907

原创 Python3:遇到的报错解决方法大全(持续更新)

今天运行下面这个代码def loadDataSet(): return [[1,3,4],[2,3,5],[1,2,3,5],[2,5],[1],[3],[2,3],[1,3],[1,2,3,4],[2,4]]报了这个错误:SyntaxError: invalid syntax File "<ipython-input-14-332fa655c8dd>", l...

2020-12-22 15:32:47 17132 3

原创 python3:Python内置函数

eval():把一个字符串变成一个可用于计算的值,比如:我想合并df1和df2两个数据框,eval(‘df1’).to_excel()等价于df1.to_excel,for i in ['df1','df2']: eval(i).to_excel(excel_writer=writer,sheet_name=i,index=False)writer.save()writer.close()zip():返回一个元组的迭代器。x = [1, 2, 3]y = [4, 5, 6.

2020-11-18 19:00:41 230

原创 python3: Jupyter Notebook 安装目录插件

Jupyter Notebook 安装目录插件打开CMD命令:1、用pip的时候注意控制超时,否则报错!pip install --default-timeout=1000 jupyter_contrib_nbextensions2、jupyter contrib nbextension install --user --skip-running-check3、前两个步骤都没报错后,启动 Jupyter Notebook,upload打开nbextensions所在文件4、点击nbexte

2020-11-14 08:29:00 2052 1

原创 机器学习:特征编码

1. 特征编码的必要性当拿到的数据比较脏乱,带有各种非数字特殊符号,如中文。而实际上机器学习模型需要的数据是数字型的,因为只有数字类型才能进行计算。因此,对于各种特殊的特征值,都需要对其进行相应的编码,也是量化的过程。2. 特征编码的类型2.1 分类型特征的编码方式对于分类型数据的编码,通常会使用两种方式来实现,分别是:one-hot encoding 和 label-encoding。下面我们先介绍一下这两种编码2.1.1 one-hot encoding独热编码one-hot encodin

2020-10-19 19:50:29 2467 1

原创 Python3:官方文档的链接

numpyhttps://www.numpy.org.cn/article/pandashttps://pandas.pydata.org/

2020-10-02 09:29:58 285

原创 Python3:字符串、list、字典、set、tuple的所有方法

中文官方文档链接1. Numpy是什么NumPy是一个功能强大的Python库,允许更高级的数据操作和数学计算。NumPy主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编写代码方面)和快速(在速度方面)计算。NumP

2020-09-16 21:54:57 280

转载 python3:直接赋值、浅拷贝、深拷贝的区别

转载自文章:http://blog.csdn.net/m0_38008539/article/details/95201503直接赋值相当于引用(别名),其父对象和子对象均指向指向同一个对象,所以a和b及里面的子列表,a与b任何一个改变都会随着改变。即直接赋值,无论做什么修改都会随着改变浅拷贝:a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用).所以如果不是子列表再改变那么b不会随a变,只有a里面的子对象发生了改变b才会随着改变,可以看出,copy仅拷贝对象本身,不对其中的子对象

2020-09-14 23:45:56 324

原创 Python3:Tkinter图形化界面GUI——滚动抽奖器的实现

tkinter导入导入 tkinter 会自动导入 tkinter.constants ,所以,要使用 Tkinter 通常你只需要一条简单的 import 语句:import tkinter或者from tkinter import *滚动文字控件:tkinter.scrolledtexttkinter.scrolledtext 模块提供一个同名的类,实现了一个带有垂直滚动条的文字控件。使用 ScrolledText 类会比直接配置一个文本控件和滚动条简单。它的构造函数与 tkinter.Text

2020-09-14 23:10:54 1429

原创 conda安装jupyter的方法及jupyter notebook在线交互编辑器的打开方法

Anaconda3安装好后,下面就有Spyder和Jupyter notebook,spyder可以直接打开用,打开Jupyter notebook,可以看到里面有两个网址,在浏览器中输入任何一个进入就可以了打开后的界面是这样的:点击上面的new,就可以编写自己的代码了,跑出的结果要及时保存下来,否在可能下次再进入就没有了。开心,琢磨了半小时才会打开,记得收藏网址哦,不然下次还要手动进入...

2020-09-09 23:48:22 1167

原创 Excel_VBA:VBA中的数据类型及变量声明方法

编写VBA代码时,需要指定数据类型。1. VBA中有哪些数据类型字节型 Byte :保存0~255的整数布尔型 Boolean:保存逻辑判断的结果True 或False整数型 Integer长整数型 Long不同的数据类型告诉Excel应该以什么形式保存它2. 变量声明Dim 变量名 As 数据类型:作用域为本过程,即在哪个过程里声明的哪个过程才可以使用。Public 变量名 As 数据类型:若用Public声明变量类型,则变量被声明为公共变量。作用域为所有模块,即所有模块的里的过

2020-09-09 08:17:09 2708

转载 Python3:np.linalg.norm()求范数

函数参数:x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)X:表示矩阵ord:范数类型ord=None:默认情况下,是求整体的矩阵元素平方和,再开根号(图中的ord=2按下面文字描述的为准)ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根(matlab在线版,计算ans=ATA,[x,y]=eig(ans),sqrt(y),x是特征向量,y是特征值)③axis:处理类型axis=1表示按行向量处理

2020-09-06 21:42:57 717

原创 Python3:生成词云图的代码

#可实现的代码#生成词云图代码,图片背景必须为纯白色或透明色import wordcloudimport numpy as npfrom PIL import Imageimport matplotlib.pyplot as pltdef show(obj): img = Image.open(r"D:\Users\DUANPT\Desktop\k.jpg") bg=np.array(img) wc=wordcloud.WordCloud( 'C:\Wi

2020-08-31 22:57:50 897

原创 Python3:pandas中的移动窗口函数rolling的用法

1.rolling.count()rolling.count():窗口内任何非NaN观测值的滚动计数。import pandas as pdimport numpy as nps = pd.Series([2, 3, np.nan, 10,3,4,6,9])s1 = s.rolling(4).count()print(s1)[OUT]:0 1.01 2.02 2.03 3.04 3.05 3.06 4.07 4.0dtype:

2020-08-16 15:50:30 12932

原创 Python3:Pandas中的Input和Output的函数解析

官方文档1. flat file1.1 pandas.read_tablepandas.read_table(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None,

2020-08-16 14:55:45 1880

原创 python3:Pandas库中的DataFrame中所有函数解读 - 中文官方文档解析

数据结构还包含标记的轴(行和列)。 算术运算在行和列标签上对齐。 可以看作是Series对象的类似dict的容器。语法结构:pandas.DataFrame(data=None, index: Optional[Collection] = None, columns: Optional[Collection] = None, dtype: Optional[Union[str, numpy.dtype, ExtensionDtype]] = None, copy: bool = False)param

2020-07-31 17:13:08 1276

原创 Python3:按某列ID合并两个Excel的数据(python实现)

按某列ID合并两个Excel的数据,首先两个excel中要有相同的一列值,才能将这两个表合并起来,合并代码如下:# -*- coding: utf-8 -*-"""Created on Fri Jul 17 16:50:20 2020"""#按行匹配两个excel中的数据,以左边的表为基准import pandas as pddatainfo1 = pd.read_excel(r'D:\Users\DUANPT\Desktop\datainfo1.xlsx')ort = pd.read_e

2020-07-17 17:13:40 5441

原创 Python3:list取并集、交集、补集(差集)的方法

list1与list2取两个list的交集:#第一种方法a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print(tmp)#第二种方法,a与b可以换位置print(list(set(b).intersection(set(a))))[out]:[2,5]取两个list的并集:#a与b位置可互换a=[2,3,4,5] b=[2,5,8] print(list(set(a).union(set(b))

2020-07-14 20:07:08 1578

原创 机器学习:Kernel PCA核主成分分析

1. kernel PCA 概述核主成分分析(Kernelized PCA,KPCA)利用核技巧将d维线性不可分的输入空间映射到线性可分的高维特征空间中,然后对特征空间进行PCA降维,将维度降到d′ 维,并利用核技巧简化计算。也就是一个**先升维后降维【数据先通过核函数(kernel function)转换成一个新空间,也就是升维过程,然后再用PCA进行降维处理】**的过程,这里的维度满足d′<d<D线性降维方法假设从高维空间到低维空间的函数映射是线性的,然而在有些时候,高维空间是线性不可

2020-07-12 17:59:02 8980

原创 机器学习:均值漂移(Mean Shift)详细解释

1. 均值漂移的基本概念Mean Shift算法和k-means相似,都是一个迭代的过程,即先算出当前点的偏移均值,将该点移动到该偏移均值,以此为新的起始点,继续移动,直到满足最终的条件。(1)设想在一个有N个样本点的特征空间,初始确定一个中心点center;(2)计算在设置的半径为D的圆形空间内所有的点(xi)与中心点center的向量;(3)计算整个圆形空间内所有向量的平均值,得到一个偏移均值(4)将中心点center移动到偏移均值位置;(5)重复移动,直到满足一定条件结束。2. 均值漂

2020-07-05 11:13:43 30642 3

原创 机器学习:流形学习Manifold Learning之LLE(局部线性嵌入)

流形学习被认为属于非线性降维的一个分支。1. 基本概念流形(manifold)是一般的几何对象的总称。比如人,有中国人、美国人等等;流形就包括各种维数的曲线曲面等。和一般的降维分析一样,流形学习把一组在高维空间中的数据在低维空间中重新表示。和以往方法不同的是,在流形学习中有一个假设,就是所处理的数据采样于一个潜在的流形上,或是说对于这组数据存在一个潜在的流形。不同的方法,对于流形性质的要求各不相同,这也就产生了在流形假设下的各种不同性质的假设,比如在Laplacian Eigenmaps(这是个啥?

2020-07-05 09:20:35 2722

原创 机器学习:数据预处理之正则化

机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作L1-norm 和 L2 -norm,中文称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。下图是Python中Lasso回归的损失函数,式中加号后面一项α∣∣w∣∣1, 即为L1正则化项一般

2020-06-28 23:38:49 1509

原创 机器学习:特征提取之LDA

1. LDA的基本思想LDA基本思想:给定带有标签的训练样本集,设法将样本投影到一条直线上,使得同类样本的投影点尽可能近,异类样本的投影点尽可能远。如果是进行分类,将新样本投影到同样的这条直线上,根据投影点的位置来确定新样本的类别。将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性举个例子,上图给出了两种不同的投影方式,直观上来看右图更好。因为右图中蓝色和红色数据较为集中

2020-06-25 19:09:25 5336

【电池管理系统】基于二阶RC等效电路模型的SOC实时估计算法设计

内容概要:本文档介绍了一种基于二阶RC等效电路模型的电池SOC(荷电状态)实时估算方法,并提供了相应的Python实现代码。该方法利用扩展卡尔曼滤波(EKF)对电池的动态行为进行建模,结合HPPC实验获取的参数以及充放电OCV-SOC数据,构建了精确的电压估算模型。代码实现了数据预处理、参数插值、EKF预测与更新、SOC估算、二阶RC ECM等功能,能够有效还原电池在实际工况下的端电压变化趋势; 适合人群:具备Python编程基础、熟悉电池管理系统(BMS)或电化学模型的研究人员及工程师,尤其适用于从事电池状态估计算法开发的技术人员。; 使用场景及目标:①用于电池SOC估算算法的研发与验证;②可应用于新能源汽车、储能系统等领域中的电池性能建模与状态预测。; 阅读建议:此资源侧重于算法工程实现,建议读者结合电池等效电路理论和EKF原理进行深入理解,在实践中调试参数并对比实测数据以优化估算精度。

2026-06-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除