自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DAY41 CNN

可以看到即使在深度神经网络情况下,准确率仍旧较差,这是因为特征没有被有效提取----真正重要的是特征的提取和加工过程。MLP把所有的像素全部展平了(这是全局的信息),无法布置到局部的信息,所以引入了卷积神经网络。(在之前的复试班已经交代清楚了,如果不清楚什么是卷积神经网络,请自行学习下相关概念)复试班的计算机视觉部分的讲义卷积层是特征提取器,池化层是特征压缩器。他们二者都是在做下采样操作。注意点:机器视觉不是计算机视觉。

2025-06-02 23:49:13 586

原创 DAY40 训练和测试

本文介绍了图像数据处理的规范写法,重点对比了与结构化数据处理的差异:1)模型定义时需要展平图像;2)大数据集需分批处理并使用Dataset和DataLoader。通过MNIST数据集示例,展示了完整流程:数据预处理(ToTensor和Normalize)、模型定义(MLP网络)、训练函数封装(记录每个iteration的损失)和性能评估。文章特别强调了规范写法的优势:参数易修改、代码可复用,并指出未来优化方向(早停策略需引入验证集)。代码实现了单批次损失跟踪和准确率统计功能,为后续多模型对比奠定了基础。

2025-06-01 23:16:53 873

原创 【无标题】

从这里开始我们进入到了图像数据相关的部分,也是默认你有之前复试班计算机视觉相关的知识,但是一些基础的概念我仍然会提。昨天我们介绍了minist这个经典的手写数据集,作为图像数据,相较于结构化数据(表格数据)他的特点在于他每个样本的的形状并不是(特征数,),而是(宽,高,通道数)# 先继续之前的代码from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具。

2025-05-31 22:54:55 844

原创 DAY38 Dataset DataLoader

在遇到大规模数据集时,显存常常无法一次性存储所有数据,所以需要使用分批训练的方法。为此,PyTorch提供了DataLoader类,该类可以自动将数据集切分为多个批次batch,并支持多线程加载数据。此外,还存在Dataset类,该类可以定义数据集的读取方式和预处理方式。为了引入这些概念,我们现在接触一个新的而且非常经典的数据集:MNIST手写数字数据集。该数据集包含60000张训练图片和10000张测试图片,每张图片大小为28*28像素,共包含10个类别。

2025-05-30 23:56:24 695

原创 DAY37 早停策略和模型权重的保存

4f.2f100.2f训练集的loss在下降,但是有可能出现过拟合现象:模型过度学习了训练集的信息,导致在测试集上表现不理想。所以很自然的,我们想同步打印测试集的loss,以判断是否出现过拟合现象。

2025-05-29 23:13:36 1062

原创 DAY 36神经网络加速器easy

仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。●作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。●探索性作业(随意完成):尝试进入nn.Module中,查看他的方法1.4f.2f.2f好的,我们来整理一下你的项目文件,并详细解释神经网络模型和训练脚本。

2025-05-28 20:53:40 856

原创 DAY35

构建神经网络的时候。

2025-05-27 20:16:29 654

原创 DAY34

1.4f.2f。

2025-05-26 21:41:17 868

原创 DAY33 简单神经网络

定义一个简单的全连接神经网络模型,包含一个输入层、一个隐藏层和一个输出层。定义层数+定义前向传播顺序class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数# 前三行是八股文,后面的是自定义的self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。

2025-05-25 22:36:56 1082

原创 【无标题】

在官方文档中,通常会有一个“API Reference”或“Documentation”部分,列出所有可用的函数、类和方法。大多数 Python 库都会有官方文档,里面包含了函数的详细说明、用法示例以及版本兼容性信息。可以鼠标悬停在这个类上,来查看定义这个类所需要的参数,以及每个参数的格式。作业:参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。在官方文档介绍中的plot方法最下面,写明了参数和对应的返回值。2.官方文档的阅读和使用:要求安装的包和文档为同一个版本。DAY 32 官方文档的阅读。

2025-05-24 23:33:33 533

原创 DAY31

浙大疏锦行-CSDN博客一个典型的机器学习项目通常包含以下阶段:notebooks/ 或 experiments/ 目录:用于初期的数据探索、快速实验、模型原型验证。这部分往往是最开始的探索阶段,后面跑通了后拆分成了完整的项目,留作纪念用。总结一下通用的拆分起步思路:当遵循这些通用的拆分思路和原则时,项目结构自然会变得清晰。常常会看到 if name == “main”: 这个写法。它的主要作用是区分当前脚本是直接运行还是被导入。如果直接运行这个文件,则__name__等于__main__,若这个文件被其

2025-05-23 22:13:59 970

原创 DAY30

本文介绍了如何通过Python掌握深度学习和机器学习的基础知识及相关工具。首先,文章详细讲解了Python中模块和包的导入方式,包括标准导入、从库中导入特定项以及命名空间的管理。接着,文章通过实例展示了如何在不同目录结构下导入和使用模块,强调了__init__.py文件在包管理中的重要性。最后,文章提到了一些第三方库的底层实现,如OpenCV,其核心是用C++编写并通过Python接口调用,以提高性能。这些内容为学习深度学习和机器学习提供了必要的Python编程基础。

2025-05-22 20:40:27 937

原创 【无标题】

所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。简单来说,继承是"垂直"扩展(在类的层次结构中向下扩展),而装饰器是"水平"扩展(在不相关的类之间添加共同功能)。类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。

2025-05-21 23:47:50 896

原创 DAY28类

类是对属性和方法的封装,可以理解为模板,通过对模板实例化可以实现调用这个类的属性和方法。比如创建一个随机森林类,然后就可以调用他的训练和预测方法。现在我们来学一下自己定义一个类,这会让我们对于类这个对象理解的更加深刻。注意:注意:init左右各有两个下划线__,需要传入self这个特殊的参数。

2025-05-20 14:55:24 620

原创 DAY27

装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。–本质是如果让一个函数具备太多功能,那么他看起来就会比较乱,可读性比较差,如果把其中一部分相同甚至可以复用的功能用一个新的函数来调用,然后让2个函数同时实现,就会做到。

2025-05-19 22:57:04 559

原创 DAY26 函数定义与参数

●任务: 编写一个名为 describe_shape 的函数,该函数接收图形的名称 shape_name (必需),一个可选的 color (默认 “black”),以及任意数量的描述该图形尺寸的关键字参数 (例如 radius=5 对于圆,length=10, width=4 对于矩形)。●任务: 编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。●要求:函数接收一个位置参数 radius。

2025-05-18 20:07:53 688

原创 DAY25异常处理机制

try-except的异常处理模块当异常发生时,Python会创建一个异常对象 (exception object)(通常是 Exception 类的子类实例)。如果这段可能出错的代码位于 try 语句块中,程序流程会寻找并跳转到匹配的 except 语句块(如果存在)来处理这个异常。程序首先尝试执行 try 块中的代码。如果 try 块中的代码没有发生异常,则 except 块会被跳过,程序继续执行 try-except 结构之后的代码。在 try-except 的基础上增加了 else 子句。

2025-05-18 00:00:37 1001

原创 DAY24元组和OS模块

很多流行的 ML/DL 库(如 TensorFlow, PyTorch, NumPy)在其 API 中都广泛使用了元组来表示形状、配置等。可以看到,元组最重要的功能是在列表之上,增加了不可修改这个需求。

2025-05-16 19:32:16 800

原创 DAY23机器学习管道 pipeline

ColumTransformer的核心根据数据类型分别定义# --- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)有序分类特征(标签编码):1.这里的类别顺序需要和你之前映射的顺序一致2.有序特征的类别顺序,这个顺序决定了编码后的数值大小。

2025-05-15 23:59:36 695

原创 DAY21降维算法

t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。

2025-05-15 01:23:40 541

原创 DAY20 SVD奇异值

正交矩阵:列向量正交且单位化,在 SVD 中用于旋转或反射(UUU和VVV特征值与特征向量:描述矩阵在某些方向上的缩放特性,是计算奇异值的基础。对称矩阵:具有实特征值和正交特征向量,SVD 通过构造ATAA^T AATA和AATA A^TAAT利用其性质。矩阵分解:将复杂矩阵分解为简单矩阵乘积,是降维和数据分析的核心工具。输入:一个任意的矩阵AAA,尺寸为m×nm \times nm×n(其中mmm是行数,nnn是列数,可以是矩形矩阵,不必是方阵)。

2025-05-13 23:58:58 970

原创 DAY22kaggle泰坦尼克号

参考了数据处理省略直接上模型。

2025-05-12 21:50:55 586

原创 DAY 19 特征降维

所以在面对高维特征的时候常常需要引入特征降维,我们之前课程中的项目的特征也就小几十个,不太需要做降维,对于某些特征较多的数据,如基因数据、微生物数据、传感器数据等,特征较多,所以会考虑特征降维。特征降维一般有2种策略:1. 特征筛选:从n个特征中筛选出m个特征,比如方差筛选,剔除方差过小的特征;利用皮尔逊相关系数筛选;lasso筛选(lasso自带的系数可以理解为重要性)、利用树模型自带的重要性、shap重要性等筛选;特征递归方法2. 特征组合:从n个特征中组合出m个特征,如pca等。

2025-05-11 22:43:25 705

原创 DAY18聚类后推断实际含义

而非全部。如你想。

2025-05-10 22:41:42 599

原创 DAY17无监督算法中的聚类

三种常用的聚类效果评估指标,分别用于衡量聚类的质量和簇的分离与紧凑程度1. 轮廓系数 (Silhouette Score)轮廓系数衡量每个样本与其所属簇的紧密程度以及与最近其他簇的分离程度。- 轮廓系数越接近 1,表示样本与其所属簇内其他样本很近,与其他簇很远,聚类效果越好。- 轮廓系数越接近-1,表示样本与其所属簇内样本较远,与其他簇较近,聚类效果越差(可能被错误分类)。- 轮廓系数接近0,表示样本在簇边界附近,聚类效果无明显好坏。选择轮廓系数最高的 `k` 值作为最佳簇数量。

2025-05-09 23:58:09 570

原创 DAY16 数组的创建

1. 理解数组的维度 (Dimensions)NumPy 数组的或称为的概念,与我们日常理解的维度非常相似。直观判断:数组的维度层数通常可以通过打印输出时**中括号 `[]` 的嵌套层数**来初步确定:一层 `[]`: 一维 (1D)数组。两层 `[]`: 二维 (2D)数组。三层 `[]`: 三维 (3D)数组,依此类推。

2025-05-09 00:03:03 1041

原创 DAY14SHAP可解释分析

为什么会对特定输入做出特定预测。SHAP 提供了一种统一的方法来解释模型的输出。对预测有多大贡献SHAP (SHapley Additive exPlanations) 的核心基于博弈论中的Shapley 值概念。想象一个合作游戏:1. 玩家 (Players):模型的特征 (Features)就是玩家。2. 游戏 (Game): 目标是预测某个样本的输出值。3. 合作 (Coalition): 不同的特征子集可以“合作”起来进行预测。

2025-05-06 17:19:06 687

原创 DAY13不平衡数据集的处理:权重

2. **优先尝试根本方法:** 通常建议首先尝试**修改权重 (`class_weight='balanced'`)** 或 **数据采样方法 (如 SMOTE)**,因为它们试图从源头改善模型学习。4. **阈值调整作为补充:** 修改阈值可以作为一种**补充手段**或**最后的微调**。3. **交叉验证评估:** 在使用 `class_weight` 或采样方法时,务必使用**分层交叉验证 (Stratified K-Fold)** 来获得对模型性能的可靠估计。修改模型的**损失函数**。

2025-05-06 00:08:30 591

原创 DAY12遗传算法

1. 遗传算法2. 粒子群优化3. 模拟退火运行与处理好的代码。

2025-05-04 22:53:12 1064

原创 DAY11超参数调整

缺点:

2025-05-03 23:50:39 829

原创 DAY10模型训练

1. 导入库2. 读取数据查看数据信息--理解数据3. 缺失值处理4. 异常值处理5. 离散值处理6. 删除无用列7. 划分数据集8. 特征工程9. 模型训练10. 模型评估11. 模型保存12. 模型预测。

2025-05-02 22:47:04 943

原创 DAY9热力图和子图的绘制

import……

2025-05-01 21:57:28 826

原创 day8字典

显示值## 标签编码- 标签编码 (Label Encoding)- 适用场景:特征存在内在顺序(如 小/中/大)- 当前案例假设:自有房(2)> 有房贷(1)> 租房(0)- 独热编码 (One-Hot Encoding)- 适用场景:特征为无序类别(如 红/蓝/绿)- 会创建3个新列:Ownership_Own Home, Ownership_Mortgage, Ownership_Rent之前介绍了离散数据 如果是不存在顺序,则采现在介绍。

2025-04-30 23:57:55 248

原创 DAY7heart数据分析

这种参数传递方式是seaborn/pandas等库特有的数据映射语法,与常规Python变量赋值不同。类似的参数在seaborn中还有 y , hue , size 等,都用于指定数据映射关系。3. 组合效果:相当于在底层执行 x=plot_data['age'] ,但用这种写法更简洁且可读性更好。2. data 参数:指定数据来源,这里使用我们创建的plot_data数据框。离散值或者连续值,并画图。

2025-04-30 00:32:13 240

原创 DAY6单特征分布可视化

之前已经说过,对于数据可视化一般会进行如下操作1. 单特征分布可视化2. 特征与标签关系可视化3. 特征与特征关系可视化。

2025-04-28 22:59:58 702

原创 DAY5 离散特征的处理

今天的任务分成以下几步1. 读取数据2. 找到所有离散特征3. 选择一个离散特征进行独热编码4. 采取循环对所有离散特征进行独热编码5. 加上昨天的内容 并且处理所有缺失值。

2025-04-27 23:37:33 538

原创 DAY4——数据库导入

data.isnull() #是否是空值 布尔矩阵显示缺失值,这个方法返回一个布尔矩阵,也是dataframe对象,其中True表示对应位置的值是缺失值,False表示对应位置的值不是缺失值。data.info() # 列名、非空值、数据类型。# dataframe里单独的一列是series。data.head(10) 显示前十行。type(data) # 类。#dataframe表示多列。padas库电脑读取数据。#series表示一列。

2025-04-27 00:00:04 154

原创 DAY3100add

初始化两个变量:excellent_count 用于记录分数大于等于 90 的个数,初始值为 0;定义一个包含整数的列表 scores,赋值为 [85, 92, 78, 65, 95, 88]。如果我自己来写,for循环怎么写呢,有判断,有标志变量,int(input("温度是:"))只转换你输入的!- 高于35度:打印"红色预警:高温天气!- 28-35度:打印"黄色预警:天气炎热"- 20-27度:打印"绿色提示:适宜温度"- 低于20度:打印"蓝色预警:注意保暖"

2025-04-23 00:10:15 256

原创 DAY2

题目: 定义两个字符串变量,str1 赋值为 “Hello”,str2 赋值为 “Python”。将这两个字符串拼接起来(中间加一个空格),并将结果存储在变量 greeting 中;计算 greeting 字符串的长度,存储在变量 length 中;获取 greeting 字符串的第一个字符,存储在变量 first_char 中。3. 变量插入使用 {} 包裹(如 {greeting} )4. 换行通过自然换行实现(不需要 \n )拼接带空格的字符串,用“”括起字符串。没有用\n来自然换行。

2025-04-21 23:50:20 287

原创 Python训练营打卡DAY1

计算这两个变量的和,并将结果存储在一个新的变量 a 中;计算这两个变量的商,叫做b;计算这两个变量的余数,叫做c。然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。2. sep参数法 :利用 print() 的 sep 参数(默认是空格),将其设置为换行符实现多行输出。计算折扣后的价格,并将结果存储在变量。和 f-string,如何让姓名和城市分两行输出?如果想在输出的姓名两边加上引号,例如。存储你所在的城市(字符串,例如。存储你的名字(字符串,例如。

2025-04-20 23:59:03 238

空空如也

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

TA关注的人

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