You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何二分类任务的混淆矩阵仅输出单个条目array([[2]])?

问题描述

在仅含10个样本的二分类(0或1)数据集上,使用简单SVM与Logistic Regression模型训练,代码如下:

sc = StandardScaler()
X_scaled = sc.fit_transform(X)
X_train,X_test,y_train,y_test = train_test_split(X_scaled,y,test_size=0.2,random_state=42)
LR.fit(X_train,y_train)
y_pred=LR.predict(X_test)
print(accuracy_score(y_test,y_pred)) # 输出为1.0
con= confusion_matrix(y_test,y_pred)  # 输出为array([[2]])
con.shape # 输出为(1, 1)

尝试打印混淆矩阵时仅得到上述单条目结果,请问原因是什么?

原因分析
  • 测试集样本仅包含二分类中的其中一类:总样本数为10,test_size=0.2对应测试集共2个样本,这2个样本的真实标签属于同一类别(全为0或全为1)。
  • 结合模型预测完全正确(准确率1.0),confusion_matrix只会基于测试集中实际存在的类别生成结果矩阵,因此只会出现1x1的单条目,代表该类别下的所有样本都被正确预测。
验证方法

直接打印测试集的真实标签即可确认类别分布:

print(y_test)

输出会显示两个相同的标签值(例如[0,0]或[1,1]),验证测试集的类别单一性。

内容的提问来源于stack exchange,提问作者Alishba Haider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 02:04:55