- 博客(41)
- 收藏
- 关注
原创 DAY40
彩色的通道也是在第一步被直接展平,其他代码一致由于深度mlp的参数过多,为了避免过拟合在这里引入了dropout这个操作,他可以在训练阶段随机丢弃一些神经元,避免过拟合情况。dropout的取值也是超参数。在测试阶段,由于开启了eval模式,会自动关闭dropout。可以继续调用这个函数来复用此时你会发现MLP(多层感知机)在图像任务上表现较差(即使增加深度和轮次也只能达到 50-55% 准确率),主要原因与图像数据的空间特性和MLP 的结构缺陷密切相关。
2025-06-11 23:11:52
642
原创 DAY39
从这里开始进入到了图像数据相关的部分,默认有计算机视觉相关的知识。昨天我们介绍了minist这个经典的手写数据集,作为图像数据,相较于结构化数据(表格数据)他的特点在于他每个样本的的形状并不是(特征数,),而是(宽,高,通道数)minist数据集的形状就是(1,28,28)表示通道数为1,宽和高皆为28像素。上述是昨天的代码,我们介绍了图像数据的预处理,这是我们首次接触图像数据,他和之前的结构化数据有什么差异点呢?
2025-05-29 21:40:36
944
原创 DAY38
__getitem__ : 根据索引返回单个样本。- batch_size : 每次加载的样本数。- shuffle : 是否打乱数据顺序。了解下cifar数据集,尝试获取其中一张图片。- __len__ : 返回数据集大小。二、创建DataLoader并获取单张图片。三、直接通过Dataset获取单张图片。一、首先加载CIFAR数据集。
2025-05-28 17:02:26
305
原创 DAY34
4. 类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)3. GPU训练的方法:数据和模型移动到GPU device上。1. CPU性能的查看:看架构代际、核心数、线程数。2. GPU性能的查看:看显存、看级别、看架构代际。
2025-05-25 22:56:21
273
原创 DAY32
作业:参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。官方文档的阅读和使用:要求安装的包和文档为同一个版本。官方文档的检索方式:github和官网。绘图的理解:对底层库的调用。普通方法所需要的参数。
2025-05-21 23:09:05
133
原创 DAY30
同一目录下导入:直接使用 import module_name。不同目录下导入:需要将模块所在目录添加到 sys.path 中,或者使用相对导入。
2025-05-19 20:54:10
375
原创 DAY29
ps:之前无论是函数还是类的装饰器,我们都发现是先有装饰器,再有类。那既然我们说了装饰器除了让原本的代码更加清晰可读可复用,还具有修改函数or类的功能。那如何修改之前已经写好的类or函数呢?所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。比喻:即使餐厅已经开业,你仍然可以通过“升级计划”来改进服务,而不需要重新设计整个餐厅。
2025-05-18 21:29:28
977
原创 DAY28
1. 关键字class2. 类名3. 语法固定符号冒号(:)4. 一个初始化函数__init__(self)Pass占位符和缩进Python 通过缩进来定义代码块的结构。当解释器遇到像 def, class, if, for 这样的语句,并且后面跟着冒号 : 时,它就期望接下来会有一个或多个缩进的语句来构成这个代码块。如果它没有找到任何缩进的语句(即代码块是空的),它就无法确定这个结构的范围,因此会抛出 IndentationError。
2025-05-18 21:21:22
870
原创 打卡DAY27
装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值昨天我们接触到了函数大部分的功能,然后在你日常ctrl点进某个复杂的项目,发现函数上方有一个@xxx,它就是装饰器装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。--本质是如果让一个函数具备太多功能,那么他看起来就会比较乱,可读性比较差,如果把其中一部分相同甚至可以复用的功能用一个新的函数来调用,然后让2个函数同时实现,就会做到。
2025-05-16 22:42:59
575
原创 打卡DAY26
任务: 编写一个名为 describe_shape 的函数,该函数接收图形的名称 shape_name (必需),一个可选的 color (默认 “black”),以及任意数量的描述该图形尺寸的关键字参数 (例如 radius=5 对于圆,length=10, width=4 对于矩形)。任务: 编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。3.函数的参数类型:位置参数、默认参数、不定参数。
2025-05-15 22:19:35
669
原创 打卡DAY25
作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。4. try-except-else-finally机制。2. debug过程中的各类报错。3. try-except机制。DAY 25 异常处理。1. 异常处理机制。
2025-05-14 22:10:01
304
原创 打卡DAY23
整理下全部逻辑的先后顺序,看看能不能制作出适合所有机器学习的通用pipeline。3. ColumnTransformer和Pipeline类。三、构建有序特征pipeline。四、构建标称特征pipeline。1. 转化器和估计器的概念。二、导入pipeline。五、串联预处理器和模型。
2025-05-12 22:01:04
233
原创 打卡DAY21
高维数据存储传输成本高,如图像数据。降维技术用于图像视频压缩,如 JPEG 算法利用 PCA 降维减少数据量。:高维数据使机器学习算法计算复杂,如 SVM。降维可提高计算效率,如推荐系统降维计算相似度提升性能。:高维数据难可视化,如基因表达数据。降维后可直观展示数据关系,像市场调研中展示消费者群体分布。:高维特征致 “维数灾难”,如文本分类。降维选代表性特征,像手写数字识别降维提高效率和准确率。:高维数据含噪声冗余干扰分析,如传感器数据。降维可去除噪声,如语音识别中降维提高准确率。
2025-05-12 21:55:14
171
原创 打卡DAY21
过程:你把物品放在房间里,然后不断地调整它们的位置,让相似的物品放在一起,不相似的物品分开。比如,你把所有的书都放在书架上,把所有的餐具都放在厨房的柜子里。t-SNE 房间:物品被精心布置在房间里,相似的物品放在一起,形成了一个个小的“区域”。比如,你带走了厨房里的锅和刀,卧室里的枕头和被子,客厅里的沙发和电视。过程:你把所有物品堆在一起,然后找出最“重要”的部分(比如最重的、最贵的或者最常用的)。t-SNE 好像是在搬家后,你不仅要整理物品,还要精心布置房间,让每个物品都放在最合适的位置。
2025-05-10 20:11:19
931
原创 打卡DAY20
奇异值分解这个理论,对于你未来无论是做图像处理、信号处理、特征提取、推荐系统等都非常重要,所以需要单独抽出来说一下这个思想。---甚至我在非常多文章中都看到单独用它来做特征提取(伪造的很高大上),学会这个思想并不复杂没学过线代的不必在意,推导可以不掌握,关注输入输出即可。今天这期有点类似于帮助大家形成闭环---考研数学不是白考的。
2025-05-09 12:08:20
244
原创 打卡DAY17
1.聚类的指标2.聚类常见算法:kmeans聚类、dbscan聚类、层次聚类3.三种算法对应的流程实际在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解释也更加符合逻辑。
2025-05-06 23:23:36
157
原创 打卡DAY16
因为前天说了shap,这里涉及到数据形状尺寸问题,所以需要在这一节说清楚,后续的神经网络我们将要和他天天打交道。numpy数组的创建:简单创建、随机创建、遍历、运算。numpy数组的索引:一维、二维、三维。今日知识点比较多,好好记忆下。随机数组的创建代码汇总。
2025-05-05 22:24:07
229
原创 打卡DAY15
尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目。1. 有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。2. 尽可能与他人不同,优先选择本专业相关数据集。3. 探索一下开源数据的网站有哪些?
2025-05-04 22:50:57
234
原创 打卡DAY14
尝试对着心脏病数据集绘制热力图和单特征分布的大图(包含几个子图)现在我尝试对“心脏病数据集”进行热力图的绘制。首先,前三步仍然是之前预处理数据的老流程。前三个步骤已在昨日处理过,从第四步开始。(2)通过映射字典,将字符串映射为数字。介绍了enumerate()函数。知识点:热力图和子图的绘制。介绍了热力图的绘制方法。讲义Day9内容学习。介绍了子图的绘制方法。(3)提取连续值特征。(5)设置图片清晰度。
2025-05-03 21:59:13
322
原创 打卡DAY13
平均 precision_minority: 0.8291 (+/- 0.0182)平均 precision_minority: 0.8291 (+/- 0.0182)--- 3. 训练最终的带权重模型 (整个训练集) 并在测试集上评估 ---SMOTE 过采样后训练集的形状: (8656, 31) (8656,)--- 2. 带权重随机森林 + 交叉验证 (在训练集上进行) ---随机过采样后训练集的形状: (8656, 31) (8656,)--- 1.默认参数随机森林(训练集 -> 测试集) ---
2025-05-02 23:29:10
728
原创 打卡DAY12
今天以自由探索的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。:速度更新三要素(惯性保持、自我记忆、社会学习):温度控制下的概率性劣解接受(避免局部最优):通过概率跳脱局部最优,强调逐步精细化搜索。:粒子通过个体经验和群体共享信息协同搜索。:粒子间信息共享加速收敛,强调群体协作。:连续空间优化(如神经网络超参调优):单解迭代优化(如VLSI电路布局):通过基因重组探索解空间,强调多样性。:模仿金属退火过程的热力学平衡。
2025-05-01 22:21:50
360
原创 打卡DAY11
1. 网格搜索2. 随机搜索(简单介绍,非重点 实战中很少用到,可以不了解)3. 贝叶斯优化(2种实现逻辑,以及如何避开必须用交叉验证的问题)4. time库的计时模块,方便后人查看代码运行时。
2025-04-30 23:02:57
285
原创 打卡DAY10
1. 把之前所有的处理手段都处理一遍,回顾一下全流程,以后就用处理好的部分直接完成2. 开始机器学习建模(简单建模,不涉及调参)和评估1. 导入库2. 读取数据查看数据信息--理解数据3. 缺失值处理4. 异常值处理5. 离散值处理6. 删除无用列7. 划分数据集8. 特征工程9. 模型训练10. 模型评估11. 模型保存12. 模型预测。
2025-04-29 19:27:01
276
原创 打卡DAY7复习日
知识点:1.变量的命名和定义 赋值概念的理解2.debug工具的使用(pycharm和vscode)断点的理解3.print函数 输出的一种方法。
2025-04-26 22:43:55
203
原创 Python训练营打卡Day6
单特征分布可视化找到连续特征初识matplotlib库:此为中文无法正确显示的图:若想解决上图中文输出为方块的问题可采用以下代码:绘制离散变量和标签的关系 :
2025-04-25 22:53:01
353
原创 【无标题】
可以鼠标悬停来查看每个函数的参数,这里采用了类型注解写法,可以看到每个参数的要求类型,同时可以看到参数的默认值,如果没有默认值就是必填参数。注意:这里区分离散变量仅仅通过object类型,实际中还需要结合对数据的认识,这里为了方便没有考虑现实意义。注意是py文件中,所以每一步的输出是否正确需要你来使用debugger功能来逐步查看。现在在py文件中 一次性处理data数据中所有的连续变量和离散变量。注意此时你可以借助下面的调试控制台 来进行值的查看。随着学习往后,需要了解的函数越来越多。
2025-04-24 22:37:46
243
原创 Python打卡Day4
2. 如果找不到,会报错 FileNotFoundError 学习中遇到的问题: 1. 文件不在当前目录 - 需要使用完整路径,如: data = pd.read_csv('D:/我的文档/data.csv')2.读取数据文件 ( pd.read_csv('data.csv') ) - read_csv() 是pandas提供的专门用于读取CSV文件的方法。注:print("\n前5行数据:") 和 print(data.head()) 是一个完整的查看数据前5行的步骤。
2025-04-23 23:19:10
586
原创 打卡DAY3
1. 创建一个包含三个字符串元素的列表 tech_list,元素分别为 “Python”, “Java”, “Go”。4. 修改 tech_list 中的第二个元素(索引为 1),将其从 “Java” 更改为 “Ruby”。6. 计算当前 tech_list 的长度,并将结果存储在变量 current_length 中。2. 获取列表中的第一个元素,并将其存储在变量 first_tech 中。- 28-35度:打印"黄色预警:天气炎热"- 20-27度:打印"绿色提示:适宜温度"
2025-04-22 18:46:04
281
原创 打卡day2
2、题目: 定义两个整数变量,score_a 赋值为 75,score_b 赋值为 90。比较 score_a 是否大于 score_b,将比较结果(布尔值)存储在变量 is_a_higher 中;比较 score_a 是否小于等于 score_b,将结果存储在变量 is_a_lower_or_equal 中;比较 score_a 是否不等于 score_b,将结果存储在变量 is_different 中。定义两个字符串变量,str1 赋值为 “Hello”,str2 赋值为 “Python”。
2025-04-21 23:02:45
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅