#machine-learning #data-science #analysis #false-positives

confusion_matrix

用于存储分类实验结果并提供统计信息的混淆矩阵实现

3 个稳定版本

1.1.0 2023 年 11 月 22 日
1.0.1 2023 年 11 月 10 日
1.0.0 2021 年 2 月 28 日

#156机器学习

Download history 75/week @ 2024-03-13 21/week @ 2024-03-20 26/week @ 2024-03-27 72/week @ 2024-04-03 65/week @ 2024-04-10 58/week @ 2024-04-17 69/week @ 2024-04-24 39/week @ 2024-05-01 28/week @ 2024-05-08 69/week @ 2024-05-15 44/week @ 2024-05-22 48/week @ 2024-05-29 59/week @ 2024-06-05 68/week @ 2024-06-12 46/week @ 2024-06-19 100/week @ 2024-06-26

每月 284 次下载

MIT 许可证

37KB
421

混淆矩阵

用于存储分类实验结果并提供统计信息。

在数据挖掘中,混淆矩阵用于总结分类算法的性能。每一行代表一个实例的 实际 类别,每一列代表该实例的 预测 类别,即它们被分类为的类别。每个(行,列)处的数字反映了实际类别 "行" 中预测为属于 "列" 类别的实例总数。

一个二类示例是

    Predicted       Predicted     | 
    Positive        Negative      | Actual
    ------------------------------+------------
        a               b         | Positive
        c               d         | Negative

这里,值

  • a 是真正例的数量(被标记为正类且被分类为正类的实例)
  • b 是假阴性(被标记为正类但被分类为负类的实例)
  • c 是假阳性(被标记为负类但被分类为正类的实例)
  • d 是真正例的数量(被标记为负类且被分类为负类的实例)

从这个表格中,我们可以计算诸如

  • 真正例率 = a/(a+b)
  • 正召回率 = a/(a+c)

功能

  • 增量添加结果以构建混淆矩阵
  • 在任何时候从矩阵中计算任何范围的统计信息
  • 将矩阵输出为简单的表格文本

示例

以下示例显示了如何创建一个混淆矩阵,添加一些结果,然后打印一些统计信息和表格本身。

use confusion_matrix;

fn main() {
    let mut cm = confusion_matrix::new();

    cm[("pos", "pos")] = 10;
    cm[("pos", "neg")] = 3;
    cm[("neg", "neg")] = 20;
    cm[("neg", "pos")] = 5;
    
    println!("Precision: {}", cm.precision("pos"));
    println!("Recall: {}", cm.recall("pos"));
    println!("MCC: {}", cm.matthews_correlation("pos"));
    println!("");
    println!("{}", cm);
}

输出

Precision: 0.7692307692307693
Recall: 0.6666666666666666
MCC: 0.5524850114241865

Predicted |
neg pos   | Actual
----------+-------
 20   3   | neg
  5  10   | pos

MIT 许可证

版权所有 (c) 2021-23,Peter Lane [email protected]

以下条件下,任何人获得本软件及其相关文档文件(以下简称 "软件")的副本,均可免费处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供方提供软件的人进行此类处理,具体条件如下

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论基于合同、侵权或其他原因,无论与软件或其使用或其他相关事宜有关。

无运行时依赖