ML学习笔记-2021-08-27-模型评估-精确率、召回率、F1score、ROC、AUC

本文探讨了评估机器学习分类模型性能的几种关键方法,包括混淆矩阵、精确率、召回率和F1-score。F1-score是衡量模型稳健性的指标,当其值高时,表明模型在精确率和召回率上都有优秀表现。此外,面对样本不均衡问题,ROC曲线和AUC是重要的评估工具,特别在ROC曲线中,TPR与FPR的关系揭示了模型的预测能力。
摘要由CSDN通过智能技术生成

4.4.5 分类的评估方法

1. 混淆矩阵

在这里插入图片描述

2. 精确率

在这里插入图片描述

3. 召回率

在这里插入图片描述

4. F1 - score

衡量模型的稳健性
若F1 - score 大的化,就说明不仅精确率高,召回率也高,那模型的稳健性就高
在这里插入图片描述

5. API

在这里插入图片描述

6. 衡量样本不均衡下的评估 —— ROC ACU 曲线

如下所示,当样本不均衡时,精度,召回率,F1score得分都很高。
在这里插入图片描述

6.1 ROC曲线

当TPR = FPR 图中的虚线,就是不管什么时候都预测为1,那么一定是瞎猜。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
API
在这里插入图片描述

机器学习中,评估模型性能常用的指标包括AUC、准确度(Accuracy)、精确度(Precision)、召回率(Recall)和F1-score。以下是使用Python中的`sklearn`库计算这些指标的一个简单示例: 首先,你需要有一个训练好的机器学习模型,并对其做预测,得到预测结果和真实的标签。然后,使用`sklearn.metrics`中的相关函数来计算这些性能指标。 ```python from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score from sklearn.metrics import confusion_matrix # 假设 y_true 是真实的标签数组,y_pred 是模型预测的标签数组,y_pred_proba 是模型预测的概率数组(对于二分类问题) y_true = [...] # 真实标签 y_pred = [...] # 模型预测的标签 y_pred_proba = [...] # 模型预测的概率 # 准确度(Accuracy) accuracy = accuracy_score(y_true, y_pred) print(f'准确度: {accuracy}') # 精确度(Precision) precision = precision_score(y_true, y_pred) print(f'精确度: {precision}') # 召回率(Recall) recall = recall_score(y_true, y_pred) print(f'召回率: {recall}') # F1-score f1 = f1_score(y_true, y_pred) print(f'F1-score: {f1}') # AUC (Area Under the Curve) # 注意:AUC只能应用于二分类问题的ROC曲线 if len(np.unique(y_true)) == 2: # 确保标签只有两个类别 auc = roc_auc_score(y_true, y_pred_proba) print(f'AUC: {auc}') ``` 请确保你已经安装了`sklearn`库,并且你的`y_true`和`y_pred`是适当格式的数组或列表,`y_pred_proba`是一个包含概率值的数组。对于二分类问题,`y_pred_proba`应该是一个二维数组,其中每一行对应一个样本,每一列对应一个类别的预测概率。 在多分类问题中,`precision_score`、`recall_score`和`f1_score`函数默认计算所有类别的加权平均值。你也可以通过设置参数`average=None`来得到一个针对每个类别的性能指标列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值