自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day 51 打卡

【代码】day 51 打卡。

2025-07-04 22:47:55 266

原创 day50 打卡

【代码】day50 打卡。

2025-07-03 23:14:48 225

原创 day49 打卡

【代码】day49 打卡。

2025-07-02 22:52:24 202

原创 day48打卡

在深度学习中经常需要随机生成一些张量,比如权重的初始化,或者计算输入纬度经过模块后输出的维度,都可以用一个随机函数来实现需要的张量格式,而无需像之前一样必须加载一张真实的图片。随机函数的种类很多,我们了解其中一种即可,毕竟目的主要就是生成,对分布要求不重要。

2025-07-01 20:30:34 532

原创 day47 打卡

我们关注的不只是精度的差异,还包含了同精度下训练时长的差异等,在大规模数据集上推理时长、训练时长都非常重要。• 若热力图错误聚焦背景(如红色区域在无关物体上),可能表示模型过拟合或训练不足。热力图(红色表示高关注,蓝色表示低关注)半透明覆盖在原图上。1. 通道权重计算:对特征图的每个通道进行全局平均池化,得到通道重要性权重。• 通道1可能关注整体轮廓,通道2关注纹理细节,通道3关注颜色分布。• 检查模型是否关注正确区域(如识别狗时,是否聚焦狗而非背景)。• 高关注区域(红色):模型认为对分类最重要的区域。

2025-06-30 22:06:37 163

原创 day46 打卡

特征图本质就是不同的卷积核的输出,浅层指的是离输入图近的卷积层,浅层卷积层的特征图通常较大,而深层特征图会经过多次下采样,尺寸显著缩小,尺寸差异过大时,小尺寸特征图在视觉上会显得模糊或丢失细节。• 为每个目标层创建子图,展示前 num_channels 个通道的特征图(如9个通道)。• 特征图布局:原始图像在左侧,各层特征图按顺序排列在右侧。• 钩子函数将这些层的输出(特征图)保存到字典中。• 模型处理图像,触发钩子函数,获取并保存特征图。• 每个通道的特征图以网格形式排列,显示通道编号。

2025-06-29 23:33:01 851

原创 day45 打卡

【代码】day45 打卡。

2025-06-28 22:35:03 143

原创 day44 打卡

而测试集是标准的、没增强的图片,模型预测相对轻松,就可能出现训练集准确率暂时低于测试集的情况,尤其在训练前期增强对模型影响更明显。其中,训练过程中,为了不破坏最开始的特征提取器的参数,最开始往往先冻结住特征提取器的参数,然后训练全连接层,大约在5-10个epoch后解冻训练。所以调用预训练模型做微调,本质就是 用这些固定的结构+之前训练好的参数 接着训练。1. 解冻后几个epoch即可达到之前cnn训练20轮的效果,这是预训练的优势。3. 最后收敛后的效果超过非预训练模型的80%,大幅提升。

2025-06-27 21:05:26 168

原创 day43 打卡

数据集为眼睛检测数据集。

2025-06-26 22:56:41 179

原创 day42 打卡

在深度学习中,经常需要查看或修改模型中间层的输出或梯度。然而,标准的前向传播和反向传播过程通常是一个黑盒,我们很难直接访问中间层的信息。PyTorch 提供了一种强大的工具——hook 函数,它允许我们在不修改模型结构的情况下,获取或修改中间层的信息。它的核心价值在于让开发者能够动态监听、捕获甚至修改模型内部任意层的输入 / 输出或梯度,而无需修改模型的原始代码结构。例如 SHAP、PDPBox 等,这些工具在处理结构化数据时,能够有效揭示模型内部的决策逻辑。

2025-06-25 21:21:42 749

原创 day41 打卡

该策略通常不改变单次训练的样本总数,而是通过对现有图像进行多样化变换,使每次训练输入的样本呈现更丰富的形态差异,从而有效扩展模型训练的样本空间多样性。2. 像素变换:如修改颜色、亮度、对比度、饱和度、色相、高斯模糊(模拟对焦失败)、增加噪声、马赛克。2. 输入通道数:输入图片的通道数,如1(单通道图片)、3(RGB图片)、4(RGBA图片)等。卷积的本质:通过卷积核在输入通道上的滑动乘积,提取跨通道的空间特征。所以只需要定义几个参数即可。1. 卷积核大小:卷积核的大小,如3x3、5x5、7x7等。

2025-06-24 21:52:17 271

原创 day40 打卡

【代码】day40 打卡。

2025-06-23 21:18:49 263

原创 day 39 打卡

实际定义中,输入图像还存在batchsize这一维度在 PyTorch 中,模型定义和输入尺寸的指定不依赖于 batch_size,无论设置多大的 batch_size,模型结构和输入尺寸的写法都是不变的。PyTorch 模型会自动处理 batch 维度(即第一维),无论 batch_size 是多少,模型的计算逻辑都不变。batch_size 是在数据加载阶段定义的,与模型结构无关。

2025-06-22 21:44:45 892

原创 day38 打卡

【代码】day38 打卡。

2025-06-21 21:49:49 234

原创 day37 打卡

【代码】day37 打卡。

2025-06-20 20:11:13 183

原创 day36 打卡

【代码】day36 打卡。

2025-06-19 20:26:03 255

原创 day35 打卡

模型的评估模式简单来说就是评估阶段会关闭一些训练相关的操作和策略 ,比如更新参数 正则化等操作,确保模型输出结果的稳定性和一致性。

2025-06-18 18:46:34 271

原创 day 34 打卡

可以注意到,self.fc1 = nn.Linear(4, 10) 此时,是实例化了一个nn.Linear(4, 10)对象,并把这个对象赋值给了MLP的初始化函数中的self.fc1变量。self.fc1是一个实例化的对象,为什么具备了函数一样的用法,这是因为nn.Linear继承了nn.Module类,nn.Module类中定义了__call__方法。• 而 nn.Module 的 call 方法会调用子类的 forward 方法(即 self.fc1.forward(x))。

2025-06-17 10:13:30 1153

原创 day33 打卡

【代码】day33 打卡。

2025-06-16 21:53:50 276

原创 day32 打卡

【代码】day32 打卡。

2025-06-15 21:16:54 209

原创 day31 打卡

【代码】day31 打卡。

2025-06-14 21:20:30 271

原创 day30打卡

**直接 `import`**:如果执行文件和自定义模块在同一目录或父级目录,可直接使用 `import` 导入。例如 `import pandas as pd`,之后就可以用 `pd` 来代替 `pandas`,如 `pd.DataFrame()`。- **直接导入**:使用 `import` 关键字直接导入库,例如 `import pandas`,之后可以使用 `pandas` 库中的函数和类,如 `pandas.DataFrame()`。导入自定义库/模块的方式。导入官方库的三种手段。

2025-06-13 09:02:58 391

原创 day29 打卡

后来有一个训狗师写了一个“表演杂技”的方法,`Dog`类觉得这个方法很好,就把这个方法引入进来,让所有的狗狗都能表演杂技。例如,有一个`School`类,里面有一个类方法`get_school_name`,这个方法可以获取学校的名字,它和整个学校这个类相关,而不是和某个学生实例相关。在这个例子中,`Car` 类有 `__init__` 方法,这是一个特殊的方法,用于初始化对象的属性。这里的 `my_car` 就是 `Car` 类的一个对象,它有自己的颜色和品牌,并且可以调用 `start` 方法。

2025-06-12 09:55:07 617

原创 day28 打卡

【代码】day28 打卡。

2025-06-11 08:53:39 260

原创 day27 打卡

【代码】day27 打卡。

2025-06-10 13:29:01 231

原创 day26 打卡

【代码】day26 打卡。

2025-06-09 10:06:05 223

原创 day25 打卡

当程序执行过程中遇到错误时,会抛出异常。在上述代码中,`try` 块中的 `10 / 2` 不会抛出异常,因此会执行 `else` 块中的代码,输出计算结果,最后执行 `finally` 块中的代码,输出 "程序执行结束"。在上述代码中,`try` 块中的 `10 / 0` 会抛出 `ZeroDivisionError` 异常,`except` 块捕获到该异常后,会执行其中的代码,输出 "除数不能为零"。- `else` 块:当 `try` 块中的代码没有抛出异常时,会执行 `else` 块中的代码。

2025-06-08 09:14:49 994

原创 day 24

可迭代对象是指可以被迭代(遍历)的对象,即可以使用 `for` 循环进行遍历的对象。- **不可变性**:元组的元素不能被修改,这使得元组在作为字典的键或者集合的元素时非常有用。- **支持迭代**:可以使用 `for` 循环、`enumerate()` 等函数进行遍历。- **惰性求值**:某些可迭代对象(如生成器)可以在需要时才生成元素,节省内存。- **可包含任意类型**:元组可以包含不同类型的元素,如整数、字符串、列表等。- **文件和目录操作**:创建、删除、重命名文件和目录,获取文件信息等。

2025-06-07 14:11:09 282

原创 day23 打卡

管道工程是将多个数据预处理步骤和建模步骤组合在一起的一种方式。它可以简化代码,并且确保在训练和测试数据上应用相同的预处理步骤。管道中的每个步骤都是一个转化器,最后一步是一个估计器。ColumnTransformer 用于对数据的不同列应用不同的转换。估计器是用于建模和预测的对象,通常是机器学习模型。转化器(Transformer)和估计器(Estimator) 转化器(Transformer)- transform :使用 fit 方法学到的参数对数据进行转换。- fit :使用训练数据来学习模型的参数。

2025-06-06 08:52:50 344

原创 day22打卡

然后,在 Kaggle 账户页面的 “Account” 标签下,点击 “Create New API Token” 下载 `kaggle.json` 文件。如果你还没有 Kaggle 账户,需要前往 [Kaggle 官网](https://www.kaggle.com/) 进行注册。在这个页面中,你可以查看数据集的描述、数据结构、数据预览、相关讨论等信息,以确定该数据集是否符合你的需求。下载和解压数据集后,你可能需要对数据进行预处理,例如处理缺失值、数据类型转换、特征工程等,以便后续的数据分析和建模工作。

2025-06-05 08:55:33 777

原创 day21打卡

打个比方,你有一张三维的人脸照片,PCA 会找到人脸变化最明显的几个方向,把三维的人脸数据投影到这些方向上,变成二维或者一维的数据,同时尽量保留人脸的主要特征。LDA 是一种有监督的降维方法,它的目标是找到一个投影方向,使得不同类别的数据在投影后尽可能分开,同一类别的数据尽可能聚集在一起。举个例子,假如你有一堆苹果和橘子的数据,每个水果有很多特征(颜色、大小、重量等),LDA 会找到一个最能区分苹果和橘子的方向,把这些高维的水果数据投影到这个方向上,这样就能用更少的维度来区分它们。

2025-06-04 08:33:16 904

原创 day20 打卡

单纯使用随机森林预测:随机森林模型的精度: 0.8524590163934426。结果:使用 SVD 处理后模型的精度: 0.8032786885245902。使用svd分解来处理心脏病数据的预测问题。相比之下,svd分解之后精度反而降低了。

2025-06-03 08:03:50 265

原创 day19 打卡

原理:Lasso(Least Absolute Shrinkage and Selection Operator)是一种线性回归方法,通过在损失函数中加入 L1 正则化项,使得部分特征的系数变为 0,从而达到特征选择的目的。原理:方差衡量的是数据的离散程度。如果一个特征的方差很小,说明这个特征的值大部分都很接近,对模型的区分能力可能较弱,可以考虑将其剔除。可以计算每个特征与目标变量的皮尔逊相关系数,选择相关系数绝对值较大的特征。经比较,方差筛选,皮尔逊相关系数,树模型重要性筛出的特征相同,模型精度最高。

2025-06-02 07:37:17 476

原创 day18 打卡

通过 K-Means 聚类,将心脏病数据按病理特征分组,揭示了不同群体的风险模式,为个性化诊疗和医学研究提供数据支持。特征工程(选择关键病理指标)和可视化分析(箱线图、散点图)是理解聚类结果的核心工具,体现了机器学习在医学数据分析中的应用价值。# 假设 dt 已经定义# 选择特征和标签# 手肘法确定最优 n_clustersmax_clusters = 11 # 可以根据实际情况调整# 绘制手肘图# 绘制轮廓系数图plt.show()# 根据轮廓系数选择最优的 n_clusters。

2025-06-01 08:41:50 1082

原创 day17 打卡

轮廓系数为 0.13514056307090785,接近 0,这表明样本距离所属簇的质心和其他簇的质心的距离相近,聚类效果不太理想,样本可能没有被清晰地划分到不同的簇中。层次聚类不需要预先指定簇的数量,能生成树形结构,但计算复杂度较高。3. **判断核心点**:如果邻域内的样本数大于等于 `min_samples`,则该点为核心点,创建一个新的簇,并将其邻域内的所有点加入该簇。K-Means 是一种基于划分的聚类算法,通过迭代的方式将数据点划分到 K 个簇中,使得簇内的数据点相似度较高,簇间的相似度较低。

2025-05-31 09:18:43 986

原创 day 16 打卡

**回归模型**:SHAP 值是预测值和平均预测值之间的差值。SHAP(SHapley Additive Explanation)是一种基于博弈论中 Shapley 值的机器学习模型解释工具,能够公平地衡量每个特征对预测结果的贡献,帮助我们理解模型的决策过程。数组是一个有序的数据集合,每个元素都有一个唯一的索引,通过这个索引可以快速访问数组中的元素。某特征的 SHAP 值不是移除该特征前后预测值的差,而是在当前所有特征值的设定下,该特征值对于实际预测值和平均预测值的差的贡献。numpy数组的创建。

2025-05-30 09:16:42 437

原创 day15 打卡

数据预处理原有变量名为根据数据的描述性统计选择删除部分变量名删除后变量数据类型和名称如下:处理数据(编码,缺失值补充,以情感得分为标签处理,为回归问题)绘制热力图使用随机森林预测交叉验证平均MSE: 0.047510039643853016shap可解释性分析绘制残差图和散点图。

2025-05-29 10:16:24 742

原创 day14 打卡

绘制队列条形图:选择一个特征进行分组,这里以 Annual Income 为例,当 Annual Income 大于中位数时标记为 High Income,否则标记为 Low Income。以 Annual Income 作为主特征, Credit Score 作为交互特征为例,绘制# Dependence Plot。以前二十个样本为例,绘制绘制 Decision plot。绘制 Decision plot 展示交互值。一第一个样本为例,绘制force plot。输出两种类型的shap值。

2025-05-28 11:27:07 303

原创 day 13 打卡

最优参数为{'learning_rate': 0.2, 'n_estimators': 150, 'num_leaves': 51}经比较,单独进行数据过采样与交叉验证的平均auc值最高,网格搜索调整参数后auc值反而降低。使用最优参数进行模型训练,交叉验证平均AUC: 0.7375934570648434。在上一步的基础上加入修改权重,平均auc值为0.7430727560367311。进行数据过采样与交叉验证,0.7468329712401869。进行网格搜索确定最优参数。

2025-05-27 09:09:53 244

原创 day12 打卡

核心逻辑:模拟了自然选择和遗传机制,。操作过程:首先,随机生成一组候选解,每个候选解称为一个个体,所有个体的集合构成种群。每个个体用一组编码表示,常见的编码方式有二进制编码、实数编码等。例如,在求解函数优化问题时,一个个体可能是一组实数,代表函数的一组参数。为了衡量每个个体的优劣,需要定义一个适应度函数。适应度函数根据问题的目标来设计,对于最大化问题,适应度值越高表示个体越优;对于最小化问题,适应度值越低表示个体越优。计算种群中每个个体的适应度值,作为后续选择操作的依据。

2025-05-26 09:13:30 839

空空如也

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

TA关注的人

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