Régression logistique en Python - Test
Nous devons tester le classificateur créé ci-dessus avant de le mettre en production. Si les tests révèlent que le modèle ne répond pas à la précision souhaitée, nous devrons reprendre le processus ci-dessus, sélectionner un autre ensemble de fonctionnalités (champs de données), reconstruire le modèle et le tester. Ce sera une étape itérative jusqu'à ce que le classificateur réponde à votre exigence de précision souhaitée. Alors testons notre classificateur.
Prédire les données de test
Pour tester le classifieur, nous utilisons les données de test générées à l'étape précédente. Nous appelons lepredict méthode sur l'objet créé et passez la X tableau des données de test comme indiqué dans la commande suivante -
In [24]: predicted_y = classifier.predict(X_test)
Cela génère un tableau unidimensionnel pour l'ensemble de données d'apprentissage complet donnant la prédiction pour chaque ligne du tableau X. Vous pouvez examiner ce tableau en utilisant la commande suivante -
In [25]: predicted_y
Ce qui suit est la sortie lors de l'exécution des deux commandes ci-dessus -
Out[25]: array([0, 0, 0, ..., 0, 0, 0])
Le résultat indique que les trois premier et dernier clients ne sont pas les candidats potentiels pour le Term Deposit. Vous pouvez examiner l'ensemble du tableau pour trier les clients potentiels. Pour ce faire, utilisez l'extrait de code Python suivant -
In [26]: for x in range(len(predicted_y)):
if (predicted_y[x] == 1):
print(x, end="\t")
La sortie de l'exécution du code ci-dessus est indiquée ci-dessous -
La sortie montre les index de toutes les lignes qui sont des candidats probables pour l'abonnement à TD. Vous pouvez maintenant donner cette sortie à l'équipe marketing de la banque qui récupère les coordonnées de chaque client de la ligne sélectionnée et poursuit son travail.
Avant de mettre ce modèle en production, nous devons vérifier l'exactitude de la prédiction.
Vérification de l'exactitude
Pour tester la précision du modèle, utilisez la méthode de score sur le classificateur comme indiqué ci-dessous -
In [27]: print('Accuracy: {:.2f}'.format(classifier.score(X_test, Y_test)))
La sortie d'écran de l'exécution de cette commande est indiquée ci-dessous -
Accuracy: 0.90
Cela montre que la précision de notre modèle est de 90%, ce qui est considéré comme très bon dans la plupart des applications. Ainsi, aucun réglage supplémentaire n'est requis. Maintenant, notre client est prêt à lancer la prochaine campagne, à obtenir la liste des clients potentiels et à les chasser pour ouvrir le TD avec un taux de réussite probablement élevé.