confusion_matrix

本文详细解析了混淆矩阵在机器学习中的应用,通过一个具体例子展示了如何理解混淆矩阵的各个元素,即真正例、假正例、真负例和假负例的数量。

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

y_true=[0,0,0,1,1,1,1,1]
y_pred=[0,1,1,0,0,1,1,1]
confusion_matrix(y_true,y_pred)
array([[1, 2],
[2, 3]])

函数结果的理解如下:
pred &true中包含的数字有0,1两个,则:
00位置上的数表示的是实际上是0,预测值为0的个数,在本例中为1;
01位置上的数表示实际上是0,预测值为1的个数,在本例中为2;
10位置上的数表示实际上是1,预测值为0的个数,在本例中为2;
11位置上的数表示实际上是1,预测值为1的个数,在本例中为3;

### Confusion Matrix 的输出形式及其含义 在 Python 中,`sklearn.metrics.confusion_matrix` 函数用于生成混淆矩阵。该函数返回的是一个二维数组 (matrix),其中每一行代表实际类别,每一列代表预测类别。 对于二分类问题,混淆矩阵是一个 2×2 矩阵[^1]: | | Predicted Negative | Predicted Positive | |---------------|--------------------|--------------------| | **Actual Negative** | True Negatives | False Positives | | **Actual Positive** | False Negatives | True Positives | - **True Positives (TP)**: 实际为正类且被正确预测为正类的数量。 - **False Positives (FP)**: 实际为负类却被错误地预测为正类的数量。 - **False Negatives (FN)**: 实际为正类但却被错误地预测为负类的数量。 - **True Negatives (TN)**: 实际为负类且被正确预测为负类的数量。 #### 使用 `confusion_matrix` 函数的例子 下面展示如何利用 `scikit-learn` 库中的 `confusion_matrix` 来创建并打印混淆矩阵: ```python from sklearn.metrics import confusion_matrix import numpy as np # 假设这是真实标签和预测结果 y_true = [0, 1, 0, 1, 0, 1, 1, 0] y_pred = [0, 1, 0, 0, 0, 1, 0, 1] cm = confusion_matrix(y_true, y_pred) print(cm) ``` 这段代码将会输出如下所示的混淆矩阵: ``` [[3 1] [2 2]] ``` 这里的第一行表示当样本的真实标签为 0(即负类)时的情况;第二行则对应于真实标签为 1(即正类)。因此,在这个例子中: - 左上角的数值(3) 表示 TN; - 右下角的数值(2) 表示 TP; - 其他位置分别对应 FP 和 FN。 通过这种方式可以直观理解模型的表现情况,并进一步分析其性能特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值