- 博客(27)
- 收藏
- 关注
原创 第二十五天打卡
"""Docstring: 描述函数的功能、参数和返回值 (可选但强烈推荐)"""# 函数体: 实现功能的代码# ...return value # 可选,用于返回结果def: 关键字,表示开始定义一个函数。function_name: 函数的名称,应遵循Python的命名约定(通常是小写字母和下划线,例如 calculate_area,用英文单词含义和下划线来作为函数名)。parameter1, parameter2, ...: 函数的参数(也叫形参),是函数在被调用时接收的输入值。
2025-05-15 03:39:32
489
原创 第二十四天打卡
异常处理1.异常处理机制2.debug过程中的各类报错3.try-except机制4.try-except-else-finally机制。
2025-05-15 03:03:12
808
原创 第二十二天打卡
--- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意# 这里的类别顺序需要和你之前映射的顺序一致。
2025-05-13 04:30:21
416
原创 第二十一天打卡
这个结果略微差于聚类后的效果,但和一开始考虑所有特征的预测效果差不多,这个降维算法也比较成功。首先我们要对训练集和测试集进行处理,将非数字部分进行编码,并且将空缺值进行填充。- 输出每个模型的最佳参数和评估指标(准确率、精确率、召回率和F1分数)- 对每个模型分别使用网格搜索和贝叶斯优化进行超参数调优。这里可以看出预测结果大大提高了,这个调整工程是成功的。- 使用三个典型模型:随机森林、支持向量机和逻辑回归。- 在验证集上评估每个模型的性能。
2025-05-11 06:27:19
1057
原创 第二十天打卡
想象你有一堆三维空间的点,PCA就是找到一个最佳的二维平面,把这些点投影上去,使得投影后的点尽可能分散(保留最多信息)。想象你有一堆学生数据(身高、体重、成绩),LDA就像找到一个最佳角度拍照,让不同班级的学生在照片上尽可能分开站,而同一个班级的学生尽量站在一起。- pca.explained_variance_ratio_ :每个主成分解释的方差比例。- 无监督降维:只需要特征矩阵X(n_samples × n_features)- pca.components_ :各主成分由原始特征的权重。
2025-05-10 05:31:54
654
原创 第十九天打卡
奇异值的应用a.特征降维对高维数据减小计算量可视化b.数据重构比如重构信号重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大c.降噪:通常噪声对应较小的奇异值。通过丢弃这些小奇异值并重构矩阵,可以达到一定程度的降噪效果。d.推荐系统:在协同过滤算法中,用户-物品评分矩阵通常是稀疏且高维的。SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。这里其实。
2025-05-09 08:11:26
901
原创 第十六天打卡
这段代码就像是一个"聚类质量检测仪",通过4种不同的评估标准(惯性、轮廓系数、CH指数、DB指数)来找出数据最适合分成几类(k值)。这段代码完成了从聚类到结果可视化的完整流程,就像把一堆杂乱的数据点按相似性分成7个颜色不同的组,然后投影到2D平面展示。结论:k=3是最佳聚类数,就像把顾客自然分成"高消费"、"中消费"、"低消费"三类最合理。- 轮廓系数 :像学生互评,检查同组是否亲密(+1分),不同组是否疏远(-1分)- DB指数 :像城市规划评分,小区要密集(分子小),小区间要远离(分母大)
2025-05-06 06:20:47
1017
原创 第十五天打卡
示例: 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
787
原创 第十四天打卡
可以看到线性回归模型的效果很差,接下来我们需要对模型的超参数进行调整,先采用网格搜索和贝叶斯优化的方法。首先我们需要根据提供的混凝土强度数据文件,我将为您添加热力图和子图的可视化代码。可以看到梯度提升回归模型在结果贝叶斯优化调参后效果明显改善。也可以对训练集过采样,然后再进行训练。最后需要对特征进行SHAP可解释分析。然后我们可以得到数据的热力图和子图。然后我们需要划分测试集和训练集。
2025-05-04 05:06:38
155
原创 第十三天打卡
在SHAP可视化中,带有base value(基准值)的图通常是指force plot(力图),它展示了模型预测是如何由各个特征贡献组成的。在SHAP可视化中,带有mean(均值)的图通常是指 特征重要性图 (summary plot),它展示了各特征对模型预测的平均影响程度。在SHAP可视化中,带有"SHAP value"的图(通常是详细特征影响图)展示了各个特征值如何影响模型预测的具体细节。- E(f(x))=0.501 :基准值(模型在所有样本上的平均预测概率)
2025-05-03 20:23:38
532
原创 第十二天打卡
在处理类别不平衡的数据集时,标准机器学习算法(如默认的随机森林)可能会过度偏向多数类,导致对少数类的预测性能很差。SMOTE过采样通常能比随机过采样获得更好的模型性能,特别是在少数类的召回率上会有明显提升,同时保持较好的泛化能力。过采样后模型对少数类的识别能力(召回率)通常会提高,但需注意可能带来的过拟合风险。生成的图像是精确率-召回率曲线图,用于可视化不同分类阈值下的模型性能变化。- 蓝色虚线("b--")表示精确率(Precision)随阈值变化曲线。
2025-05-03 05:01:30
649
原创 第十一天打卡
2. 接受劣解 :以一定概率接受比当前解差的解,避免局部最优。2. 速度更新 :根据个体最优和群体最优调整移动方向。1. 温度参数 :控制搜索范围,随迭代逐渐降低。1. 粒子位置 :代表一个潜在解(参数组合)- 初始化种群:随机生成一组参数组合。- 选择:根据适应度函数选择优秀个体。- 交叉:将优秀个体的参数进行组合。- 退化算法更适合连续参数优化。- 遗传算法更适合离散参数优化。- 遗传算法更适合离散参数优化。- 退化算法参数调节更简单。- 收敛速度通常比遗传算法快。- PSO更适合连续参数优化。
2025-05-02 01:28:04
309
原创 第十天打卡
超参数调整专题1.网格搜索2.随机搜索简单介绍,非重点 实战中很少用到,可以不了解)3.贝叶斯优化2种实现逻辑,以及如何避开必须用交叉验证的问题)4.time库的计时模块方便后人查看代码运行时长这一部分主要学习模型的超参数如何调整,众所周知,模型 = 算法 + 实例化设置的外参(超参数)+训练得到的内参,合适的外参会有利于我们的模型的训练效果。
2025-04-30 10:30:00
286
原创 第九天打卡
机器学习建模与评估1.数据集的划分2.机器学习模型建模的三行代码3.机器学习模型分类问题的评估1.划分数据集按照之前运行的步骤,我们得到了将非数字的数据部分利用数字进行编码的数据集,然后现在需要对缺失值进行处理,这里我们采用一些方法填补缺失值。
2025-04-30 05:07:12
385
原创 第八天打卡
在对所有的特征绘制完热力图后,我们往往还需要对我们特别重视的几个特征绘制子图,来更好地确定它们的分布情况。这段代码会生成一个包含4个特征箱线图的专业可视化结果,每个子图都清晰展示了对应特征的分布情况。- cmap='coolwarm' 使用蓝-白-红色谱,冷色表示负相关,暖色表示正相关。- 显示数据的五数概括:最小值、第一四分位数、中位数、第三四分位数、最大值。- df.corr() 计算各特征间的皮尔逊相关系数(-1到1)- plt.subplots(2, 2) 创建2行2列的画布网格。
2025-04-29 00:42:34
322
原创 第七天打卡
使用StandardScaler进行Z-score标准化,将数据转换为均值为0,标准差为1的分布。- 使用MinMaxScaler进行Min-Max归一化,将数据缩放到[0,1]区间。在这里可以对这些特征进行独热编码,用字典映射的方法。原始值 | 归一化值 | 标准化值。连续特征的处理:归一化和标准化。方法2:使用dict()函数。方法3:从键值对列表创建。方法1:直接使用花括号。
2025-04-27 17:01:28
622
原创 第六天打卡
4. 将箱线图转换为更美观的分布直方图,并按违约状态着色。1. 对连续变量(年收入、信用历史年限等)绘制箱线图。2. 对离散变量(税收留置、开户数量等)绘制直方图。1.单特征可视化:连续变量箱线图、离散特征直方图。3. 展示各特征与信用违约标签的关系。2.特征和标签关系可视化。3.箱线图美化为直方图。
2025-04-25 23:53:56
206
原创 第五天打卡
整个流程实现了从原始数据到建模可用数据的自动化转换,特别适合包含混合类型变量的数据集预处理。在py文件中 一次性处理data数据中所有的连续变量和离散变量。- 将one-hot编码生成的uint8类型转换为int类型。- 文件路径在原文件名后添加"_processed"后缀。- 自动识别离散变量列(唯一值少于10个的非数值列)- 生成的新列会以"原列名_值"的形式命名。- 最终将处理后的数据保存为新的CSV文件。2. 对离散变量进行one-hot编码。- 会打印每个列的填补值。- 删除原始离散变量列。
2025-04-25 00:49:32
137
原创 第四天打卡
假设你有一个包含图片文件名的列表,每个文件名都遵循 [动物类别][数字编号].[扩展名] 的格式,例如 "cat1.jpg", "dog23.png", "bird005.gif" 等。你的任务是编写一个 Python 脚本,使用正则表达式从每个文件名中提取出动物的类别(即文件名开头部分的英文字母)。例如,模式可以考虑匹配开头的字母 ([a-zA-Z]+)。如果未找到匹配项(例如,对于 "cat_007.jpg",如果你的模式只匹配纯字母开头,可能就匹配不上),则不进行添加。
2025-04-24 03:16:25
906
原创 第三天打卡
值得注意的是,在Python的条件判断中,使用 if-elif-else 结构时,各个条件定义的集合 可以有交集 ,但实际执行时会按照 从上到下的顺序匹配第一个满足的条件 ,后续条件即使也满足也不会被执行。在Python的 if-elif-else 结构中, 只要满足任何一个条件分支,就会立即执行对应的代码块,然后直接跳出整个判断结构 ,不会继续检查后续条件。这是它的核心执行逻辑。创建一个包含三个字符串元素的列表 tech_list,元素分别为 “Python”, “Java”, “Go”。
2025-04-23 01:08:03
663
原创 第二天打卡
是的是的浙大疏锦行题目: 定义两个字符串变量,str1 赋值为 “Hello”,str2 赋值为 “Python”。将这两个字符串拼接起来(中间加一个空格),并将结果存储在变量 greeting 中;计算 greeting 字符串的长度,存储在变量 length 中;获取 greeting 字符串的第一个字符,存储在变量 first_char 中。然后,使用 f-string 分三行打印出类似以下格式的信息:拼接结果: Hello Python字符串长度: 12第一个字符: H第二个字符:e最后一个字符是:
2025-04-21 17:02:14
283
原创 第一天打卡
计算这两个变量的和,并将结果存储在一个新的变量 a 中;计算这两个变量的余数,叫做c。然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。这里的 f 是 Python 中的 f-string (格式化字符串字面量)的前缀符号。2. 加上转换后的b和换行符 → "1\n2\n"函数将每个变量的值单独打印出来,每个值占一行。1. str(a) - 将变量a的值转换为字符串。3. 最后加上转换后的c → "1\n2\n3"- {a} 会被替换为变量 a 的值(1)
2025-04-21 03:27:56
926
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人