- 博客(24)
- 收藏
- 关注
原创 DAY 25 异常处理
如果这段可能出错的代码位于 try 语句块中,程序流程会寻找并跳转到匹配的 except 语句块(如果存在)来处理这个异常。更准确的理解: else 子句中的代码是你希望在 try 块中的代码成功完成且没有引发任何异常之后才执行的代码。在ML/DL项目中,由于流程长、资源消耗大、外部依赖多,finally 提供的这种“保证执行”的机制对于构建稳定、可靠的系统至关重要。finally这个无论如何都会执行的特性,在机器学习和深度学习的中,多涉及资源的保存、文件的关闭等。Debug过程中的各类报错。
2025-07-25 18:46:36
473
原创 DAY 24 元组和OS模块
知识点回顾:元组可迭代对象os模块元组1. 元组的定义和特点元组是python中一个,用于存储一系列的元素。元组中的元素可以是任何类型,包括数据、字符串、列表等,且元组之间用,整个元组用包围。
2025-07-24 21:26:41
641
原创 DAY 23 Pipeline 管道
--- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意# 这里的类别顺序需要和你之前映射的顺序一致。
2025-07-23 22:11:32
584
原创 DAY 21 常见的降维算法
t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。与PCA关注全局方差不同,t-SNE 更关注局部细节。理解它的超参数(尤其是困惑度)和结果的正确解读方式非常重要。线性判别分析 (Linear Discriminant Analysis, LDA)
2025-07-21 22:53:23
967
原创 DAY 20 奇异值分解(SVD)
数据降维成功减少了特征维度,降低了数据复杂性。模型在测试集上的准确率处于中等水平,训练集的近似误差也在可接受范围内,但无论是降维效果还是模型性能,都还有进一步优化提升的空间。比如,可以尝试调整降维时保留的特征数量k,或者对模型进行调参、更换更合适的模型等操作,来提高准确率并降低误差。@浙大疏锦行。
2025-07-20 23:18:51
1087
原创 DAY 19 常见的特征筛选算法
过去电脑性能比较差,特征数目太多计算起来很慢。同时特征中可能存在很多冗余特征干扰解释性、存在噪声特征干扰精度。所以在面对高维特征的时候常常需要引入特征降维,之前课程中项目的特征也就小几十个,不太需要做降维,对于某些特征较多的数据,如基因数据、微生物数据、传感器数据等,特征较多,所以会考虑特征降维。筛选,比如方差筛选,剔除方差过小的特征;利用皮尔逊相关系数筛选;lasso筛选(lasso自带的系数可以理解为重要性)、利用树模型自带的重要性、shap重要性等筛选;特征递归方法。组合,如pca等。
2025-07-19 19:07:47
761
原创 DAY 17 常见聚类算法
轮廓系数:从每个样本的 “感受” 出发,越接近 1 越好。CH 指数:看整体 “类内紧、类间远”,分数越高越好。DB 指数:看类与类是否太像,分数越低越好。聚类常见算法KMeans 聚类KMeans 是一种基于距离的聚类算法,需要预先指定聚类个数,即 `k`。其核心步骤如下:1. 随机选择 `k` 个样本点作为初始质心(簇中心)。2. 计算每个样本点到各个质心的距离,将样本点分配到距离最近的质心所在的簇。3. 更新每个簇的质心为该簇内所有样本点的均值。
2025-07-17 20:11:34
798
原创 DAY 16 数组的常见操作和形状
知识点:numpy数组的创建:简单创建、随机创建、遍历、运算numpy数组的索引:一维、二维、三维SHAP值的深入理解数组的创建NumPy 数组基础笔记NumPy 数组的维度 (Dimension)或称为轴 (Axis)的概念,与我们日常理解的维度非常相似。
2025-07-16 22:22:44
393
原创 DAY 14 经典机器学习中的SHAP可解释分析
SHAP 通过计算每个特征对单个预测(相对于平均预测)的边际贡献(Shapley 值),提供了一种将模型预测分解到每个特征上的方法。这种分解对于每个样本和每个特征(以及分类问题中的每个类别)都需要进行,因此生成了我们看到的。分类问题和回归问题输出的shap_values的形状不同。根据上述原理,SHAP 需要为每个样本的每个特征计算一个。将是未来学习神经网络最重要的东西之一。
2025-07-14 22:54:31
955
原创 DAY 13 不平衡数据的处理
知识点:不平衡数据集的处理策略:过采样、修改权重、修改阈值交叉验证代码过采样随机过采样ROS随机过采样是从少数类中随机选择样本,并将其复制后添加到训练集。随机过采样的优点是,它可以,从而模型的。随机过采样的缺点是,它可能会,从而。此外,它可能会,并且可能会增加模型的偏差。smote过采样smote过采样是合成样本的方法。SMOTE的是通过进行来修改权重。
2025-07-13 22:40:10
1003
原创 DAY 12 启发式算法
启发式算法是解决复杂问题的一把 “瑞士军刀”,它不追求完美,但强调实用。当面对 “找不到最优解” 或 “找最优解成本太高” 的问题时,启发式算法是你的最佳选择。模拟退火可以把机器学习中的 “退火算法” 理解成一个 “聪明试错” 的过程,就像我们找东西时,从一开始大范围摸索,慢慢聚焦到精准位置,既不会错过可能的好地方,又能高效找到目标。用生活化的例子理解核心思路想象你在一座大雾笼罩的山上,想找到最低的山谷一开始你可能站在某个坡上,脚下有点陡(比如向左走会变高,向右走会变低)。
2025-07-12 13:00:00
1503
原创 DAY 11 常见的调参方式
核心优势: 它不是随机选择下一个点,而是根据先前评估的结果建立一个概率模型(通常是高斯过程),预测哪些参数组合可能产生更好的结果,并据此选择下一个评估点。这使得它在寻找最优解方面通常比随机搜索更高效(用更少的迭代次数达到相似或更好的性能),特别是当模型训练(单次评估)非常耗时的时候。实际上,有着非常多的方式可以实现贝叶斯优化,上面的代码比较简洁美观,贝叶斯优化和网格搜索的代码书写风格高度一致。- 需要定义参数的搜索空间,与随机搜索类似,当搜索空间非常大时,它通常比网格搜索和随机搜索更有效。
2025-07-11 18:06:50
501
原创 DAY 10 机器学习建模与评估
知识点:数据集的划分机器学习模型建模的三行代码机器学习模型分类问题的评估数据集的划分首先进行数据划分,记住之前课上的划分方法:只要调参就要考2次这里我们先不调参,所以只需要划分一次即可机器学习模型建模的三行代码1. 模型实例化2. 模型训练(代入训练集)3. 模型预测 (代入测试集)评估方式测试集的预测值和测试集的真实值进行对比,得到混淆矩阵基于混淆矩阵,计算准确率、召回率、F1值,这些都是固定阈值的评估指标。
2025-07-10 20:47:31
532
原创 DAY 9 热力图和子图的绘制
是 Python 内置函数,用于将可迭代对象(如列表、元组、字符串)组合为索引序列,同时返回元素和其对应索引。这在需要同时访问元素和索引的循环中特别有用。尝试对着心脏病数据集绘制热力图和单特征分布的大图(包含几个子图)知识点:热力图和子图的绘制。enumerate()函数。介绍了热力图的绘制方法。介绍了子图的绘制方法。
2025-07-09 16:47:51
557
原创 DAY 8 标签编码与连续变量处理
字典字典是 Python 中一种非常常用的数据结构,它是一种可变容器模型,可以存储任意类型的对象。字典中的每个元素都是一个键值对标签编码离散特征(不存在顺序):采用独热编码,函数为pd.get_dummies()离散特征(存在顺序和大小关系):采用标签编码,借助dataframe的map函数特征是二分类时,直接映射为0和1,三分类以上才涉及独热编码实际上借助一个映射函数也可以实现上面2次编码,字典的键值对可以嵌套字典连续特征的处理:归一化和标准化归一化。
2025-07-08 21:34:35
388
原创 DAY 6 描述性统计
1. 单特征可视化:连续变量箱线图(以及核密度直方图)、离散特征直方图。但是实际上连续变量也可以绘制类似于直方图的图像,可以用。2. 特征和标签关系可视化。内容回顾:数据初步可视化。估计来完成边缘的柔和化。标签和特征均为离散的。
2025-07-06 21:13:53
300
原创 DAY 5 独热编码
现在在py文件中 一次性处理data数据中所有的连续变量和离散变量。3. 对独热编码后的变量转化为int类型。先按照示例代码过一遍,然后完成下列题目。2. 对离散变量进行one-hot编码。4. 对所有缺失值进行填充。题目:离散特征的独热编码。1. 读取data数据。
2025-07-05 17:02:40
151
原创 DAY 4 缺失值的处理
完成后在py文件中独立完成一遍,并且利用debugger工具来查看属性(不借助函数显式查看)----养成利用debugger工具的习惯。按照示例代码的要求,去尝试补全信贷数据集中的数值型缺失值。1. 打开数据(csv文件、excel文件)2. 查看数据(尺寸信息、查看列名等方法)题目:初识pandas库与缺失数据的补全。打开数据(csv文件、excel文件)查看数据(尺寸信息、查看列名等方法)5. 利用循环补全所有列的空值。4. 众数、中位数填补空值。利用循环补全所有列的空值。众数、中位数填补空值。
2025-07-04 21:53:30
199
原创 DAY 3 列表、循环和判断语句
创建一个包含三个字符串元素的列表 tech_list,元素分别为 “Python”, “Java”, “Go”。修改 tech_list 中的第二个元素(索引为 1),将其从 “Java” 更改为 “Ruby”。计算当前 tech_list 的长度,并将结果存储在变量 current_length 中。获取列表中的第一个元素,并将其存储在变量 first_tech 中。- 28-35度:打印"黄色预警:天气炎热"- 20-27度:打印"绿色提示:适宜温度"- 低于20度:打印"蓝色预警:注意保暖"
2025-07-03 21:08:00
732
原创 DAY 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-07-02 20:47:04
320
原创 DAY 1 变量与格式化字符串
计算这两个变量的和,并将结果存储在一个新的变量 a 中;计算这两个变量的商,叫做b;计算这两个变量的余数,叫做c。然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。计算折扣后的价格,并将结果存储在变量。和 f-string,如何让姓名和城市分两行输出?函数将每个变量的值单独打印出来,每个值占一行。将这两个变量组合成一句话并打印出来。如果想在输出的姓名两边加上引号,例如。计算节省了多少钱,存储在变量。存储你所在的城市(字符串,例如。存储你的名字(字符串,例如。
2025-07-01 23:30:21
480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人