自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南城以北的博客

学好Python,走遍天下都不怕

  • 博客(189)
  • 收藏
  • 关注

原创 指针和引用的区别

指针可以是空值(nullptr),表示指针不指向任何有效的内存地址,指针在声明时可以不初始化。引用不能为空值,在声明时必须初始化,并且始终指向一个有效的对象。多个指针变量可以指向同一个变量的内存地址。一个变量可以有多个引用,但一个引用只能引用一个变量,引用了就不能变。指针可以在运行时重新赋值,使其指向不同的对象。引用在绑定后不能改变绑定的对象。引用使用起来相较于指针更安全。

2024-04-15 18:15:07 464

原创 生成器、迭代器、装饰器

send() 可以和 next() 一样用来生成值(即调用 send() 时会从生成器对象中生成值),还可以往生成器内部传递数据,会把数据传递给 yield 前面的变量;装饰器本质上是一个函数,它可以接收一个函数作为参数,并返回一个新的函数。生成器是 Python 中一种特殊的迭代器,它不需要一次性将所有值都生成出来,而是可以在需要时逐个生成值,从而节省内存空间,生成器在处理大量数据或需要延迟生成的数据时非常有用。方法的类,它可以像函数一样被调用,并且可以接受一个函数作为参数,返回一个新的函数。

2024-04-15 16:17:30 703

原创 __init__.py 的作用

初始化包:__ init __.py 文件可以包含初始化代码,当包被导入时,这些代码会被执行。指示包含该文件的目录是一个 Python 包:当 Python 导入一个包时,会查找该包所在目录下是否包含 __ init __.py 文件,如果存在,则将该目录视为一个包。方便包的管理:__ init __.py 文件可以包含一些与包相关的元数据信息,或者提供一些方便包使用者的接口。控制包的导入行为:通过在 __ init __.py 文件中定义 __ all __ 变量,可以控制在使用。

2024-03-25 14:11:28 538

原创 最小二乘法

在普通最小二乘法中,所有数据点的残差平方和被视为同等重要,而在加权最小二乘法中,可以根据实际情况为每个数据点赋予适当的权重。通常情况下,权重是根据数据点的方差或其他可靠度指标来确定的,较可靠的数据点会被赋予较高的权重,而较不可靠的数据点会被赋予较低的权重。其中,y 是因变量,x 是自变量,β0 和 β1 是待估计的回归系数,ε 是误差项。偏最小二乘法的优点在于可以减少自变量的维度,降低共线性对回归系数估计的影响,同时考虑到自变量和因变量之间的相关性,因此在一些复杂的数据分析问题中具有很好的表现。

2024-03-14 11:22:41 1001

原创 机器学习-思维导图

2024-02-20 11:12:54 297

原创 特征选择

一个数据集中的特征数过多,一方面会增加模型的复杂度,另一方也会引入更多的噪声数据,使模型更容易学到噪声,增大发生过拟合的风险。所以变量(特征)过多时,需要从原始特征中选择出一些最有效的特征以降低数据维度,从而减少模型复杂度,并有效提高模型性能。特征选择是机器学习和数据挖掘中的一个重要步骤,目的是从原始特征集合中选择出最具有预测能力和解释性的特征子集。

2024-01-29 15:47:41 941

原创 样本均衡

SMOTE(Synthetic Minority Over-sampling Technique)过采样的核心在于生成样本,即在少数类样本之间进行插值(线性插值)来产生额外的样本,进而补充那些数据量少的样本,使得不同标签的样本量达到均衡。SMOTE+ENN 是过采样与欠采样相结合的方法,SMOTE 算法的缺点是生成的少数类样本容易与周围的多数类样本产生重叠并难以分类,而数据清洗技术恰好可以处理掉重叠样本。NearMiss 算法的基本思想是选择多数类样本中与少数类样本最接近的样本,从而减少多数类样本的数量。

2024-01-29 11:54:10 944

原创 数据变换

举例来说,假设我们有一个包含房屋价格的数据集,通常情况下,房屋价格是右偏分布的,即大部分房价集中在较低的范围内,但存在少量极高的房价。傅里叶变换将一个复杂的时域信号拆解成若干个简单的频域信号,每个频域信号都对应着输入信号中不同的频率成分,并给出了该频率成分的权重和相位信息。异方差性(Heteroscedasticity)是指在回归分析中,随着自变量的变化,因变量的方差不是常数,而是具有一定的变化趋势。因为回归模型的基本假设之一是误差项的方差是恒定的,如果出现异方差性,那么这个假设就不再成立了。

2024-01-29 11:01:21 627

原创 算法模型的评估指标

R2。

2024-01-26 15:54:07 742

原创 KNN 回归

它的基本思想是通过找到与给定测试样本最近的 K 个训练样本,并使用它们的输出值来预测测试样本的输出。这一算法对于有很多特征(几百或更多)的数据集往往效果不好,对于大多数特征的大多数取值都为 0 的数据集(所谓的稀疏数据集)来说,这一算法的效果尤其不好。K 近邻回归算法的基本思想就是,在给定一个新的数据点,它的输出值由其 K 个最近邻数据点的输出值的平均值(或加权平均值)来预测。的取值范围在 0 到 1 之间,越接近 1 表示模型对数据的拟合越好,即模型能够解释更多的因变量的方差。为实际观测值的均值。

2024-01-04 15:08:55 553

原创 KNN 分类(选择最佳的 K 值,并可视化模型精度与 n_neighbors 的关系)

【代码】KNN 分类(选择最佳的 K 值,并可视化模型精度与 n_neighbors 的关系)

2024-01-04 13:58:58 627

原创 使用 sklearn 构建机器学习算法模型的完整流程

【代码】使用 sklearn 构建机器学习算法模型的完整流程。

2024-01-03 19:47:49 358

原创 可视化训练数据

【代码】可视化训练数据。

2024-01-03 13:59:32 340

原创 进程

进程是动态的,而进程实体(进程映像)是静态的,可以理解成进程实体是进程在运行过程中的一个快照。因此,上述进程的组成更准确的说是进程实体(进程映像)的组成。如果我们同时打开三个 QQ 聊天软件,则会对于三个 QQ 进程,它们的 PCB、数据段各不相同,但程序段的内容都是相同的(都运行着相同的 QQ 程序)。进程控制的主要作用是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。PCB 是给操作系统用的,而程序段和数据段是给进程自己用的,与进程自身的运行逻辑有关。

2023-12-28 17:52:10 906

原创 机器学习概述(一)

此外,当数据中存在异常值时,斯皮尔曼相关系数的计算结果会更加稳健。斯皮尔曼相关系数(spearman correlation coefficient),衡量两个变量之间的单调关系强度的非参数统计指标,取值范围为 [-1, 1],-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。皮尔逊相关系数( pearson correlation coefficient),衡量了两个变量(特征)之间的线性相关程度,取值范围为 [-1, 1],-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。

2023-12-27 17:55:45 1205

原创 SVM —— 代码实现

SMO 算法的实现步骤:代码如下:为什么要使用核技巧呢?假设二维平面上存在若干点,其中点集 A 服从 {x,y∣x2+y2=1}\left \{x, y|x^2 + y^2 = 1 \right \}{x,y∣x2+y2=1},点集 B 服从 {x,y∣x2+y2=9}\left \{x, y|x^2 + y^2 = 9 \right \}{x,y∣x2+y2=9},它们在平面上的分布如下图所示:蓝色为点集 A,红色为点集 B,它们在二维平面中并不线性可分。如果采用映射的方法,将 (x,y)→(x,y,x

2023-12-22 16:45:34 1782 2

原创 SVM —— 理论推导

SVM支持向量线性可分最大间隔超平面最大间隔超平面的推导支持向量分类间隔的推导最优化问题对偶问题拉格朗日乘子法强对偶性SVM 优化软间隔解决问题优化目标及求解核函数线性不可分核函数的作用常见核函数SVM 算法优缺点支持向量机(Support Vector Machine,SVM)是一种常用的监督学习算法,主要用于分类和回归任务。它的核心思想是找到一个最优的超平面或者曲面,将不同类别的样本点分开。在二分类问题中,SVM 试图找到一个超平面来将两个类别的样本点分隔开,并使得两个类别距离超平面的最小间隔最大化

2023-12-19 20:28:36 1302

原创 Logistic 回归算法

θ。

2023-12-15 17:00:28 1186

原创 朴素贝叶斯

朴素贝叶斯算法是一种基于贝叶斯定理的有监督的机器学习算法,解决的是分类问题,如文本分类、垃圾邮件过滤、客户是否流失,是否值得投资、信用等级评定等领域,并在实际应用中表现出良好的性能。该算法简单易懂,学习效率高,在某些领域的分类问题中能够与决策树、神经网络等算法相媲美。但由于该算法以自变量之间的独立(假设特征之间相互独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。总体来说,朴素贝叶斯算法简单易懂,计算效率高,对小规模的数据集表现良好,但在处理特征之间相关性较强的情况下可能表现不佳。

2023-12-05 16:20:05 122

原创 决策树算法

决策树(Decision Tree)是一种常用的机器学习算法,它通过对数据集进行分割来实现分类或回归。决策树的基本思想是,将数据集分成许多小的子集,直到每个子集都变成纯的单一类别或满足某个停止条件。决策树由节点和边组成,其中节点分为两种类型:内部节点和叶子节点。内部节点表示一个特征或属性,边表示该特征的取值。叶子节点表示一个类别或数值。决策树从根节点开始,沿着每个节点的边逐步向下,直到达到叶子节点,然后根据叶子节点的类别或数值进行预测。构建决策树的过程可以分为两个阶段:树的生成和树的剪枝。

2023-11-30 10:40:37 115 1

原创 K 最近邻算法

K 最近邻(K-NearestNeighbor,KNN)算法,是 1967 年由 Cover T 和 Hart P 提出的一种用于分类与回归的方法。基本原理:存在一个带标签的数据集(也称为训练集),数据集中的每一个样本与所属标签一一对应。当输入新的不带标签的样本数据(预测数据)时,新的样本数据的每个特征会与训练集中每个样本的对应特征进行相似度计算,最后提取与预测样本最相似的训练样本的标签。一般而言,我们会选择训练集中前 K 个最相似的样本数据,这就是 K 最近邻算法。

2023-11-27 15:48:44 161

原创 回归算法优化过程推导

它的基本思想是通过迭代的方式,沿着目标函数的负梯度方向逐步更新参数,以逐渐接近最优解。其中,工资和年龄是模型构建时的两个特征,额度是模型输出的目标值。一个常规的思路是,我们喂给机器一堆数据,然后告诉它该用什么样的方式学习,并让它朝着这个方向去做(目标/损失函数),每一次学习一点,经过多次迭代优化后,最终收敛至一个稳定的状态。,也许是一个比较难的事,但如果能把乘法转换成加法,对于参数的求解可能就容易了许多。其中,在各个样本都符合独立同分布的情况下,联合概率密度就等于各样本概率密度的乘积,因此这里用了累乘。

2023-11-22 19:22:30 666

原创 线性回归

简单地说,Lasso 可以自动地从所有的特征中找出对目标变量最重要的特征,并将其它特征的系数缩小或压缩为零,从而实现模型的稀疏性。线性模型的另一个优点在于,利用我们之间见过的用于回归和分类的公式,理解如何进行预测是相对比较容易的。alpha 值变小,我们可以拟合一个更复杂的模型,但如果把 alpha 设得太小,那么就会消除正则化的效果,并出现过拟合,得到与 LinearRegression 类似的结果。通过引入正则化项,岭回归可以在最小化残差平方和的同时,限制参数的大小,从而降低了过拟合的风险。

2023-11-16 11:09:12 91

原创 批量更改文件名称

【代码】批量更改文件名称。

2023-11-15 16:30:37 58

原创 Dockerfile

Docker 与操作系统中的文件管理子系统有关;统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。一个镜像可以放在另一个镜像的上面,位于下面的镜像称为父镜像,最底部的镜像称为基础镜像。只读镜像不能修改,而容器可以;当从一个镜像启动容器时,Docker 会在最顶层加载一个读写文件系统作为容器。Docker 镜像如何制作:容器转为镜像Dockerfile。

2023-11-14 16:44:56 456

原创 利用SSH将本地仓库文件推送至远程仓库(GitHub)

复制公钥,粘贴到自己的 GitHub 上。具体来说,打开 GitHub 设置中的 SSH and GPG keys 选项,然后添加新的 SSH key,将公钥的内容粘贴进去即可。.ssh 目录存放在用户主目录下,里面存放了。两个文件,它们是 SSH key 的秘钥对。填写自己的邮箱,无需设置密码,一路回车即可。是私钥,不能轻易泄露,是公钥,可以让他人知道。

2023-11-09 14:34:51 409

原创 Ubuntu鼠标右键显示新建文档

在 ubuntu 系统中,有时想新建一个文档,但单击右键却发现没有新建文档的选项,该如何操作呢?完成上述操作后,再单击右键便可看到新建文档的选项了。

2023-11-09 11:29:08 257

原创 virtualenv虚拟环境

virtualenv是一个用于创建Python虚拟环境的工具,它可以在一台机器上同时运行多个互不干扰的Python环境,每个虚拟环境都有自己的Python解释器和包库,可以独立安装所需的Python包和依赖项。

2023-10-31 17:09:41 188

原创 Ubuntu更换镜像源

产生上述问题的根源,可能是由于镜像源设置的不正确,也就是说设置的镜像源跟Ubuntu的系统版本不匹配;设置与系统版本相匹配的镜像源即可解决该问题。Ubuntu有不同的系统版本,对于不同的版本而言,需要设置的镜像源也略有差异。

2023-10-31 13:54:34 897

原创 Docker容器的应用部署

搜索mysql镜像拉取mysql镜像创建容器,设置端口映射、目录映射。

2023-10-27 17:06:32 143

原创 Docker容器的数据卷

数据卷容器:创建一个容器,挂载一个目录,让其他容器继承自该容器(–volume-from)创建并启动c1、c2容器,使用–volumes-from参数来设置数据卷。创建并启动c3数据卷容器,使用-v参数来设置数据卷。创建并启动容器时,使用-v参数来设置数据卷。

2023-10-25 10:58:11 81

原创 Docker命令

Docker是一个开源的应用容器引擎。Docker诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名为Docker Inc)。Docker可以让开发者将他们的应用和依赖包打包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。Docker容器完全使用沙箱机制,每一个容器都是相互隔离的,互不影响。Docker容器的性能开销极低。

2023-10-25 09:30:06 74

原创 函数高级

在C++中,函数可以有占位参数,顾名思义其可以用来占位,调用函数时必须填补该位置。默认参数只能放在参数列表的最后,即默认参数后面不能再有可变参数。如果函数声明有默认值,则函数实现的时候就不能有默认参数。注意:函数的返回值类型不可以作为函数重载的条件。作用:函数名可以相同,从而提高程序的复用性。在C++中,函数的形参是可以有默认值的。占位参数也可以有默认参数。

2023-10-10 16:20:06 73

原创 引用

C++推荐引用技术,因为语法方便;引用的本质就是指针常量,但是所有的指针操作编译器都帮我们做了。通过引用传递产生的效果同地址传递是一样的,引用的语法更清楚简单。引用的本质:在C++的内部实现中,引用实际上就是一个指针常量。作用:函数传参时,可以利用引用的技术让形参修饰实参。作用:常量引用主要用来修饰形参,防止误操作。作用:引用是可以作为函数的返回值存在的。在函数的形参列表中,可以加上关键字。来修饰形参,以防止形参改变实参。注意:不要返回局部变量的引用。优点:可以简化指针修改实参。

2023-10-10 08:55:27 70

原创 程序的内存模型

使用不同区域来存放不同的数据,能够赋予它们不同的生命周期,使得编程更加灵活。

2023-10-09 14:48:09 77

原创 Ubuntu设置SSH

则表示还未安装SSH。的内容则表示成功启动。

2023-10-08 16:24:18 332

原创 Pytorch源码编译Libtorch

新建 libtorch 目录,将 pytorch/torch/include 目录复制到 libtorch 目录下,将 build/lib 目录复制到 libtorch 目录下。文件,该文件中记录了子模块的存储路径和下载地址。打开文件后修改子模块的。如果不能通过 HTTPS 方式更新子模块,可以通过。下载 Pytorch,可通过。都修改好后,依次执行。

2023-09-21 11:03:01 477 1

原创 结构体

struct 结构体名 {结构体成员列表};// 自定义student类型int age;int score;return 0;struct 结构体名 变量名;struct 结构体名 变量名 = {成员1, 成员2, …};定义结构体时,同时创建变量// 自定义student类型int age;int score;// 创建student结构体的变量s1,此处的struct关键字可以省略s1.name = "张三";// 通过 "." 来访问结构体变量中的属性。

2023-09-20 16:02:03 109 2

原创 Ubuntu处理依赖问题

【代码】Ubuntu处理依赖问题。

2023-09-15 16:30:45 796

原创 虚拟机下载与Ubuntu安装

可以直接访问 Ubuntu 官网进行下载,但由于服务器在国外,下载速度会非常慢,推荐使用国内的一些镜像网站进行下载。这里以清华大学的镜像网站为例。

2023-09-14 17:39:03 286

Matplotlib 绘制图表

Matplotlib 绘制图表

2023-02-06

空空如也

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

TA关注的人

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