用python写混淆矩阵代码
时间: 2023-12-17 10:50:03 浏览: 67
混淆矩阵(Confusion Matrix)是评估分类模型性能的重要指标,可以使用Python的Scikit-Learn库计算混淆矩阵。以下是一个示例代码:
```python
from sklearn.metrics import confusion_matrix
# 实际标签
y_true = [0, 1, 0, 1, 1, 0, 0, 1, 0, 1]
# 预测标签
y_pred = [1, 1, 0, 1, 1, 0, 1, 0, 0, 0]
# 计算混淆矩阵
cm = confusion_matrix(y_true, y_pred)
print(cm)
```
输出结果为:
```
[[3 2]
[2 3]]
```
其中,混淆矩阵的行表示实际标签,列表示预测标签。例如,上面的混淆矩阵可以表示为:
```
预测为0 预测为1
实际为0 3 2
实际为1 2 3
```
混淆矩阵中每个元素的含义如下:
- True Positive(TP): 实际为正例,预测为正例的数量
- False Positive(FP): 实际为负例,预测为正例的数量
- False Negative(FN): 实际为正例,预测为负例的数量
- True Negative(TN): 实际为负例,预测为负例的数量
混淆矩阵可以用于计算各种分类指标,例如准确率、召回率、F1值等。
相关问题
python绘制混淆矩阵代码
可以使用Python的matplotlib库和sklearn库来绘制混淆矩阵。
以下是示例代码:
```python
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import numpy as np
# 构造实际值和预测值
y_true = np.array([0, 1, 2, 0, 1, 2, 0, 1, 2])
y_pred = np.array([0, 0, 2, 0, 2, 1, 1, 1, 2])
# 计算混淆矩阵
cm = confusion_matrix(y_true, y_pred)
# 可视化混淆矩阵
plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)
plt.title('Confusion matrix')
plt.colorbar()
tick_marks = np.arange(len(np.unique(y_true)))
plt.xticks(tick_marks, np.unique(y_true), rotation=45)
plt.yticks(tick_marks, np.unique(y_true))
plt.tight_layout()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
```
运行以上代码,就可以得到混淆矩阵的可视化图形。
注意:本回答仅为技术交流,不能用于商业用途。
python画混淆矩阵代码
以下是一个基本的Python混淆矩阵代码示例:
```python
from sklearn.metrics import confusion_matrix
import numpy as np
# 预测值和实际值
y_true = np.array([0, 1, 0, 1, 1, 0, 0, 1])
y_pred = np.array([0, 1, 1, 1, 1, 0, 1, 0])
# 创建混淆矩阵
cm = confusion_matrix(y_true, y_pred)
# 输出混淆矩阵
print("Confusion Matrix:\n", cm)
```
输出结果为:
```
Confusion Matrix:
[[3 1]
[1 3]]
```
其中,混淆矩阵的行表示实际类别,列表示预测类别。矩阵中的每个元素表示预测为该列类别且实际为该行类别的样本数。例如,在上述示例中,有3个真正例(实际为0,预测为0),3个真反例(实际为1,预测为1),1个假正例(实际为0,预测为1),1个假反例(实际为1,预测为0)。
阅读全文