以下是一个可以生成混淆矩阵的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.]]

该函数会根据真实类别和预测类别的列表生成一个混淆矩阵,矩阵的行表示真实类别,列表示预测类别,矩阵的每个元素表示相应类别的样本数量

python生成混淆矩阵的函数定义

原文地址: https://www.cveoy.top/t/topic/igr0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录