- 博客(30)
- 收藏
- 关注
原创 ADVANCE Day30
场景描述在真实项目中,我们通常把模型定义放在model.py,数据处理放在dataset.py。为了在 Notebook 中演示这个过程,我们使用 Jupyter 的魔法命令来现场生成一个.py文件。任务使用创建一个 Python 脚本文件。在里面定义一个函数和一个变量version。在 Notebook 中,并使用里面的函数和变量。name }!!
2025-12-25 10:46:12
665
原创 ADVANCE Day29
今天我们学习了 Python 高阶技巧 ——类装饰器。这完美体现了软件工程中的“开放-封闭原则” (Open-Closed Principle)对扩展开放:我们可以通过装饰器随意给类增加功能(Save, Monitor, Singleton)。对修改封闭:我们完全没有修改class内部的原始代码。深度学习伏笔还记得你在使用 PyTorch 或 TensorFlow 时,某些操作不需要你写,import 进来就能用吗?或者某些模型自动被注册到了系统里?背后往往就是类装饰器在默默工作。
2025-12-24 13:04:13
853
原创 ADVANCE Day28
场景描述我们来模拟定义一个最基础的“模型”类。所有的模型都有名字,都能进行预测。任务定义一个类BaseModel。在__init__中初始化属性model_name。定义一个方法,打印 “正在使用 [模型名] 预测数据…”。实例化:用它创建一个名为 “ChatGPT” 的对象,并调用predict。# 1. 定义类 (图纸)"""构造函数:每次创建新对象时自动调用self: 代表"这个对象自己""""self.model_name = name # 将传入的名字存到对象属性里。
2025-12-22 11:15:39
819
原创 ADVANCE Day27
今天我们掌握了 Python 的装饰器。把一个函数扔进另一个函数里加工一下再拿出来。装饰器的核心价值非侵入式:不想改动train()函数内部复杂的逻辑,但又想加个计时功能?加个@timer就行。复用性:写一个@retry,可以用在下载函数、数据库连接函数、API 请求函数等任何地方。深度学习伏笔在 PyTorch 中,你会见到(静态方法)、@property(属性化) 甚至自定义的 Hooks。理解了今天的作业,你再看那些源码时,看到的就不再是“天书”,而是一个个精巧的Wrapper。
2025-12-21 11:37:50
753
原创 ADVANCE Day26
场景描述在机器学习中,我们经常需要计算各种指标(如 Precision, Recall, F1)。虽然sklearn有现成的,但为了理解原理,我们需要手写一个。任务编写一个函数。要求包含清晰的文档字符串 (Docstring),说明参数和返回值。处理分母为 0 的情况(防止除零报错,返回 0)。返回计算好的 F1 分数。"""计算 F1 Score 的自定义函数。
2025-12-20 21:48:31
558
原创 ADVANCE Day25
今天我们学习了 Python 的异常处理机制,这是从“写脚本”转向“写工程”的重要一步。防御性编程:不要假设输入永远是正确的,文件永远是存在的,网络永远是通畅的。结构化处理try: 核心逻辑。except: 错误兜底。else: 成功后的进一步操作(逻辑解耦)。finally: 无论生死,必须完成的清理工作(如关闭文件、保存模型)。AI 编程习惯:正如课程开头所说,AI 生成的代码为了保证健壮性,常大量使用这种结构。理解它,你就能更好地利用 AI 辅助开发。Next Level。
2025-12-16 11:15:24
741
原创 ADVANCE Day24
场景描述在深度学习中,很多超参数(Hyperparameters)一旦确定就不应被修改,例如输入图片的尺寸(224, 224)或 优化器的参数。如果使用列表(List),不小心被修改了会导致训练崩溃。因此,元组(Tuple)是最佳选择。任务定义一个元组,包含:模型名称、输入尺寸(H, W)、Batch Size。尝试修改其中的元素(验证不可变性)。模拟 Pipeline 结构:创建一个包含多个(步骤名, 对象)元组的列表,并遍历打印。# --- 1. 定义模型配置 (元组) ---
2025-12-15 18:11:28
526
原创 ADVANCE Day23
通过今天的实战,我们将原本分散、混乱的数据处理代码,重构为了一个优雅的Pipeline对象。Pipeline 的核心优势封装性 (Encapsulation)一行代码搞定所有,不用担心漏掉哪一步预处理。安全性 (Safety):自动在训练集上计算均值/方差,并应用到测试集,严防数据泄露。可移植性 (Portability):这个对象可以直接保存 (Pickle),以后来了新数据,加载出来直接.predict()即可,无需重写清洗逻辑。这是从“写作业”迈向“写项目”的重要一步!
2025-12-14 13:44:00
541
原创 ADVANCE Day22_复习日
预处理的威力:没有,PCA 和 LDA 很容易被大数值特征(如年收入)带偏。标准化是降维的“入场券”。有监督 vs 无监督PCA虽然保留了更多原始信息(10维),但在分类精度上往往不敌LDA。LDA利用标签信息 (yyy),仅用1 维就能凝聚最强的分类特征,这是业务场景中“提效降本”的神器。信任机制:SHAP 分析让我们不再盲目信任 Accuracy。看到“长期债务”和“信用分”排在 Summary Plot 前列,我们才能放心地将模型上线。
2025-12-11 14:05:36
585
原创 ADVANCE Day21
算法类型核心能力适用场景关键结论 (实测)PCA无监督保方差通用降维、去噪稳健,但在回归中容易丢失关键信息 (R2: 0.19)t-SNE无监督保邻居可视化(2D/3D)不可用于训练,但能清晰展示数据流形结构 (看见了高价房的聚集)LDA有监督保分类分类任务增强分类 Recall 暴涨,但受限于类别数 (C-1)PLS有监督保相关回归任务降维回归中的 LDA!在低维空间完胜 PCA (R2: 0.47 vs 0.19)
2025-12-10 16:15:47
928
原创 ADVANCE Day20
绘制 SHAP 蜂巢图 (Beeswarm Plot),从全局视角观察特征重要性及影响方向(正/负相关)。(收入中位数) 的依赖图,探究其与房价之间的具体非线性关系。针对单个样本(例如第 0 号样本),解释预测值是如何从。绘制力图 (Force Plot)…(样本数, 特征数)
2025-12-09 15:12:15
580
原创 ADVANCE Day19
任务描述加载混凝土抗压强度数据集 (划分训练集和测试集 (80% : 20%)。定义待评估的 4 个回归模型字典。涉及知识点: 读取数据。: 数据切分。: 集成学习回归器。# 设置绘图风格# --- 1. 加载数据 ---# 使用 Day 18 提供的稳定数据源print("正在加载混凝土数据...")try:print("数据加载成功!")except:print("⚠️ 网络加载失败,请检查网络或使用本地文件。")# 重命名列方便阅读# --- 2. 数据切分 ---
2025-12-05 20:01:41
889
原创 ADVANCE Day18
本次实战我们以加州房价预测数据透视:成功将 sklearn 的Bunch数据转化为可视化的 Pandas DataFrame,并完成了 8:2 的训练测试切分。模型竞技:横向对比了 Linear Regression, Decision Tree, Random Forest, Gradient Boosting 四大模型。结论:非线性模型(RF & GBDT)在R2R^2R2和 RMSE 上全面碾压线性模型,证明了该数据集存在复杂的非线性关系。深度可视化Regplot:揭示了模型在真实值y。
2025-12-03 18:22:50
608
原创 ADVANCE Day17
数据预处理的关键性虽然随机森林可以直接训练整数标签,但为了进行科学的 OVR 评估(绘制 ROC),必须使用将测试集标签转换为One-Hot 格式。预测结果的“两副面孔”软分类 (:输出概率矩阵,是计算 AUC、KS 和绘制 ROC 曲线的基础。硬分类 (predict:输出类别索引,是计算 MCC、F1-score 和混淆矩阵的基础。高阶评估指标的物理含义:完美的马修斯系数说明模型在处理潜在的类别不平衡时依然表现稳健。Micro (微平均):关注整体样本的准确度。Macro (宏平均)
2025-12-01 20:22:07
764
原创 ADVANCE Day15
今天我们通过实战数据集,系统地掌握了应对不平衡分类问题的全套策略。从数据清洗到模型调优,我们见证了 F1-Score 从 0.64 提升到 0.67 的完整过程。
2025-11-22 19:40:26
989
原创 ADVANCE Day14
多目标优化是指同时优化多个目标函数的问题,这些目标之间往往存在冲突。在信贷风控中,我们既希望精确率高(避免误判优质客户为高风险)也希望召回率高(避免漏掉高风险客户)这两个目标通常是此消彼长的关系,无法同时达到最优。# 重置 DEAP (关键:清除之前的随机森林 Creator 设置)try:pass# 定义物种 (双目标最大化)# 定义工具箱 (随机森林版)# 定义基因 (整数)# 组装# 解码参数# 实例化模型# 训练与预测# 计算指标# 定义工具箱 (SVM 版)
2025-11-22 14:54:35
918
原创 ADVANCE Day12
对其他模型尝试贝叶斯可视化,并且选择一个模型试着去理解它背后的思想。简单的解包思想:通过items方法解包字典,字典的items方法,注意和。随机森林的基础思想和关键参数。将集合元素分散到变量中。
2025-11-17 18:18:40
164
原创 ADVANCE Day11
----基于代理模型的思想,用简单的模型(高斯回归、决策树、神经网络)来替代复杂且计算成本高的模型,实现形式多样(sklearn、贝叶斯优化库、optuna)对于信贷数据的其他模型,如LightGBM和KNN 尝试用下贝叶斯优化。time库的计时模块,方便后人查看代码运行时长。----基于采样的思想,大幅减少搜索的点。----最小mvp法则。
2025-11-15 21:42:46
179
原创 ADVANCE Day10
机器学习的流程顺序-----不要数据泄露(归一化器在划分数据集后)异常值的处理---箱线图去除异常值的思想和迭代问题。尝试对心脏病数据集采用机器学习模型建模和评估。机器学习模型建模的三行代码。机器学习模型分类问题的评估。
2025-11-14 20:44:19
147
原创 ADVANCE Day8
对独热编码的深入理解----n个不相关变量只有n-1个自由的。----一般选一个即可,谁好谁坏做了才知道,除非有先验知识。连续特征的处理:归一化和标准化。
2025-11-08 22:15:13
285
原创 ADVANCE Day6
2、大部分客户的信用分都集中在700-750的高分区间,且收入集中在较低的范围,同时存在极少数极端高收入者。去针对其他特征绘制单特征图和特征和标签的关系图,并且试图观察出一些有意思的结论。单特征可视化:连续变量箱线图(还说了核密度直方图)、离散特征直方图。3、长期贷款的违约比例相对更高,信用分越低,违约风险越高。1、客户主体是有房贷和租房的人(绝大多数贷款是短期的)Step2:导入数据并对数据做简要预处理。Step5:特征与标签的关系可视化。Step3:离散数据特征可视化。Step4:连续型特征可视化。
2025-11-06 20:41:46
241
原创 ADVANCE Day5
对连续变量的缺失值采用中位数补充,离散变量采用众数补充(此处不能仅仅使用一次mode()方法,因为该方法一次只能处理一种数据类型,而此时的离散变量中不止包含字符类型数据,还有浮点数值类型数据)由于数值类型的数据不需要独热编码,故提取离散数据列中的字符类型列进行独热编码,编码后将其转换成int型。设立门槛来区分离散变量和连续变量,而不是简单的通过数据类型来区分。部分代码不能跳步执行的原因。和填补缺失值的顺序关系。
2025-11-06 14:20:13
174
原创 ADVANCE Day4
其中,.isnull()方法会在原数据集的数据空缺处标1(True),不空缺处标0(False),.sum()方法用于将每一栏空缺处的数量进行累加。pandas包查看和读取文件。debugger调试控制台。众数和中位数填补缺失值。
2025-11-05 16:45:49
146
原创 ADVANCE Day3
初始化两个变量:excellent_count 用于记录分数大于等于 90 的个数,初始值为 0;total_score 用于累加所有分数,初始值为 0。定义一个包含整数的列表 scores,赋值为 [85, 92, 78, 65, 95, 88]。循环结束后,计算平均分 average_score(总分除以分数的个数)。使用 for 循环遍历 scores 列表中的每一个分数。将当前分数累加到 total_score 变量上。所有分数的平均分(结果包含3位小数)。优秀分数(>=90)的个数。
2025-11-03 17:21:02
181
原创 ADVANCE Day1
计算这两个变量的和,并将结果存储在一个新的变量 a 中;计算这两个变量的商,叫做b;计算这两个变量的余数,叫做c。然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。计算折扣后的价格,并将结果存储在变量。和 f-string,如何让姓名和城市分两行输出?函数将每个变量的值单独打印出来,每个值占一行。将这两个变量组合成一句话并打印出来。如果想在输出的姓名两边加上引号,例如。计算节省了多少钱,存储在变量。存储你所在的城市(字符串,例如。存储你的名字(字符串,例如。
2025-11-01 14:43:20
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅