Day20_【机器学习—逻辑回归 (2)—分类评估方法】

一、混淆矩阵

混淆矩阵:用于展示真实值和预测值之间正例、反例的情况

​​​​​​​

记忆口诀:同真异伪(第一个字),看预测值 (第二个字)

一般选取样本数量少的为正例

计算

1.标注真实结果的个数

2.先算出 真正例与真反例的个数,其余两个用减法如图

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

二、分类评估方法

都需要依据混淆矩阵进行简单计算

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

1. 精确率 (Precision)

含义 :在所有被模型预测为正类的样本中 ,有多少是真正的正类。关注的是预测的准确性

公式

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

  • Precision :看第一列 (预测为正类的列)→ TP / (TP + FP)

2. 召回率 (Recall) / 真正率 (TPR)

含义 :在所有真实的正类样本中 ,有多少被模型正确找了出来。关注的是查全能力

公式

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

注意:召回率 = 真正率(TPR)

  • Recall :看第一行 (真实为正类的行)→ TP / (TP + FN)

3. F1-score

含义 :精确率和召回率的调和平均数 (Harmonic Mean)。

当两者都很重要,且可能相互冲突时,用 F1-score 综合评估。

公式

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

举个栗子

已知条件:

  • 样本总数:10个样本
  • 恶性肿瘤样本(正例):6个
  • 良性肿瘤样本(反例):4个

预测结果:

  • 正确预测了3个恶性肿瘤样本(TP)
  • 正确预测了4个良性肿瘤样本(TN)

问 :

1.计算混淆矩阵的各个值

2.计算精确率、召回率和F1-score

答1:

​​​​​​​ ​​​​​​​ ​​​​​​​

  1. 真正例 TP 为:3

  2. 伪反例例 FN 为:3

  3. 伪正例 FP 为:0

  4. 真反例 TN 为:4

1.标注真实结果的个数

2.先算出 真正例与真反例的个数,其余两个用减法如图

答2:

  1. 精确率:3/(3+0)=1

  2. 召回率:3/(3+3)=0.5

3.F1-score:2*1*0.5/(1+0.5)=0.67

API实现 ​​​​​​​
复制代码
from sklearn.metrics import confusion_matrix,precision_score,recall_score,f1_score
print(f"A的精确率:{precision_score(y_test,y_predict)}")
print(f"A的召回率:{recall_score(y_test,y_predict)}")
print(f"A的F1-score:{f1_score(y_test,y_predict)}")

4.ROC曲线和AUC指标

4.1真正率TPR与假正率FPR

4.2 ROC曲线

  • ROC曲线是一种常用于评估分类模型性能可视化工具
  • ROC曲线以模型的真正率TPR为纵轴假正率FPR为横轴
  • 它将模型在不同阈值下的表现以曲线的形式展现出来。

​​​​​​​ ​​​​​​​

特殊点含义
预测为正类(Positive) 预测为负类(Negative)
实际为正类(Positive) 真正例 (TP) 假负例 (FN)
实际为负类(Negative) 假正例 (FP) 真负例 (TN)
  1. (0,0):全部预测为负例

    • 所有样本都被预测为负类,TP = FP = 0,因此 TPR = 0,FPR = 0
  2. (1,1):全部预测为正例

    • 所有样本都被预测为正类,TP = 所有正例,FP = 所有负例,因此 TPR = 1,FPR = 1
  3. (0,1):完美分类器

    • 所有正例都被正确预测为正,所有负例都被正确预测为负,TP = 所有正例,FP = 0,因此 TPR = 1,FPR = 0
  4. (1,0):最差分类器(反向预测)

    • 所有正例被预测为负,所有负例被预测为正,TP = 0,FP = 所有负例,因此 TPR = 0,FPR = 1

4.3 AUC值

ROC曲线的优劣可以通过曲线下面积(AUC)来衡量,AUC越大表示分类器性能越好。

  • 当AUC=0.5时,表示分类器的性能等同于随机猜测;
  • 当AUC=1时,表示分类器的性能完美,能够完全正确地将正负例分类。
API实现
复制代码
from sklearn.metrics import roc_auc_score,classification_report
# AUC的计算api
print(roc_auc_score(y_test, y_predict))
# 分类评估报告api
report_api = classification_report(y_test, y_predict)
print(report_api)
相关推荐
在水一缸1 分钟前
深度解析 Grok 4.5:当推理模型遇上大规模工程实践
人工智能·深度学习·大模型·工程实践·推理模型·混合专家架构·grok 4.5
云智慧AIOps社区7 分钟前
2026 国产化 ITSM 替代指南:横向测评 ServiceNow、轻帆云、Jira等五款主流IT服务管理平台
运维·人工智能·运维开发·it服务管理·itsm平台
学习日记5258 分钟前
【提示词工程系统教程 05】上下文工程:静态指令、动态检索与RAG架构
人工智能·prompt
腻害兔8 分钟前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
小羊Yveesss10 分钟前
模板建站哪个平台好?模板数量之外还要比较编辑与SEO能力
大数据·人工智能·小程序
程序员-李俞11 分钟前
向量引擎接入 SQL 问答沙箱前:只读权限、Base URL 和费用封顶怎么验收
人工智能·大模型·接口测试·api中转·ai api
梦想的初衷~12 分钟前
植被遥感反演与数据同化算法体系教程:从PROSAIL前向模拟到作物估产
人工智能·python·机器学习·作物模型·遥感数据同化·prosail·植被参数反演
LadenKiller16 分钟前
近期AI协作写量化规则,要按阶段安排任务
人工智能·python
网易云信19 分钟前
制造业、零售与物流的“神经末梢”:为什么企业级IM是这些行业的数字基建?
人工智能·agent
千瓜25 分钟前
用户洞察:负鼠走红?解读新世代“动物人格”
大数据·人工智能·数据分析·生活·新媒体