Python 中的逻辑回归 - 测试


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

预测测试数据

为了测试分类器,我们使用前期生成的测试数据。我们在创建的对象上调用预测方法并传递测试数据的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,成功率可能很高。