推荐算法评价指标 代码
时间: 2023-06-21 22:14:54 浏览: 115
一些常见的算法评价指标包括:
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'`。
阅读全文