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

时间:2020-09-30 10:40:50

标签: python scikit-learn classification logistic-regression

为二进制分类任务创建了一个非常简单的scikit-learn logistic回归模型。 训练和测试集被拆分了。 使用相同数据集的随机森林模型和决策树的准确度约为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? 这里有什么错误? 我想念什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

关于您的准确性

您已正确预测了大多数零。在我看来,您获得的准确度分数相当合理。

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

关于您可能要寻找的东西

您似乎对是否正确预测1感兴趣。

您可能有兴趣查看其他指标,例如recallprecision