自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 随机森林2——集成学习的发展

本文系统介绍了机器学习中特征重要性和多种集成学习方法。特征重要性通过计算特征对预测结果的贡献程度,帮助优化模型,包括基于树模型的内置方法和线性模型系数两种计算方式。集成学习方法部分详细讲解了提升法(Boosting)及其代表性算法AdaBoost和梯度提升(Gradient Boosting)的工作原理,以及基于直方图的梯度提升(HistGradientBoosting)的优化技术。此外,还介绍了堆叠法(Stacking)和极限梯度提升(XGBoost)的实现原理和应用场景。

2025-08-23 16:50:52 576

原创 随机森林1

集成学习通过组合多个预测器(分类器或回归器)来提高预测准确率,即使单个预测器是弱学习器,集成后也能形成强学习器。主要包括硬投票(基于类别标签)和软投票(基于概率加权)两种方式。随机森林是典型的集成方法,通过数据随机采样(bagging/pasting)和特征随机采样增加多样性,降低方差。极端随机森林进一步引入随机分裂阈值,以更高偏差换取更低方差。实验表明,集成方法通常优于单一模型,关键参数需通过交叉验证优化。

2025-08-23 16:49:27 1007

原创 决 策 树

决策树是一种强大的机器学习算法,可用于分类和回归任务。其核心是通过递归分割数据,构建树状结构进行预测。决策树的优势在于无需数据预处理,计算复杂度低(预测仅需O(log2(m)))。算法使用基尼系数或熵衡量节点纯度,通过CART算法寻找最优分割特征和阈值。为避免过拟合,可通过max_depth、min_samples_split等参数进行正则化。决策树对数据方向敏感,可能产生高方差模型。在分类任务中,它通过信息增益选择最优分割特征;在回归任务中,则通过最小化MSE进行预测。

2025-08-22 11:13:25 699

原创 支持向量机

支持向量机(SVM)是一种强大的机器学习模型,适用于分类、回归和异常检测任务。其核心思想是通过寻找最优决策边界(超平面)来最大化不同类别之间的间隔。SVM包括线性分类(硬间隔和软间隔)和非线性分类(通过核函数映射到高维空间)。线性SVM对特征缩放敏感,且训练结果仅由支持向量决定。非线性SVM常用多项式核、RBF核和Sigmoid核等核函数处理复杂数据。SVM回归通过调整目标使样本尽可能落在边界内,并用超参数ε控制街道宽度。对偶问题和梯度下降方法可用于优化SVM的求解过程。

2025-08-22 11:11:17 611

原创 sklearn分类和评估分数选择

本文介绍了scikit-learn中分类任务的核心内容。第一部分概述了sklearn.datasets模块,包括内置数据集、远程数据集和生成数据集的方法。第二部分详细讲解了分类原理,包括二分类和多分类的实现方式,以及常用算法(如逻辑回归、SVM、随机森林等)的关键参数设置。第三部分重点阐述了分类评估指标的选择策略,针对不同场景(平衡/不平衡数据、二分类/多分类)推荐了合适的评估方法(准确率、F1-score、AUC等),并提供了指标计算公式和适用场景分析。全文系统性地介绍了从数据准备到模型评估的完整分类流程

2025-08-17 13:11:47 631

原创 端到端的机器学习项目

本文系统介绍了机器学习项目从数据准备到模型部署的全流程。主要内容包括:1)项目流程框架,涵盖数据获取、清洗、特征工程、模型训练、部署上线等关键环节;2)数据预处理技术,详细说明缺失值处理、异常值检测、特征转换等方法;3)模型开发过程,重点阐述分层采样策略、超参数调优(网格搜索与随机搜索)及评估方法;4)模型部署方案,介绍了使用pickle/joblib保存模型、FastAPI框架部署以及Docker容器化等实践方法。全文通过具体代码示例展示了各环节的技术实现,为机器学习项目提供了规范化实施指南。

2025-08-17 10:00:00 826

原创 处理过拟合与欠拟合

现象:难以捕捉特征和标签之间的真是关系,训练误差就很高结论:高偏差,学得太少,模型过于简单 → 训练集和测试集都表现的很差。

2025-08-15 08:45:26 513

原创 处理过拟合之前的——Logistic回归

Logistic回归是一种用于二分类问题的算法,通过Sigmoid函数将线性输出转换为概率。相比线性回归,它更适合分类任务,能输出0-1之间的概率值并确定决策边界。文章详细介绍了Logistic回归的核心思想、Sigmoid函数的作用、决策边界的原理与代码实现、损失函数的定义(交叉熵损失)及其数学推导,以及梯度下降优化过程。最后展示了如何使用scikit-learn库实现Logistic回归模型。该算法通过概率预测和决策边界有效解决了分类问题,避免了线性回归在分类任务中的局限性。

2025-08-15 08:00:00 714

原创 线性回归处理技巧

问题:为什么特征的大小尺度很不一样,会导致梯度下降算法变慢?为什么把特征缩放到同一个范围内,比如[-1,1],[0,1]会解决梯度下降算法变慢的问题?每一项都在为预测值贡献 “加权项”。如果x的取值范围比其他特征大很多(例如200,2000等),那么同样大小的权重会w会让这一项产生远超其他项的数值贡献这样就会导致预测值几乎由权重大的一项控制,梯度也会优先生长或压缩权重最大的 w,其余权重更新“存在感”微弱。以平方损失函数为例,若其中的一个特征项过大,损失值会急剧上升同理,根据。

2025-08-12 08:00:00 912

原创 多特征线性回归

上述实验的模型预测,10000迭代的时候预测的不太准确,损失值还是比较大,后面要讨论如何继续优化它(特征尺度不一致)b...+

2025-08-11 10:30:00 965

原创 单特征的线性回归

本文介绍了线性回归的基本原理与实现方法。首先通过简单的单变量线性回归示例,展示了模型预测线与实际数据的可视化对比。接着详细讲解了损失函数(均方误差MSE)的计算方法及其重要性,包括两种实现方式:循环和numpy数组计算。然后重点阐述了梯度下降算法,包括参数更新公式、学习率选择的影响以及代码实现。最后展示了如何使用梯度下降找到最优参数来拟合数据,并可视化拟合结果。整个流程涵盖了线性回归从理论基础到实践应用的关键环节,包括模型假设、损失函数构建、参数优化等核心步骤。

2025-08-11 09:00:00 824

原创 机器学习概念1

机器学习非常适合:1. 现有解决方案需要大量微调或一长串规则来解决的问题 (通过训练模型简化代码,而且比传统方法执行的更好)2. 使用传统方法无法解决的复杂问题,但机器学习技术可能可以找到解决方法 (识别图片里是否有行人;自动标出图片里行人出现的区域)3. 变化的环境(机器学习系统可以很容易地根据新数据重新训练,保持最新的状态)4. 定义明确的复杂问题(不是通过定义规则能解决的),且有大量数据。

2025-08-08 19:54:01 893

原创 机器学习概念2

机器学习面临数据质量、代表性不足、特征工程等技术挑战,以及过拟合/欠拟合等模型问题。需通过数据清洗、正则化、验证集评估等方法优化,但模型选择仍依赖经验假设,需平衡模型复杂度和泛化能力。数据不匹配时需针对性调整训练集,最终通过测试集验证模型性能。

2025-08-08 19:53:35 680 1

原创 pandas11(时间序列1)——日期和时间数据的类型及工具(strftime\strptime\trncate\groupby\dt属性)

本文介绍了时间序列数据处理的基本概念和Python工具。主要内容包括:时间序列的定义(固定频率或不定期)、日期时间数据类型(datetime模块使用)、字符串与datetime的相互转换方法(strftime/strptime)。重点讲解了pandas处理时间序列的核心操作:基础时间序列创建(DatetimeIndex)、数据索引选取(按年/月切片)、处理重复时间戳(groupby聚合)以及dt属性的灵活应用(提取日期组件、判断日期特征等)。文章还展示了如何利用pandas.to_datetime进行日期解

2025-07-22 16:12:13 529

原创 Pandas10——数据清洗可视化全过程例子

摘要:本文介绍了使用Python进行房价数据分析的全流程。首先从GitHub获取并解压数据集,使用pandas查看数据基本信息。然后通过直方图可视化数值分布,对缺失值进行填充处理。接着对收入数据进行分箱处理并可视化,同时绘制地理坐标散点图展现房价分布。最后对重尾特征进行对数转换。完整代码展示了数据获取、清洗、可视化和预处理的关键步骤,为后续建模分析奠定基础。

2025-07-09 10:56:16 401

原创 Pandas9(绘图)——使用pandas自带的plot属性之后的函数进行绘图

本文介绍了pandas内置的绘图方法,主要围绕DataFrame和Series的plot()方法展开。文章详细列举了plot()方法的常用参数,包括轴标签、标题、刻度、对数坐标等设置。通过示例代码展示了Series和DataFrame的基本线图绘制方法,以及如何创建包含多个子图的复杂图表。特别介绍了柱状图(bar和barh)的绘制技巧,包括垂直/水平柱状图、分组柱状图和堆叠柱状图的实现方式。文中提供了丰富的代码示例和可视化效果图,帮助读者快速掌握pandas数据可视化的基本操作。

2025-07-07 16:18:54 616

原创 Pandas8(可视化)——polt()\scatter()\bar()\hist()\pie()\boxplot()、子图、savefig()

Matplotlib是Python中重要的数据可视化库,主要用于数据探索和建模分析。摘要涵盖五个核心绘图函数:1) plot函数绘制折线图,支持颜色、线型和标记样式设置;2) scatter函数创建散点图,可调整点的大小、颜色和透明度;3) bar函数生成柱状图,控制柱体宽度、颜色和对齐方式;4) hist函数绘制直方图,配置区间划分和累积统计;5) pie函数制作饼图,自定义标签、百分比和突出显示。每种函数都详细列出关键参数及其作用,并附有基础使用示例代码和效果图

2025-07-07 16:17:15 999

原创 python的高级4——闭包、装饰器

本文介绍了Python中的闭包和装饰器概念。闭包是指内部函数引用外部函数变量的结构,具有保存状态和数据隐藏的作用。装饰器是闭包的特殊应用,通过接受函数作为参数并返回新函数来扩展功能,使用@语法简化调用。文章详细讲解了闭包和装饰器的特点、实现方式、常见应用场景及注意事项,并分析了两者关系:装饰器建立在闭包基础上,专门用于函数行为修改。最后介绍了内置装饰器如@property、@classmethod的使用方法。

2025-07-02 10:07:40 765

原创 Pandas7(数据规整)——层次化索引(创建\变换)、groupby、merge\join\concat

数据规整摘要 数据规整是数据分析中的核心环节,主要包括层次化索引、分组操作和数据集合并三部分内容。层次化索引允许在单个轴上创建多层索引,通过from_tuples/arrays/product等方法构建,并支持复杂的数据选择和排序操作。分组(groupby)功能可根据列值分类数据,进行聚合计算和自定义操作。数据集合并(merge)则实现了类似SQL的join操作,支持内连接、外连接等多种模式,并能处理重复列名问题。这些技术共同构成了高效数据清洗和预处理的基础工具。

2025-07-02 10:06:04 952

原创 Pandas4(数据读取)——StringIO,csv\html等文件读取, 与Web API交互

Pandas提供了全面的文件读写功能,支持CSV、JSON、Excel和SQL等多种格式。StringIO模块允许内存文件操作,适合临时数据处理。CSV读取支持分隔符、列类型、缺失值等参数设置;JSON可转换Python与Pandas数据结构。Excel操作包括多sheet读取和格式控制,推荐使用ExcelWriter自动保存。SQL支持通过SQLAlchemy连接多种数据库。每种格式都有丰富的参数配置,如编码、数据类型转换、行列选择等,满足不同数据处理需求,同时保持高效的内存管理

2025-07-01 08:13:22 972

原创 Pandas6(数据清洗2)——置换和随机采样、get_dummies、扩展数据类型、字符串处理函数

本文介绍了数据清洗中的四个关键操作: 置换和随机采样 - 使用permutation打乱数据顺序,sample进行随机抽样,支持有放回/无放回抽样和权重设置 分类编码 - get_dummies函数实现独热编码,将分类变量转为数值形式,支持前缀设置和缺失值处理 扩展数据类型 - 介绍Pandas的Int8Dtype、BooleanDtype等扩展类型,解决Numpy数据类型在缺失值处理等方面的问题 正则表达式 - 使用re模块进行字符串模式匹配、替换和拆分,compile方法可将正则表达式编译为可重用对象

2025-06-30 18:19:39 848

原创 Pandas5(数据清洗1)——缺失值处理、数据去重/转换/替换、离散化/分箱、检测和过滤异常值

本文主要介绍了Pandas数据清洗的核心方法,包括处理缺失数据、数据转换、重命名轴索引和离散化分箱。

2025-06-30 18:14:34 426

原创 Pandas3——排序和排名、统计函数

Pandas提供了多种数据排序和统计分析方法。排序方面包括sort_index()按索引排序、sort_values()按数值排序和rank()数据排名,支持多级索引、升降序、缺失值处理等参数配置。统计函数涵盖常用聚合运算(sum/mean/max等)、协方差cov()和相关系数corr()矩阵计算,以及分位数quantile()等专用方法。这些方法共享axis、skipna等通用参数,并各有特定参数如ddof调整标准差计算方式。灵活运用这些功能可以高效完成数据排序、排名和统计分析任务,其中特别需要注意缺失

2025-06-19 16:24:13 795

原创 Pandas2——索引对象(series\dataframe的索引操作),运算、apply\map函数

Pandas索引对象与数据运算概述 Pandas的索引对象是Series和DataFrame的核心组件

2025-06-19 15:37:26 750

原创 Pandas1——Pandas简介 \ 简单的Series\DataFrame属性和方法 \DataFrame的增删改查

Pandas 数据分析库摘要 Pandas 是 Python 中强大的数据分析库,提供两种核心数据结构:Series(一维带标签数组)和 DataFrame(二维表格)。两者都支持标签式索引和丰富的数据操作。

2025-06-17 17:23:35 800

原创 Numpy10——特殊矩阵,矩阵的运算性质,linalg,plt模块的介绍

总结了线性代数中常见的特殊矩阵类型、性质和矩阵分解方法,并介绍了NumPy线性代数模块的核心功能

2025-06-17 17:21:40 579

原创 Numpy9——投影矩阵、最小二乘法、奇异值分解

投影矩阵、最小二乘法、奇异值分解(图片压缩)

2025-06-16 15:07:13 813

原创 Numpy8——正交矩阵、特征值和特征向量、矩阵的对角化

介绍了正交矩阵和矩阵对角化的核心概念,展示如何使用NumPy验证正交矩阵性质、计算特征值/向量以及实现矩阵对角化应用

2025-06-16 08:26:55 776

原创 Numpy6——数学1(向量)

两个向量作为输入得到一个新的向量,得到的向量垂直于输入向量所构建的平面。(适用于三维空间,两个向量相乘得到一个向量):向量×向量,逐个元素相乘,再将相乘得到的结果进行相加,得到一个标量,满足交换律。向量的标量乘法:实数×向量,每个元素乘以实数,返回一个一维向量。在几何上表示两个向量的模相乘,再乘两个向量的夹角的cos值。本质:NumPy 的“向量”是 一维数组,没有行列区分。:向量的每个元素都相乘,最后返回一个一维向量。向量的加减法:逐个元素相加减。:两个向量相乘得到一个矩阵。表现形式:一维数组,

2025-06-10 16:53:08 994

原创 Numpy7——数学2(矩阵基础(矩阵的逆和行列式),线性方程基础)

矩阵基础—到—线性方程基础

2025-06-10 16:52:16 1059

原创 Numpy5——数组的扩充(相加、复制、广播)排序,形状调整

数组扩充,形状调整以及排序

2025-06-06 17:01:55 705

原创 Numpy4——结构化数组和Numpy文件

Numpy文件和结构化数组

2025-06-04 21:40:53 381

原创 Numpy3——通用函数、向量化、基础的统计计算

numpy的通用函数,向量化,统计计算函数

2025-06-04 16:51:08 604

原创 Numpy2——视图和副本、随机数(random伪)、切片和索引、数组的轴操作

视图和副本、索引和切片、数组的转置和轴对换、伪随机数

2025-06-03 18:48:51 873

原创 Numpy1——创建、数据类型、属性、和列表的差异

numpy数组的创建、类型说明、属性和列表的差异

2025-06-03 17:17:19 707

原创 python高级3——元类与动态类创建

Python元类(Metaclass)是用于创建类的类,作为Python的高级特性,它能够控制类的创建过程。默认元类是type,所有类都是type的实例。通过继承type并重写__new__、__init__等方法可以自定义元类,实现类属性的自动修改、子类注册、接口强制检查等功能。元类在ORM框架、插件系统中有广泛应用。 动态类则是在运行时创建的类,利用type()函数或types.new_class()实现。动态创建类可以灵活添加属性和方法,适用于需要根据运行条件决定类结构的场景。动态类展现了Python

2025-05-29 19:02:17 799

原创 python的高级2——函数作为对象

Python中函数作为变量的概念及其应用

2025-05-29 19:00:10 836

原创 递归函数,数学表达式转化成递归函数

什么时候使用递归

2025-05-27 18:41:18 881

原创 python函数的高级1——深拷贝+yeild

Python中的拷贝机制和生成器函数

2025-05-27 17:41:52 1017

原创 迭代器和生成器

Python中的迭代器和生成器机制

2025-05-26 18:10:51 671

空空如也

空空如也

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

TA关注的人

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