metrics.accuracy_score 和metrics.roc_auc_score的计算

accuracy_score的计算:

metrics.accuracy_score 是用来计算分类模型的准确率的函数。下面是使用 metrics.accuracy_score 的示例代码:

from sklearn import metrics
y_true = [0, 1, 2, 0, 1, 2] # 真实标签
y_pred = [0, 2, 1, 0, 0, 1] # 预测标签
acc = metrics.accuracy_score(y_true, y_pred) # 计算准确率
print(acc) # 输出结果
复制

在示例代码中,y_true 是真实的标签,y_pred 是分类器输出的预测标签。函数 metrics.accuracy_score(y_true, y_pred) 返回 y_truey_pred 之间的准确率,这个值在 0 到 1 之间,1 表示分类器完全正确,0 表示分类器完全错误。

roc_auc_score的计算:

假设我们有如下的一个二分类问题:计算得分数是多少:

y_true = [0, 1, 1, 0, 1, 0, 0, 1]
y_pred = [0.2, 0.8, 0.6, 0.3, 0.7, 0.1, 0.4, 0.9]
复制

其中,y_true 是真实标签,y_pred 是模型预测的概率得分。对于该二分类问题,我们想要计算模型的ROC AUC。

首先,我们需要将概率得分从小到大排序,以得到一个有序的序列。 排序后的结果如下:

[(0.1, 0), (0.2, 0), (0.3, 0), (0.4, 0), (0.6, 1), (0.7, 1), (0.8, 1), (0.9, 1)]
复制

然后,我们可以在每个排好序的概率得分阈值处计算TPR和FPR。这里的阈值从最小的概率得分开始,依次增加。例如,在第一个阈值处,模型将所有的样本都预测为负例,因此FPR为0,而TPR也为0。在第二个阈值处,只有第一个样本的概率得分小于等于0.2,因此该样本被预测为负例,对于该样本,TPR为0/3=0,FPR为0/5=0。逐次计算后,可以得到如下的TPR和FPR列表:

fpr = [0.0, 0.0, 0.0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1.0]
tpr = [0.0, 0.33, 0.66, 0.66, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
复制

注意,最后一个阈值处的TPR为1,因为此时模型将所有样本都预测为正例。根据上述的FPR和TPR列表,我们可以计算ROC曲线下的面积(即ROC AUC)。具体计算方法如下:

from sklearn.metrics import roc_auc_score

roc_auc_score(y_true, y_pred)

最终返回结果为 0.875

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值