机器学习挑战文档深度页
Digits 候选模型公平比较
统一比较 Dummy、标准化逻辑回归、标准化 KNN、决策树以及随机森林或 SVM。
学习前需要掌握
背景与问题
逻辑回归/KNN/SVM 需要标准化,树通常不需要。K 和 max_depth 还需观察训练/验证差距。
概念定义
模型注册表让所有候选共享同一 CV 与指标,同时保留各自必要的 Pipeline。
直观理解
把项目当作一条可复现、可审计的实验链,而不是追求一次最高分。
核心原理
主要按训练部分 CV macro F1 选择,不读取测试结果;报告均值、标准差、训练和验证耗时。
数学表达
项目主线
主要按训练部分 CV macro F1 选择,不读取测试结果;报告均值、标准差、训练和验证耗时。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1注册 Dummy
- 2LR Pipeline
- 3KNN Pipeline 并比较 K
- 4树比较深度
代码对应位置
示例 1Digits 候选模型公平比较 核心代码:对应项目要求中的可运行核心步骤。
计算与实现步骤
- 1
注册 Dummy
- 2
LR Pipeline
- 3
KNN Pipeline 并比较 K
- 4
树比较深度
- 5
增加 RF/SVM
- 6
同一五折 cross_validate
- 7
锁定最终模型
代码实现
示例 1
Digits 候选模型公平比较 核心代码
Digits 候选模型公平比较 核心代码
scikit-learn
example_01.py用途:对应项目要求中的可运行核心步骤。
models={
"dummy":DummyClassifier(strategy="most_frequent"),
"lr":make_pipeline(StandardScaler(),LogisticRegression(max_iter=3000)),
"knn":make_pipeline(StandardScaler(),KNeighborsClassifier()),
"tree":DecisionTreeClassifier(random_state=42),
}代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应项目要求中的可运行核心步骤。
Step 1 · 1–6 行
固定数据协议保证模型公平比较。
models={
"dummy":DummyClassifier(strategy="most_frequent"),
"lr":make_pipeline(StandardScaler(),LogisticRegression(max_iter=3000)),
"knn":make_pipeline(StandardScaler(),KNeighborsClassifier()),
"tree":DecisionTreeClassifier(random_state=42),
}代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
得到名称到估计器的统一映射,后续同折比较。
常见错误 · 4 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 不同折比较
- 省略 Dummy
- 需要缩放的模型脱离 Pipeline
实际应用
- 多模型实验
- 算法选型
常见错误
不同折比较
省略 Dummy
需要缩放的模型脱离 Pipeline
文档来源
综合练习项目|传统机器学习手写数字识别原始文档
学习资料/learning_tech/practice_project_digits\README.md- §6 必须完成的模型
- §7 推荐增加的模型
- §12 FR-04–FR-07
- §14 验收评分
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。