python - 逻辑回归 - 模型准确度得分和预测不相符
问题描述
为二进制分类任务创建了一个非常简单的 scikit-learn 逻辑回归模型。训练集和测试集是分开的。使用相同数据集的随机森林模型和决策树给出了大约 0.9 的准确度。
这是逻辑回归模型:
logreg_model = LogisticRegression(random_state=99).fit(X_train, y_train)
logreg_acc = logreg_model.score(X_test, y_test)
logreg_pred = logreg_model.predict(X_test)
print("Log reg model accuracy:", logreg_acc)
print("Log reg prediction:", logreg_pred)
print("Actual:",y_test)
结果如下:
Log reg model accuracy: 0.8701298701298701
Log reg prediction: [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0]
Actual: [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0]
当预测把所有的分类都弄错的时候,准确率怎么可能是 0.87?这里有什么错误?我错过了什么?
谢谢你。
解决方案
关于您拥有的准确性
您正确预测了大部分零点。对我来说,你得到的准确度分数看起来相当正确。
您可以通过在您的and上使用accuracy_score进行仔细检查。logreg_pred
y_test
关于您可能正在寻找的内容
您似乎对您的预测是否1
正确更感兴趣。
推荐阅读
- ssl - 我们如何在不重定向的情况下在一个 HTTP 和一个 HTTPS 两个端口上运行 fastAPI 应用程序?
- javascript - 为什么我的三元运算符会出现这些错误?
- javascript - 如何持续操纵其他网站数据?
- pandas - 使用 pandas 匹配两个表
- javascript - 如何使用单选按钮正确增长和缩小 div?
- architecture - 什么是基于单元的架构?
- python - 多线程时如何避免进度条出现问题
- prometheus - 如何为 Prometheus 创建自定义 ETCD 指标
- xamarin.forms - AutowirePartialView 可绑定属性去哪儿了?
- python - 将散点图中的刻度标签格式化为matplotlib中的% - python