仍以上述例子为条件,用代码实现混淆矩阵
时间: 2024-02-20 17:59:56 浏览: 24
假设我们有一个垃圾分类模型的预测结果和真实标签,我们可以使用sklearn库中的confusion_matrix函数来生成混淆矩阵。以下是一个示例代码:
```python
from sklearn.metrics import confusion_matrix
# 模型预测结果
y_pred = ['有害垃圾', '可回收垃圾', '有害垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾']
# 真实标签
y_true = ['有害垃圾', '可回收垃圾', '有害垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾']
# 所有分类
classes = ['有害垃圾', '可回收垃圾', '厨余垃圾', '其他垃圾']
# 生成混淆矩阵
confusion_mat = confusion_matrix(y_true, y_pred, labels=classes)
print(confusion_mat)
```
运行以上代码将得到类似如下的混淆矩阵:
```
[[2 0 0 0]
[1 1 0 0]
[0 0 1 0]
[1 0 0 1]]
```
其中,每行代表真实标签,每列代表模型预测标签,矩阵中的每个元素代表相应分类的样本数量。例如,第一行第一列的2表示真实标签为有害垃圾,模型预测标签也为有害垃圾的样本数量为2。
相关问题
matlab代码实现混淆矩阵
您可以使用MATLAB中的confusionmat函数来实现混淆矩阵。该函数接受两个输入参数,一个是真实标签向量,另一个是预测标签向量。下面是一个示例代码:
```matlab
% 真实标签向量和预测标签向量
trueLabels = [1 1 0 0 1 0 1];
predictedLabels = [1 0 0 1 1 0 0];
% 计算混淆矩阵
C = confusionmat(trueLabels, predictedLabels);
% 显示混淆矩阵
disp('混淆矩阵:');
disp(C);
```
运行上述代码后,将输出混淆矩阵C的值:
```
混淆矩阵:
2 1
2 2
```
在这个例子中,真实标签向量中有3个1和4个0,预测标签向量中有3个1和4个0。混淆矩阵C的第一行第一列的值2表示真实标签为1且被正确预测为1的样本数;第一行第二列的值1表示真实标签为1但被错误预测为0的样本数;第二行第一列的值2表示真实标签为0但被错误预测为1的样本数;第二行第二列的值2表示真实标签为0且被正确预测为0的样本数。
您可以根据实际需要修改真实标签和预测标签的向量,以及添加更多的类别。
sklearn中画混淆矩阵的代码
在sklearn中,可以使用`confusion_matrix()`函数来计算混淆矩阵。该函数需要传入真实标签和预测标签两个数组。下面是一个简单的例子:
```python
from sklearn.metrics import confusion_matrix
y_true = [0, 1, 0, 1, 1, 1, 0, 0]
y_pred = [1, 1, 0, 1, 0, 1, 0, 0]
cm = confusion_matrix(y_true, y_pred)
print(cm)
```
输出结果:
```
[[3 1]
[1 3]]
```
上述代码中,`y_true`代表真实标签,`y_pred`代表预测标签。运行后会得到一个混淆矩阵,即:
| 真实标签/预测标签 | 预测为0 | 预测为1 |
| :--: | :-----: |
| 真实为0 | 3 | 1 |
| 真实为1 | 1 | 3 |
其中,第一行第一列的值表示真实标签为0,预测标签也为0的样本数量,以此类推。从混淆矩阵可以看出分类器在不同类别上的分类效果,进而分析如何改进模型。
另外,如果想要将混淆矩阵可视化,可以使用matplotlib库中的`matshow()`函数。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
plt.matshow(cm)
plt.colorbar()
plt.show()
```
运行后会得到一个可视化的混淆矩阵。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)