Logistische Regression in Python - Testen
Wir müssen den oben erstellten Klassifikator testen, bevor wir ihn für die Produktion verwenden. Wenn die Tests ergeben, dass das Modell nicht die gewünschte Genauigkeit aufweist, müssen wir den obigen Vorgang wiederholen, einen anderen Satz von Funktionen (Datenfeldern) auswählen, das Modell erneut erstellen und es testen. Dies ist ein iterativer Schritt, bis der Klassifikator Ihre Anforderungen an die gewünschte Genauigkeit erfüllt. Testen wir also unseren Klassifikator.
Vorhersage von Testdaten
Zum Testen des Klassifikators verwenden wir die in der früheren Phase generierten Testdaten. Wir nennen daspredict Methode für das erstellte Objekt und übergeben Sie die X Array der Testdaten wie im folgenden Befehl gezeigt -
In [24]: predicted_y = classifier.predict(X_test)
Dies erzeugt ein eindimensionales Array für den gesamten Trainingsdatensatz, das die Vorhersage für jede Zeile im X-Array gibt. Sie können dieses Array mit dem folgenden Befehl untersuchen:
In [25]: predicted_y
Das Folgende ist die Ausgabe bei der Ausführung der beiden oben genannten Befehle -
Out[25]: array([0, 0, 0, ..., 0, 0, 0])
Die Ausgabe zeigt an, dass die ersten und letzten drei Kunden nicht die potenziellen Kandidaten für die Term Deposit. Sie können das gesamte Array untersuchen, um die potenziellen Kunden zu sortieren. Verwenden Sie dazu das folgende Python-Code-Snippet:
In [26]: for x in range(len(predicted_y)):
if (predicted_y[x] == 1):
print(x, end="\t")
Die Ausgabe des Ausführens des obigen Codes wird unten gezeigt -
Die Ausgabe zeigt die Indizes aller Zeilen, die wahrscheinlich Kandidaten für das Abonnieren von TD sind. Sie können diese Ausgabe jetzt an das Marketing-Team der Bank weitergeben, das die Kontaktdaten für jeden Kunden in der ausgewählten Zeile abruft und mit seiner Arbeit fortfährt.
Bevor wir dieses Modell in Produktion nehmen, müssen wir die Genauigkeit der Vorhersage überprüfen.
Überprüfen der Genauigkeit
Um die Genauigkeit des Modells zu testen, verwenden Sie die Bewertungsmethode für den Klassifikator wie unten gezeigt -
In [27]: print('Accuracy: {:.2f}'.format(classifier.score(X_test, Y_test)))
Die Bildschirmausgabe zum Ausführen dieses Befehls wird unten angezeigt -
Accuracy: 0.90
Es zeigt, dass die Genauigkeit unseres Modells 90% beträgt, was in den meisten Anwendungen als sehr gut angesehen wird. Somit ist keine weitere Abstimmung erforderlich. Jetzt ist unser Kunde bereit, die nächste Kampagne durchzuführen, die Liste potenzieller Kunden abzurufen und sie für die Eröffnung des TD mit einer wahrscheinlich hohen Erfolgsrate zu verfolgen.