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

Logistic Regression生成混淆矩阵提示样本数不一致报错如何解决

错误原因
  • 混淆矩阵的作用是对比同一组样本的真实标签和模型预测标签的匹配情况,要求两个入参的样本量完全一致
  • 你调用confusion_matrix时错误传入了训练集标签y_train(共67个样本)和测试集真实标签y_test(共8个样本),两者属于不同的样本分组,样本量天然不匹配,因此触发报错
修正方法

你需要先获取模型对测试集x_test的预测结果,再将测试集的真实标签和预测标签一同传入混淆矩阵函数,修正后的完整代码如下:

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix

# 拆分数据集
x_train, x_test, y_train, y_test = train_test_split(df[["Age"]], df.Spending_Cat, test_size=0.1)
# 初始化并训练逻辑回归模型
model = LogisticRegression()
model.fit(x_train, y_train)

# 生成测试集预测标签
y_pred = model.predict(x_test)
# 输出预测结果和模型在测试集上的准确率
print(y_pred)
print(model.score(x_test, y_test))
# 传入测试集真实标签、测试集预测标签计算混淆矩阵
print(confusion_matrix(y_test, y_pred))

内容的提问来源于stack exchange,提问作者Mike Jacob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:27:04