Fase 5: Utilizzare il modello ML per generare previsioni - Amazon Machine Learning

Non aggiorniamo più il servizio Amazon Machine Learning né accettiamo nuovi utenti. Questa documentazione è disponibile per gli utenti esistenti, ma non la aggiorneremo più. Per ulteriori informazioni, consulta la paginaCos'è Amazon Machine Learning.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fase 5: Utilizzare il modello ML per generare previsioni

Amazon Machine Learning (Amazon ML) è in grado di generare due tipi di previsioni: in batch e in tempo reale.

UNprevisione in tempo realeè una previsione per una singola osservazione che Amazon ML genera on demand. Le previsioni in tempo reale sono ideali per applicazioni per dispositivi mobili, siti Web e altre applicazioni che devono utilizzare i risultati in modo interattivo.

UNprevisione in batchè un set di previsioni per un gruppo di osservazioni. Amazon ML elabora i record di una previsione in batch insieme, perciò l'elaborazione potrebbe richiedere un po' di tempo. Usare le previsioni in batch per le applicazioni che richiedono previsioni per un set di osservazioni o previsioni che non utilizzano i risultati in modo interattivo.

Per questo tutorial, verrà generata un previsione in tempo reale per prevedere se un potenziale cliente effettuerà la sottoscrizione al nuovo prodotto. Verranno inoltre generate previsioni per un batch di grandi dimensioni di potenziali clienti. Per la previsione in batch, si utilizzerà il file banking-batch.csv che è stato caricato in Fase 1: Preparazione dei dati.

Iniziamo con una previsione in tempo reale.

Nota

Per le applicazioni che richiedono previsioni in tempo reale, è necessario creare un endpoint in tempo reale per il modello ML. Durante la disponibilità di un endpoint in tempo reale sono previsti addebiti di costi. Prima di decidere di utilizzare le previsioni in tempo reale e iniziare a sostenere i costi associati, è possibile provare a usare la funzione di previsione in tempo reale in un browser Web, senza creare un endpoint in tempo reale. È quanto faremo per questo tutorial.

Per provare una previsione in tempo reale
  1. Nel riquadro di navigazione ML model report (Report del modello ML), scegliere Try real-time predictions (Prova le previsioni in tempo reale).

    Navigation pane with "Try real-time predictions" option circled in red.
  2. Scegliere Paste a record (Incolla un record).

    Button labeled "Paste a record" highlighted in a web interface form.
  3. Nella finestra di dialogo Paste a record (Incolla un record), incollare la seguente osservazione:

    32,services,divorced,basic.9y,no,unknown,yes,cellular,dec,mon,110,1,11,0,nonexistent,-1.8,94.465,-36.1,0.883,5228.1
  4. NellaIncolla un recordfinestra di dialogo, scegliereInviaper confermare che vuoi generare una previsione per questa osservazione. Amazon ML popola i valori nel modulo della previsione in tempo reale.

    Table row showing 'age' attribute with Numeric type and Value of 32.0.
    Nota

    È inoltre possibile popolare i campi Value (Valore) digitando i singoli valori. Indipendentemente dal metodo scelto, si deve fornire un'osservazione che non è stata utilizzata per addestrare il modello.

  5. Nella parte inferiore della pagina, scegliere Create prediction (Crea previsione).

    La previsione appare nel riquadro Prediction results (Risultati delle previsioni) a destra. Questa previsione ha una Predicted label (Etichetta prevista) corrispondente a 0, il che significa che è improbabile che il potenziale cliente reagisca alla campagna. Una Predicted label (Etichetta prevista) uguale a 1 significherebbe che è probabile che il cliente reagisca alla campagna.

    Prediction results showing binary ML model with predicted label 0 and score 0.033486433.

Ora si procede alla creazione di una previsione in batch. È possibile fornire ad Amazon ML il nome del modello ML in uso; la posizione Amazon Simple Storage Service (Amazon S3) dei dati di input per i quali si desidera generare le previsioni (Amazon ML creerà un'origine dati per la previsione in batch da questi dati) e la posizione Amazon S3 per archiviare i risultati.

Per creare una previsione in batch.
  1. Scegliere Amazon Machine Learning, quindi Batch Predictions (Previsioni in batch).

    Amazon Machine Learning dropdown menu with Batch Predictions option highlighted.
  2. Scegliere Create new batch prediction (Crea nuova previsione in batch).

  3. SulModello ML per previsioni batchpagina, sceglieremodello ML: Dati bancari 1.

    Amazon ML mostra il nome del modello ML, l'ID, l'ora di creazione e l'ID dell'origine dati associata.

  4. Scegliere Continue (Continua).

  5. Per generare le previsioni, è necessario fornire ad Amazon ML i dati per i quali servono le previsioni. Si chiamano dati di input. In primo luogo, inserire i dati di input in un'origine dati, in modo che Amazon ML vi possa accedere.

    Per Locate the input data (Individuare i dati di input), scegliere My data is in S3, and I need to create a datasource (I miei dati sono in S3 e devo creare un'origine dati).

    Radio button options for locating input data, with the second option selected.
  6. Per Datasource name (Nome origine dati), digitare Banking Data 2.

  7. Per S3 Location (Posizione S3), digitare il percorso completo del file banking-batch.csv: proprio-bucket/banking-batch.csv.

  8. Per Does the first line in your CSV contain the column names? (La prima riga del CSV contiene i nomi di colonna?), scegliere Yes (Sì).

  9. Selezionare Verify (Verifica).

    Amazon ML convalida il percorso dei dati.

  10. Scegliere Continue (Continua).

  11. PerDestinazione S3), digitare il nome del percorso Amazon S3 in cui sono stati caricati i file nella Fase 1. Preparazione dei dati. Amazon ML carica i risultati delle previsioni in tale posizione.

  12. PerNome della previsione Batchaccettare l'impostazione predefinita,Batch prediction: ML model: Banking Data 1. Amazon ML sceglie il nome di default sulla base del modello che utilizzerà per creare le previsioni. In questo tutorial, il modello e le previsioni sono denominati sulla base dell'origine dati Banking Data 1.

  13. Scegliere Review (Rivedi).

  14. Nella finestra di dialogo S3 permissions (Autorizzazioni S3), scegliere Yes (Sì).

    Dialog box asking to grant Amazon Machine Learning write permission on S3 location.
  15. Nella pagina Review (Rivedi), scegliere Finish (Fine).

    La richiesta di previsione in batch viene inviata ad Amazon ML e inserita in una coda. Il tempo impiegato da Amazon ML per elaborare una previsione in batch dipende dalla dimensione dell'origine dati e dalla complessità del modello ML. Mentre Amazon ML elabora la richiesta, indica lo stato di Amazon MLIn Progress (In corso). Dopo aver completato la previsione in batch, lo stato della richiesta diventa Completed (Completato). A quel punto è possibile visualizzare i risultati.

Per visualizzare le previsioni
  1. Scegliere Amazon Machine Learning, quindi Batch Predictions (Previsioni in batch).

    Amazon Machine Learning dropdown menu showing options including Batch Predictions.
  2. Nell'elenco delle previsioni, scegliereprevisione Batch: modello ML: Dati bancari 1. Viene visualizzata la pagina Batch prediction info (Informazioni sulla previsione in batch).

    Batch prediction details including name, ID, status, and associated data sources and models.
  3. Per visualizzare i risultati della previsione in batch, vai alla console Amazon S3 all'indirizzohttps://console.aws.amazon.com/s3/e navigare fino alla posizione Amazon S3 a cui si fa riferimento nellaURL di output S3 URL. Da qui, accedere alla cartella dei risultati, che ha un nome simile a s3://aml-data/batch-prediction/result.

    AWS S3 console showing a single file in the batch-prediction result folder.

    La previsione è memorizzata in un file compresso .gzip con estensione .gz.

  4. Scaricare il file di previsione nel desktop, decomprimerlo e aprirlo.

    Table showing bestAnswer scores with numerical values ranging from 0.00046 to 0.30811.

    Il file ha due colonne, bestAnswer (migliore risposta) e score (punteggio) e una riga per ogni osservazione all'interno dell'origine dati. I risultati nella colonna bestAnswer (migliore risposta) sono basati sul punteggio soglia di 0,77 impostato in Fase 4: Esaminare le prestazioni predittive del modello ML e impostare un punteggio soglia. Uno score (punteggio) maggiore di 0,77 dà origine a una bestAnswer (migliore risposta) di 1, che costituisce una risposta o previsione positiva, e uno score (punteggio) inferiore a 0,77 dà origine a una bestAnswer (migliore risposta) di 0, che costituisce una risposta o previsione negativa.

    I seguenti esempi mostrano previsioni positive e negative basate sul punteggio soglia di 0,77.

Previsione positiva:

Table showing bestAnswer score of 1 with a corresponding value of 0.822876.

In questo esempio, il valore di bestAnswer (migliore risposta) è 1 e il valore di score (punteggio) è 0,8228876. Il valore di bestAnswer (migliore risposta) è 1 perché score (punteggio) è superiore al punteggio soglia di 0,77. Un valore bestAnswer (migliore risposta) 1 indica che è probabile che il cliente acquisterà il prodotto e, pertanto, è considerata una previsione positiva.

Previsione negativa:

Table showing bestAnswer score of 0 and a numerical score of 0.7693356.

In questo esempio, il valore di bestAnswer (migliore risposta) è 0 perché il valore di score (punteggio) è 0,7695356, che è inferiore al punteggio soglia di 0,77. Un valore bestAnswer (migliore risposta) 0 indica che è improbabile che il cliente acquisterà il prodotto e, pertanto, è considerata una previsione negativa.

Ogni riga del risultato in batch corrisponde a una riga nell'input in batch (un'osservazione nell'origine dati).

Dopo aver analizzato le previsioni, è possibile avviare la campagna di marketing mirata, ad esempio inviando volantini a tutti gli utenti con un punteggio previsto di 1.

Dopo aver creato, rivisto e utilizzato il modello, ripulire i dati e le risorse AWS creati per evitare di incorrere in costi inutili e mantenere il workspace ordinato.