推荐算法评价指标 AUC

整理几篇好的对AUC的理解

1, https://www.infoq.cn/article/vc71ssa0ug439bxm2kno

AUC 更关注前后排序,更适合推荐精排

例如0.7的AUC,其含义可以大概理解为:给定一个正样本和一个负样本,在70%的情况下,模型对正样本的打分高于对负样本的打分。可以看出在这个解释下,我们关心的只有正负样本之间的分数高低,而具体的分值则无关紧要。

2, https://zhuanlan.zhihu.com/p/73335362

这个带图解释更清楚

一些常见的算法评价指标包括: 1. 准确率(Accuracy):分类正确的样本占总样本的比例。 2. 精确率(Precision):分类为正样本中真正为正样本的比例。 3. 召回率(Recall):正样本中被分类为正样本的比例。 4. F1分数(F1-score):精确率和召回率的加权调和平均数。 5. ROC曲线和AUC值(ROC curve and AUC value):ROC曲线反映了分类器在不同阈值下的性能表现,AUC值表示ROC曲线下的面积。 6. 混淆矩阵(Confusion matrix):展示分类器性能表现的矩阵。 7. 平均准确率(Average Precision):用于评价在不同召回率下的分类器表现。 以下是 Python 代码实现这些指标: ```python from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_curve, auc, confusion_matrix, average_precision_score # 计算准确率 accuracy = accuracy_score(y_true, y_pred) # 计算精确率 precision = precision_score(y_true, y_pred, average='binary') # 计算召回率 recall = recall_score(y_true, y_pred, average='binary') # 计算F1分数 f1 = f1_score(y_true, y_pred, average='binary') # 计算ROC曲线和AUC值 fpr, tpr, thresholds = roc_curve(y_true, y_pred) roc_auc = auc(fpr, tpr) # 计算混淆矩阵 conf_matrix = confusion_matrix(y_true, y_pred) # 计算平均准确率 ap = average_precision_score(y_true, y_pred) ``` 其中,`y_true`为真实标签,`y_pred`为预测标签。在计算精确率、召回率、F1分数时,`average='binary'`表示只考虑二分类问题。如果是多分类问题,可以设置`average='macro'`或`average='weighted'`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>