机器学习挑战文档深度页
Digits 传统机器学习项目
使用 1797 张 8×8 灰度数字图、64 个像素特征完成十分类传统机器学习项目。
学习前需要掌握
背景与问题
类别数和特征数均高于 Wine,需要 macro F1、混淆矩阵和错误图,而不只是准确率。
概念定义
输入是展平后的 64 维像素,输出 0~9;项目明确禁止神经网络,用于巩固传统模型完整流程。
直观理解
把项目当作一条可复现、可审计的实验链,而不是追求一次最高分。
核心原理
固定 test_size=0.2、random_state=42、stratify=y;训练内部五折分层 CV,macro F1 为主指标。
数学表达
项目主线
固定 test_size=0.2、random_state=42、stratify=y;训练内部五折分层 CV,macro F1 为主指标。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1load_digits
- 2核对 data/images 对应
- 3固定分层划分
- 4锁定测试集
代码对应位置
示例 1Digits 传统机器学习项目 核心代码:对应项目要求中的可运行核心步骤。
计算与实现步骤
- 1
load_digits
- 2
核对 data/images 对应
- 3
固定分层划分
- 4
锁定测试集
- 5
建立 Dummy
- 6
比较传统模型
- 7
错误分析
- 8
模型交付
代码实现
示例 1
Digits 传统机器学习项目 核心代码
Digits 传统机器学习项目 核心代码
scikit-learn
example_01.py用途:对应项目要求中的可运行核心步骤。
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
X,y=load_digits(return_X_y=True)
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.2,random_state=42,stratify=y)
print(X.shape, y.shape)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应项目要求中的可运行核心步骤。
X- 完整特征矩阵,每行一个样本、每列一个特征。
y- 目标标签或连续目标值。
X_train- 训练特征,只允许它参与预处理器和模型的 fit。
X_test- 测试特征,只用于最终 transform、predict 和评价。
y_train- 与 X_train 对齐的训练目标。
y_test- 与 X_test 对齐的测试目标。
Step 1 · 1–5 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
X,y=load_digits(return_X_y=True)
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.2,random_state=42,stratify=y)
print(X.shape, y.shape)预期输出或运行结果
X.shape=(1797,64),y.shape=(1797,)。
常见错误 · 4 条
- 使用 CNN 违反任务
- 根据测试结果挑随机种子
- 删除错误样本
- 确认样本轴、特征轴以及 X 与 y 的第一维完全对应。
实际应用
- 第一次综合分类项目
- 图像像素传统建模
常见错误
使用 CNN 违反任务
根据测试结果挑随机种子
删除错误样本
文档来源
综合练习项目|传统机器学习手写数字识别原始文档
学习资料/learning_tech/practice_project_digits\README.md- §1 项目定位
- §2 背景
- §3 数据说明
- §4 核心问题
- §5 固定实验协议
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。