- 博客(46)
- 收藏
- 关注
原创 第四十一天打卡
Flatten -> Dense (with Dropout,可选) -> Dense (Output)1. 输入 → 卷积层 → Batch归一化层(可选) → 池化层 → 激活函数 → 下一层。
2025-06-07 01:47:32
97
原创 第四十天打卡
3.dropout操作:训练阶段随机丢弃。,测试阶段eval模式关闭dropout。图片测试和训练的规范写法:封装在函数中。2.展平操作:除第一个维度。
2025-06-07 01:44:50
501
原创 第三十八天打卡
1. Dataset类的__getitem__和__len__方法(本质是python的特殊方法)3. minist手写数据集的了解。2. Dataloader类。
2025-05-29 23:54:18
96
原创 第三十二天打卡
定义一个简单的全连接神经网络模型,包含一个输入层、一个隐藏层和一个输出层。定义层数+定义前向传播顺序class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数# 前三行是八股文,后面的是自定义的self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。
2025-05-29 23:24:50
659
原创 第三十一天打卡
训练完成后,选择pdpbox库的info_plots模块下的InteractTargetPlot进行解释性分析。3. 官方文档:https://pdpbox.readthedocs.io/en/latest/1. GitHub 仓库:https://github.com/SauceCat/PDPbox。多数 Python 库都会有官方文档,里面包含了函数的详细说明、用法示例以及版本兼容性信息。2. PyPI 页面:https://pypi.org/project/PDPbox/
2025-05-22 17:35:41
316
原创 第二十九天打卡
模块和库的导入1.导入官方库的三种手段2.导入自定义库/模块的方式3.导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)导入官方库的三种手段。
2025-05-22 17:06:51
530
原创 第二十八天打卡
装饰器是Python中一种特殊的语法糖,它允许你在不修改原函数代码的情况下,为函数添加额外的功能。装饰器本质上是一个高阶函数,它接收一个函数作为参数,并返回一个新的函数。3. 调用函数 :调用被装饰的函数时,实际上是调用装饰器返回的新函数。1. 装饰器执行时机 :装饰器在函数定义时立即执行,而不是在调用时。2. 应用装饰器 :使用 @装饰器名 语法应用到目标函数上。1. 定义装饰器 :创建一个接收函数作为参数的函数。4. 多个装饰器 :装饰器会从下往上依次应用。1. 类替换 :装饰器可以完全替换原类。
2025-05-18 04:05:32
266
原创 第二十五天打卡
"""Docstring: 描述函数的功能、参数和返回值 (可选但强烈推荐)"""# 函数体: 实现功能的代码# ...return value # 可选,用于返回结果def: 关键字,表示开始定义一个函数。function_name: 函数的名称,应遵循Python的命名约定(通常是小写字母和下划线,例如 calculate_area,用英文单词含义和下划线来作为函数名)。parameter1, parameter2, ...: 函数的参数(也叫形参),是函数在被调用时接收的输入值。
2025-05-15 03:39:32
713
原创 第二十四天打卡
异常处理1.异常处理机制2.debug过程中的各类报错3.try-except机制4.try-except-else-finally机制。
2025-05-15 03:03:12
826
原创 第二十二天打卡
--- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意# 这里的类别顺序需要和你之前映射的顺序一致。
2025-05-13 04:30:21
429
原创 第二十一天打卡
这个结果略微差于聚类后的效果,但和一开始考虑所有特征的预测效果差不多,这个降维算法也比较成功。首先我们要对训练集和测试集进行处理,将非数字部分进行编码,并且将空缺值进行填充。- 输出每个模型的最佳参数和评估指标(准确率、精确率、召回率和F1分数)- 对每个模型分别使用网格搜索和贝叶斯优化进行超参数调优。这里可以看出预测结果大大提高了,这个调整工程是成功的。- 使用三个典型模型:随机森林、支持向量机和逻辑回归。- 在验证集上评估每个模型的性能。
2025-05-11 06:27:19
1135
原创 第二十天打卡
想象你有一堆三维空间的点,PCA就是找到一个最佳的二维平面,把这些点投影上去,使得投影后的点尽可能分散(保留最多信息)。想象你有一堆学生数据(身高、体重、成绩),LDA就像找到一个最佳角度拍照,让不同班级的学生在照片上尽可能分开站,而同一个班级的学生尽量站在一起。- pca.explained_variance_ratio_ :每个主成分解释的方差比例。- 无监督降维:只需要特征矩阵X(n_samples × n_features)- pca.components_ :各主成分由原始特征的权重。
2025-05-10 05:31:54
665
原创 第十九天打卡
奇异值的应用a.特征降维对高维数据减小计算量可视化b.数据重构比如重构信号重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大c.降噪:通常噪声对应较小的奇异值。通过丢弃这些小奇异值并重构矩阵,可以达到一定程度的降噪效果。d.推荐系统:在协同过滤算法中,用户-物品评分矩阵通常是稀疏且高维的。SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。这里其实。
2025-05-09 08:11:26
926
原创 第十六天打卡
这段代码就像是一个"聚类质量检测仪",通过4种不同的评估标准(惯性、轮廓系数、CH指数、DB指数)来找出数据最适合分成几类(k值)。这段代码完成了从聚类到结果可视化的完整流程,就像把一堆杂乱的数据点按相似性分成7个颜色不同的组,然后投影到2D平面展示。结论:k=3是最佳聚类数,就像把顾客自然分成"高消费"、"中消费"、"低消费"三类最合理。- 轮廓系数 :像学生互评,检查同组是否亲密(+1分),不同组是否疏远(-1分)- DB指数 :像城市规划评分,小区要密集(分子小),小区间要远离(分母大)
2025-05-06 06:20:47
1031
原创 第十五天打卡
示例: np.random.uniform(35.0, 40.0, size=7)- 示例: np.random.randint(60, 100, size=5)- np.sum(axis=(1,2)) :计算每个样本所有时间和特征的总贡献。- 所有特征的SHAP值之和等于模型预测值与基准值(通常是训练集平均预测值)的差。- np.sum(axis=2) :计算每个时间步所有特征的总贡献。- 示例: np.random.rand(3, 3)- 示例: np.eye(3, dtype=int)
2025-05-05 07:16:11
802
原创 第十四天打卡
可以看到线性回归模型的效果很差,接下来我们需要对模型的超参数进行调整,先采用网格搜索和贝叶斯优化的方法。首先我们需要根据提供的混凝土强度数据文件,我将为您添加热力图和子图的可视化代码。可以看到梯度提升回归模型在结果贝叶斯优化调参后效果明显改善。也可以对训练集过采样,然后再进行训练。最后需要对特征进行SHAP可解释分析。然后我们可以得到数据的热力图和子图。然后我们需要划分测试集和训练集。
2025-05-04 05:06:38
174
原创 第十三天打卡
在SHAP可视化中,带有base value(基准值)的图通常是指force plot(力图),它展示了模型预测是如何由各个特征贡献组成的。在SHAP可视化中,带有mean(均值)的图通常是指 特征重要性图 (summary plot),它展示了各特征对模型预测的平均影响程度。在SHAP可视化中,带有"SHAP value"的图(通常是详细特征影响图)展示了各个特征值如何影响模型预测的具体细节。- E(f(x))=0.501 :基准值(模型在所有样本上的平均预测概率)
2025-05-03 20:23:38
574
原创 第十二天打卡
在处理类别不平衡的数据集时,标准机器学习算法(如默认的随机森林)可能会过度偏向多数类,导致对少数类的预测性能很差。SMOTE过采样通常能比随机过采样获得更好的模型性能,特别是在少数类的召回率上会有明显提升,同时保持较好的泛化能力。过采样后模型对少数类的识别能力(召回率)通常会提高,但需注意可能带来的过拟合风险。生成的图像是精确率-召回率曲线图,用于可视化不同分类阈值下的模型性能变化。- 蓝色虚线("b--")表示精确率(Precision)随阈值变化曲线。
2025-05-03 05:01:30
666
原创 第十一天打卡
2. 接受劣解 :以一定概率接受比当前解差的解,避免局部最优。2. 速度更新 :根据个体最优和群体最优调整移动方向。1. 温度参数 :控制搜索范围,随迭代逐渐降低。1. 粒子位置 :代表一个潜在解(参数组合)- 初始化种群:随机生成一组参数组合。- 选择:根据适应度函数选择优秀个体。- 交叉:将优秀个体的参数进行组合。- 退化算法更适合连续参数优化。- 遗传算法更适合离散参数优化。- 遗传算法更适合离散参数优化。- 退化算法参数调节更简单。- 收敛速度通常比遗传算法快。- PSO更适合连续参数优化。
2025-05-02 01:28:04
317
原创 第十天打卡
超参数调整专题1.网格搜索2.随机搜索简单介绍,非重点 实战中很少用到,可以不了解)3.贝叶斯优化2种实现逻辑,以及如何避开必须用交叉验证的问题)4.time库的计时模块方便后人查看代码运行时长这一部分主要学习模型的超参数如何调整,众所周知,模型 = 算法 + 实例化设置的外参(超参数)+训练得到的内参,合适的外参会有利于我们的模型的训练效果。
2025-04-30 10:30:00
304
原创 第九天打卡
机器学习建模与评估1.数据集的划分2.机器学习模型建模的三行代码3.机器学习模型分类问题的评估1.划分数据集按照之前运行的步骤,我们得到了将非数字的数据部分利用数字进行编码的数据集,然后现在需要对缺失值进行处理,这里我们采用一些方法填补缺失值。
2025-04-30 05:07:12
393
原创 第八天打卡
在对所有的特征绘制完热力图后,我们往往还需要对我们特别重视的几个特征绘制子图,来更好地确定它们的分布情况。这段代码会生成一个包含4个特征箱线图的专业可视化结果,每个子图都清晰展示了对应特征的分布情况。- cmap='coolwarm' 使用蓝-白-红色谱,冷色表示负相关,暖色表示正相关。- 显示数据的五数概括:最小值、第一四分位数、中位数、第三四分位数、最大值。- df.corr() 计算各特征间的皮尔逊相关系数(-1到1)- plt.subplots(2, 2) 创建2行2列的画布网格。
2025-04-29 00:42:34
336
原创 第七天打卡
使用StandardScaler进行Z-score标准化,将数据转换为均值为0,标准差为1的分布。- 使用MinMaxScaler进行Min-Max归一化,将数据缩放到[0,1]区间。在这里可以对这些特征进行独热编码,用字典映射的方法。原始值 | 归一化值 | 标准化值。连续特征的处理:归一化和标准化。方法2:使用dict()函数。方法3:从键值对列表创建。方法1:直接使用花括号。
2025-04-27 17:01:28
633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人