混淆矩阵

本文深入解析了机器学习中混淆矩阵的概念,介绍了其在统计分类中的应用原理,并提供了Python代码实现,帮助读者理解如何评估分类器的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

混淆矩阵

原理

代码


混淆矩阵

原理

在机器学习中尤其是统计分类中,混淆矩阵(confusion matrix),也被称为错误矩阵(error matrix)。

矩阵的每一列表达了分类器对于样本的类别预测,二矩阵的每一行则表达了版本所属的真实类别

之所以叫做’混淆矩阵‘,是因为能够很容易的看到机器学习有没有将样本的类别给混淆了。

代码

import numpy as np

def confusion_matrix(labels, predictions, class_num = 45, normalization=True):
    """
    :param labels: list, for example [1, 2, 3, 4, 5, 6, 7]
    :param predictions:  list, length equals the length of labels, for example [1, 2, 3, 4, 6, 6, 7]
    :param class_num: total classes
    :param normalization: nomalization at [0, 1]
    :return: matrix, shape is [class_num, class_num]
    """
    assert len(labels) == len(predictions)
    _matrix = np.zeros((class_num, class_num))
    _total = [0 for i in range(class_num)]
    for label, prediction in zip(labels, predictions):
        _matrix[label, prediction] += 1
        _total += 1
    if normalization:
        _matrix = np.transpose(np.transpose(_matrix) * 1. / _total)
    return _matrix

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值