Python中的逻辑回归 - 测试



在我们投入生产使用之前,需要测试上面创建的分类器。如果测试结果表明模型未达到所需的准确率,则需要返回上述过程,选择另一组特征(数据字段),重新构建模型并进行测试。这将是一个迭代步骤,直到分类器满足您所需的准确率要求。因此,让我们测试我们的分类器。

预测测试数据

为了测试分类器,我们使用在早期阶段生成的测试数据。我们对创建的对象调用predict方法,并传递测试数据的X数组,如下面的命令所示:

In [24]: predicted_y = classifier.predict(X_test)

这将为整个训练数据集生成一个一维数组,给出X数组中每一行的预测结果。您可以使用以下命令检查此数组:

In [25]: predicted_y

以下是执行上述两个命令后的输出:

Out[25]: array([0, 0, 0, ..., 0, 0, 0])

输出表明,前三位和最后三位客户不是定期存款的潜在候选人。您可以检查整个数组以筛选出潜在客户。为此,请使用以下Python代码片段:

In [26]: for x in range(len(predicted_y)):
   if (predicted_y[x] == 1):
      print(x, end="\t")

运行上述代码的输出如下所示:

Term Deposit

输出显示了所有可能成为订阅TD候选人的行的索引。您现在可以将此输出提供给银行的营销团队,他们将获取所选行中每个客户的联系方式,并继续执行他们的工作。

在我们投入生产使用此模型之前,我们需要验证预测的准确性。

验证准确性

要测试模型的准确性,请在分类器上使用score方法,如下所示:

In [27]: print('Accuracy: {:.2f}'.format(classifier.score(X_test, Y_test)))

运行此命令的屏幕输出如下所示:

Accuracy: 0.90

它表明我们模型的准确率为90%,这在大多数应用程序中被认为是非常好的。因此,不需要进一步调整。现在,我们的客户已准备好运行下一轮活动,获取潜在客户列表,并追逐他们开立TD,从而获得很高的成功率。

广告