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