Regressione logistica in Python - Test

Dobbiamo testare il classificatore creato sopra prima di metterlo in uso in produzione. Se il test rivela che il modello non soddisfa la precisione desiderata, dovremo tornare indietro nel processo precedente, selezionare un altro set di caratteristiche (campi dati), costruire nuovamente il modello e testarlo. Questo sarà un passaggio iterativo fino a quando il classificatore non soddisfa il tuo requisito di accuratezza desiderata. Quindi testiamo il nostro classificatore.

Previsione dei dati di test

Per testare il classificatore, utilizziamo i dati di test generati nella fase precedente. Chiamiamo il filepredict sull'oggetto creato e passare il X matrice dei dati del test come mostrato nel seguente comando:

In [24]: predicted_y = classifier.predict(X_test)

Questo genera una matrice unidimensionale per l'intero set di dati di addestramento che fornisce la previsione per ogni riga nella matrice X. È possibile esaminare questo array utilizzando il seguente comando:

In [25]: predicted_y

Quello che segue è l'output dopo l'esecuzione dei due comandi precedenti:

Out[25]: array([0, 0, 0, ..., 0, 0, 0])

L'output indica che i primi e gli ultimi tre clienti non sono i potenziali candidati per Term Deposit. È possibile esaminare l'intero array per individuare i potenziali clienti. Per fare ciò, usa il seguente frammento di codice Python:

In [26]: for x in range(len(predicted_y)):
   if (predicted_y[x] == 1):
      print(x, end="\t")

L'output dell'esecuzione del codice sopra è mostrato di seguito:

L'output mostra gli indici di tutte le righe che sono probabili candidati per la sottoscrizione a TD. È ora possibile inviare questo output al team di marketing della banca che raccoglierà i dettagli di contatto per ogni cliente nella riga selezionata e procederà con il proprio lavoro.

Prima di mettere in produzione questo modello, dobbiamo verificare l'accuratezza della previsione.

Verifica della precisione

Per verificare l'accuratezza del modello, utilizzare il metodo di punteggio sul classificatore come mostrato di seguito:

In [27]: print('Accuracy: {:.2f}'.format(classifier.score(X_test, Y_test)))

L'output sullo schermo dell'esecuzione di questo comando è mostrato di seguito:

Accuracy: 0.90

Mostra che la precisione del nostro modello è del 90%, il che è considerato molto buono nella maggior parte delle applicazioni. Pertanto, non è richiesta alcuna ulteriore messa a punto. Ora, il nostro cliente è pronto per eseguire la prossima campagna, ottenere l'elenco dei potenziali clienti e inseguirli per l'apertura del TD con un probabile alto tasso di successo.