机器学习挑战文档深度页
端到端 Wine 分类项目
从 Wine 数据审计、固定测试集、Pipeline、交叉验证与搜索走到最终评价、保存、预测和监控。
学习前需要掌握
背景与问题
只调用 fit 无法保证预处理正确、比较公平、输入一致或上线可维护。
概念定义
端到端项目要求每个阶段都有明确输入、输出和边界,最终产物是完整 Pipeline 与可复现报告。
直观理解
把项目当作一条可复现、可审计的实验链,而不是追求一次最高分。
核心原理
模型选择只使用训练部分的交叉验证;测试只在最佳配置锁定后一次评价。保存完整 Pipeline。
数学表达
项目主线
模型选择只使用训练部分的交叉验证;测试只在最佳配置锁定后一次评价。保存完整 Pipeline。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1加载 Wine 并检查 178×13 数据
- 2按 stratify 保留 20% 测试
- 3注册 LR/KNN/树/随机森林
- 4五折比较 Accuracy 与 macro F1
代码对应位置
示例 1端到端 Wine 分类项目 核心代码:对应项目要求中的可运行核心步骤。
计算与实现步骤
- 1
加载 Wine 并检查 178×13 数据
- 2
按 stratify 保留 20% 测试
- 3
注册 LR/KNN/树/随机森林
- 4
五折比较 Accuracy 与 macro F1
- 5
训练部分 GridSearch
- 6
最终测试
- 7
joblib 保存加载
- 8
输入契约和漂移监控
代码实现
示例 1
端到端 Wine 分类项目 核心代码
端到端 Wine 分类项目 核心代码
scikit-learn
example_01.py用途:对应项目要求中的可运行核心步骤。
models={
"lr":make_pipeline(StandardScaler(),LogisticRegression(max_iter=3000)),
"knn":make_pipeline(StandardScaler(),KNeighborsClassifier()),
"tree":DecisionTreeClassifier(max_depth=3,random_state=42),
"forest":RandomForestClassifier(random_state=42),
}
for name,model in models.items():
r=cross_validate(model,X_train,y_train,cv=cv,scoring=["accuracy","f1_macro"])
print(name,r["test_f1_macro"].mean())代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应项目要求中的可运行核心步骤。
X_train- 训练特征,只允许它参与预处理器和模型的 fit。
y_train- 与 X_train 对齐的训练目标。
model- 组合预处理和估计器的模型对象。
mean- 训练特征逐列均值。
Step 1 · 1–9 行
只从训练数据逐列计算均值与标准差,对应标准化公式中的 μ 和 σ。
models={
"lr":make_pipeline(StandardScaler(),LogisticRegression(max_iter=3000)),
"knn":make_pipeline(StandardScaler(),KNeighborsClassifier()),
"tree":DecisionTreeClassifier(max_depth=3,random_state=42),
"forest":RandomForestClassifier(random_state=42),
}
for name,model in models.items():
r=cross_validate(model,X_train,y_train,cv=cv,scoring=["accuracy","f1_macro"])
print(name,r["test_f1_macro"].mean())代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
每个候选模型在同一训练折上的平均 macro F1。
常见错误 · 5 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 类别误称质量等级
- 测试集选模型
- 只保存分类器
- 确认样本轴、特征轴以及 X 与 y 的第一维完全对应。
实际应用
- 教学项目
- 本地模型交付
常见错误
类别误称质量等级
测试集选模型
只保存分类器
文档来源
08|端到端机器学习项目原始文档
学习资料/learning_tech/08_end_to_end_project.md- §1–5 数据、候选模型与 CV
- §6–7 搜索和最终测试
- §8–13 保存、输入、监控与检查清单
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。