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")

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

定期存款

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

在我们将这个模型投入生产之前,我们需要验证预测的准确性。


验证准确性

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

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

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

Accuracy: 0.90

它表明我们模型的准确率为 90%,这在大多数应用中都被认为是非常好的。 因此,无需进一步调整。 现在,我们的客户已准备好开展下一个活动,获取潜在客户名单并追逐他们开设 TD,成功率可能很高。