Учебники

Логистическая регрессия в 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%, что считается очень хорошим в большинстве приложений. Таким образом, дальнейшая настройка не требуется. Теперь наш клиент готов запустить следующую кампанию, получить список потенциальных клиентов и преследовать их за открытие ТД с вероятным высоким уровнем успеха.