3 个稳定版本
1.1.0 | 2023 年 11 月 22 日 |
---|---|
1.0.1 | 2023 年 11 月 10 日 |
1.0.0 | 2021 年 2 月 28 日 |
#156 在 机器学习 中
每月 284 次下载
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]
以下条件下,任何人获得本软件及其相关文档文件(以下简称 "软件")的副本,均可免费处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供方提供软件的人进行此类处理,具体条件如下
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论基于合同、侵权或其他原因,无论与软件或其使用或其他相关事宜有关。