混淆矩阵python代码实现
时间: 2023-07-25 07:10:38 浏览: 59
混淆矩阵是一种评估分类模型性能的常用方法,可以用来计算模型的准确率、召回率、精确率等指标。下面是一个简单的混淆矩阵的Python代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix
# 随机生成一个样本数据
y_true = np.random.randint(0, 2, size=100)
y_pred = np.random.randint(0, 2, size=100)
# 计算混淆矩阵
cm = confusion_matrix(y_true, y_pred)
# 可视化混淆矩阵
plt.imshow(cm, cmap=plt.cm.Blues)
plt.colorbar()
plt.title('Confusion Matrix')
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.xticks([0, 1], ['Negative', 'Positive'])
plt.yticks([0, 1], ['Negative', 'Positive'])
for i in range(2):
for j in range(2):
plt.text(j, i, cm[i, j], ha='center', va='center', color='white')
plt.show()
# 计算模型的准确率、召回率、精确率等指标
tp = cm[1, 1]
tn = cm[0, 0]
fp = cm[0, 1]
fn = cm[1, 0]
acc = (tp + tn) / (tp + tn + fp + fn)
precision = tp / (tp + fp)
recall = tp / (tp + fn)
f1_score = 2 * precision * recall / (precision + recall)
print('Accuracy:', acc)
print('Precision:', precision)
print('Recall:', recall)
print('F1 Score:', f1_score)
```
代码中使用`numpy`和`matplotlib`库生成随机样本数据,并使用`sklearn`库中的`confusion_matrix`函数计算混淆矩阵。计算混淆矩阵后,我们可以使用`matplotlib`库可视化混淆矩阵,同时计算模型的准确率、召回率、精确率等指标。
阅读全文