python生成混淆矩阵的函数定义
以下是一个可以生成混淆矩阵的Python函数定义:
import numpy as np
def confusion_matrix(actual, predicted, num_classes):
"""
生成混淆矩阵
参数:
actual (list): 真实类别列表
predicted (list): 预测类别列表
num_classes (int): 类别的数量
返回值:
confusion_matrix (numpy.ndarray): 混淆矩阵
"""
# 创建一个全零的混淆矩阵
confusion_matrix = np.zeros((num_classes, num_classes))
# 统计真实类别和预测类别的对应关系
for a, p in zip(actual, predicted):
confusion_matrix[a][p] += 1
return confusion_matrix
使用示例:
actual = [0, 1, 2, 0, 1, 2, 0, 1, 2] # 真实类别
predicted = [0, 1, 1, 0, 2, 1, 0, 2, 2] # 预测类别
num_classes = 3 # 类别的数量
cm = confusion_matrix(actual, predicted, num_classes)
print(cm)
输出结果:
[[2. 1. 0.]
[0. 2. 1.]
[1. 0. 2.]]
该函数会根据真实类别和预测类别的列表生成一个混淆矩阵,矩阵的行表示真实类别,列表示预测类别,矩阵的每个元素表示相应类别的样本数量
原文地址: https://www.cveoy.top/t/topic/igr0 著作权归作者所有。请勿转载和采集!