模型报告是落地关键,需用classification_report输出指标、混淆矩阵热力图诊断错误、DataFrame管理实验对比,并封装为report_model函数实现一键生成。

模型优化完成后,生成清晰、可读、可复用的报告,不是锦上添花,而是落地关键——它帮你快速定位问题、向非技术同事解释结果、也方便后续复盘迭代。
用sklearn.metrics.classification_report一键输出核心指标
分类任务中最常用、最省心的报告方式。它自动计算精确率、召回率、F1值和样本支持数,按类别分层展示:
- 直接传入真实标签 y_true 和预测标签 y_pred 即可
- 加 output_dict=True 可转为字典,方便存 JSON 或提取单个指标(比如只取 macro-f1)
- 配合 target_names 参数,能把 0/1 替换成 “正常”“异常”,报告立刻易懂
把混淆矩阵画成热力图 + 带数值,一图看透错在哪
准确率高≠模型好,真正要看它在哪类上犯错。用 seaborn.heatmap 结合 sklearn.metrics.confusion_matrix:
- 先算矩阵:cm = confusion_matrix(y_true, y_pred)
- 归一化显示比例(避免样本不均衡误导):加 normalize='true' 参数
- 热力图里 annot=True, fmt='.2f' 让每个格子显示带小数的数值,比纯颜色更准
用pandas.DataFrame整理多组实验结果,横向对比一目了然
调参、换模型、改特征……每次实验都该记录下来。别用 Excel 手动填,用 DataFrame 管理:
立即学习“Python免费学习笔记(深入)”;
- 每行代表一次实验,列包括:模型名、参数组合、准确率、F1、训练时长、AUC等
- df.sort_values('f1', ascending=False) 一秒排好序,最优结果自动顶到第一行
- 导出为 CSV 或 Excel:df.to_csv('exp_log.csv', index=False),下次回溯不用翻日志
最后封装一个report_model函数,三行代码生成完整快照
把上面几步打包成函数,以后每次训练完就调用它:
- 输入:模型、X_test、y_test、class_names(可选)
- 内部自动打印 classification_report、画混淆矩阵、返回指标字典
- 加个时间戳和模型类型标识,报告自带上下文,不怕过两周看不懂自己干了啥
基本上就这些。不复杂但容易忽略——报告不是写给机器看的,是写给你自己、队友、还有三个月后的你。










