逻辑回归 - 模型准确度得分和预测不符

Logistic Regression - Model accuracy score and prediction do not tally

为二元分类任务创建了一个非常简单的 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,而预测却把所有分类都弄错了? 这里有什么错误? 我错过了什么?

谢谢。

关于你的准确度

您已经正确预测了大部分零。对我来说,你得到的准确度分数看起来相当正确。

您可以在 logreg_predy_test 上使用 accuracy_score 仔细检查。

关于您可能正在寻找的内容

看来您更感兴趣的是您 1 是否预测正确。

您可能有兴趣查看其他措施,例如 recall, or precision