目录
导读
从识别10个数字到判断“是5还是非5”,二元分类是打开机器学习分类任务的第一道门。本文将以MNIST数字5检测为实战场景,详解如何用Scikit-Learn的SGDClassifier
实现分钟级模型训练,并揭秘分类器性能评估的三大核心指标。文末附混淆矩阵可视化模板与错误分析指南,帮你避开模型调优的深坑!
一、二元分类问题转换
1. 目标向量重塑:从多分类到是非判断
# 原始多分类标签(0-9)
print(y_train[:5]) # [5 0 4 1 9]
# 转换为二元分类标签(5为True,其他为False)
y_train_5 = (y_train == 5)
y_test_5 = (y_test == 5)
print(y_train_5[:5]) # [ True False False False False]
2. 数据分布解析(关键洞察)
注:样本严重不平衡,评估指标不能只用准确率!
二、随机梯度下降分类器实战
1. 模型训练:5行代码实现核心逻辑
from sklearn.linear_model im