Condividi tramite


Esercitazione 3: Distribuire un modello di rischio di credito - Machine Learning Studio (versione classica)

SI APPLICA A: Questo è un segno di spunta, che significa che l'articolo si applica a Machine Learning Studio (versione classica).Machine Learning Studio (versione classica) Si tratta di una X, il che significa che questo articolo non si applica ad Azure Machine Learning.di Azure Machine Learning

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

In questa esercitazione si esamina il processo di sviluppo di una soluzione di analisi predittiva. Si svilupperà un modello semplice in Machine Learning Studio (versione classica). Il modello viene quindi distribuito come servizio Web di Machine Learning. Questo modello distribuito può creare previsioni usando nuovi dati. Questa esercitazione è la terza di una serie in tre parti.

Si supponga di dover prevedere il rischio di credito di un soggetto in base alle informazioni fornite in una richiesta di credito.

La valutazione del rischio di credito è un problema complesso che verrà tuttavia semplificato con questa esercitazione. Verrà usato come esempio di come creare una soluzione di analisi predittiva usando Machine Learning Studio (versione classica). Si useranno Machine Learning Studio (versione classica) e un servizio Web di Machine Learning per questa soluzione.

In questa esercitazione in tre parti si inizia con dati sul rischio di credito disponibili pubblicamente. Verrà quindi sviluppato e sottoposto a training un modello predittivo. Il modello verrà infine distribuito come servizio Web.

Nella prima parte dell'esercitazione è stata creata un'area di lavoro di Machine Learning Studio (versione classica), sono stati caricati i dati ed è stato creato un esperimento.

Nella seconda parte dell'esercitazione sono stati eseguiti il training e la valutazione dei modelli.

In questa parte dell'esercitazione verranno eseguite queste operazioni:

  • Preparare la distribuzione
  • Distribuire il servizio web
  • Testare il servizio Web
  • Gestire il servizio Web
  • Accedere al servizio Web

Prerequisiti

Completare la seconda parte dell'esercitazione.

Preparare la distribuzione

Per consentire ad altri utenti di usare il modello predittivo sviluppato in questa esercitazione, il modello può essere distribuito come servizio Web in Azure.

Fino a questo punto è stato sperimentato il training del modello, ma il servizio distribuito non dovrà più eseguire il training, perché genererà le stime assegnando un punteggio all'input dell'utente in base al modello. Di conseguenza, è necessario eseguire alcuni preparativi per convertire questo esperimento da esperimento di training a esperimento predittivo.

La preparazione per la distribuzione è un processo che prevede tre passaggi:

  1. Rimuovere uno dei modelli
  2. Convertire l'esperimento di training creato in un esperimento predittivo
  3. Distribuire l'esperimento predittivo come servizio Web

Rimuovere uno dei modelli

Prima è necessario ridurre leggermente questo esperimento. Nell'esperimento sono attualmente presenti due modelli diversi, ma si intende usare un solo modello da distribuire come servizio Web.

Si supponga che il modello di albero con boosting funzioni meglio del modello SVM. La prima cosa da fare, quindi, è rimuovere il modulo Two-Class Support Vector Machine e i moduli usati per eseguirne il training. È possibile creare prima una copia dell'esperimento facendo clic su Save As nella parte inferiore dell'area di disegno dell'esperimento.

È necessario eliminare i moduli seguenti:

Selezionare ogni modulo e premere CANC oppure fare clic con il pulsante destro del mouse sul modulo e scegliere Delete (Elimina).

Evidenzia i moduli da eliminare per rimuovere il modello Macchina a vettore di supporto

Il modello avrà ora un aspetto analogo al seguente:

Esperimento risultante dall'eliminazione del modello Macchina a vettore di supporto

Ora il modello è pronto per essere distribuito tramite il modulo Two-Class Boosted Decision Tree.

Convertire l'esperimento di training in un esperimento predittivo

Per preparare questo modello per la distribuzione, è necessario convertire l'esperimento di training in un esperimento predittivo. Questa operazione comporta tre passaggi:

  1. Salvare il modello di cui è stato eseguito il training e sostituire i moduli di training
  2. Ridurre l'esperimento per rimuovere i moduli che sono serviti solo per il training
  3. Definire il punto in cui il servizio Web accetterà l'input e in cui genererà l'output

È possibile eseguire questa procedura manualmente, ma i tre passaggi possono essere effettuati facendo clic su Configura servizio Web nella parte inferiore del canvas dell'esperimento e selezionando l'opzione Predictive Web Service (Servizio Web predittivo).

Suggerimento

Per altre informazioni su cosa accade quando si converte un esperimento di training in un esperimento predittivo, vedere Come preparare il modello per la distribuzione in Machine Learning Studio (versione classica).

Quando si fa clic su Set Up Web Service(Configura servizio Web), vengono eseguite diverse operazioni:

  • Il modello di cui è stato eseguito il training viene convertito in un singolo modulo Trained Model e archiviato nella tavolozza dei moduli a sinistra dell'area di disegno dell'esperimento e sarà disponibile in Trained Models.
  • I moduli usati per il training vengono rimossi; specificamente:
  • Il modello con training salvato viene aggiunto nuovamente all'esperimento
  • Vengono aggiunti i moduli Web service input (Input servizio Web) e Output servizio Web; queste informazioni identificano dove verranno immessi i dati dell'utente nel modello e i dati che verranno restituiti quando si accede al servizio Web

Nota

Si può notare che l'esperimento viene salvato in due parti sotto le schede che sono state aggiunte all'inizio dell'area di disegno dell'esperimento. L'esperimento di training originale si trova sotto la scheda Esperimento di training e l'esperimento predittivo appena creato si trova sotto Esperimento predittivo. L'esperimento predittivo è quello che verrà distribuito come servizio Web.

Con questo particolare esperimento è necessario effettuare un'operazione aggiuntiva. Sono stati aggiungi due moduli Execute R Script per fornire una funzione di ponderazione per i dati. Si tratta semplicemente di un espediente necessario per il training e il test ed è quindi possibile estrarre i moduli nel modello finale. Machine Learning Studio (versione classica) ha rimosso un modulo Execute R Script durante la rimozione del modulo Split Data. È possibile rimuovere l'altro modulo e connettere Metadata Editor direttamente a Score Model.

L'esperimento dovrebbe risultare simile al seguente:

Valutazione del modello sottoposto a training

Nota

Ci si chiederà perché il set di dati relativo alle carte di credito tedesche UCI sia stato lasciato nell'esperimento predittivo. Il servizio assegnerà un punteggio ai dati dell'utente, non al set di dati originale, quindi perché lasciare il set di dati originale nel modello?

Il servizio non necessita dei dati della carta di credito originali. Necessita però dello schema per tali dati, incluse informazioni come il numero di colonne presenti e quali colone sono numeriche. Queste informazioni sullo schema sono necessarie per interpretare i dati dell'utente. È necessario lasciare questi componenti connessi in modo che il modulo di punteggio abbia lo schema del set di dati quando il servizio è in esecuzione. I dati non vengono usati, solo lo schema.

Una cosa importante da notare è che. se il set di dati originale contiene l'etichetta, lo schema previsto dall'input Web prevederà anch'esso una colonna con etichetta. Un modo di evitare questo problema consiste nel rimuovere l'etichetta e ogni altro dato del set di dati di training, ma non previsto negli input Web, prima di connettere l'input Web e il set di dati di training in un modulo comune.

Eseguire l'esperimento un'ultima volta (fare clic su Esegui). Se si vuole verificare che il modello funzioni ancora, fare clic sull'output del modulo Score Model (Punteggio modello ) e selezionare View Results ( Visualizza risultati). Verranno visualizzati i dati originali, insieme al valore di rischio di credito "Scored Labels" (Etichette punteggio) e al valore di probabilità del punteggio "Scored Probabilities" (Probabilità punteggio).

Distribuire il servizio web

È possibile distribuire l'esperimento come servizio Web classico o come nuovo servizio Web basato su Azure Resource Manager.

Distribuire l'esperimento come servizio Web classico

Per distribuire un servizio Web classico derivato dall'esperimento, fare clic su Distribuisci servizio Web sotto l'area di disegno e selezionare Distribuisci servizio Web - Nuovo. Machine Learning Studio (versione classica) distribuisce l'esperimento come servizio Web e apre il dashboard del servizio. Da questa pagina è possibile tornare all'esperimento (View snapshot (Visualizza snapshot) o View latest (Visualizza più recente)) ed eseguire un semplice test del servizio Web. Vedere Testare il servizio Web di seguito. Qui sono anche disponibili informazioni per la creazione di applicazioni in grado di accedere al servizio Web. Altre informazioni sono disponibili nella sezione successiva di questa esercitazione.

Dashboard del servizio Web

È possibile configurare il servizio facendo clic sulla scheda CONFIGURAZIONE . Qui è possibile modificare il nome del servizio (viene assegnato il nome dell'esperimento per impostazione predefinita) e assegnare una descrizione. È anche possibile inserire etichette più descrittive per i dati di input e output.

Configurare il servizio Web

Distribuire l'esperimento come nuovo servizio Web

Nota

Per distribuire un nuovo servizio Web è necessario disporre delle autorizzazioni sufficienti nella sottoscrizione a cui si sta distribuendo il servizio Web. Per altre informazioni, vedere Gestire un servizio Web tramite il portale dei servizi Web di Machine Learning.

Per distribuire un nuovo servizio Web derivato dall'esperimento:

  1. Fare clic su Deploy Web Service (Distribuisci servizio Web) sotto l'area di disegno e selezionare Deploy Web Service [New] (Distribuisci servizio Web [Nuovo]). Machine Learning Studio (versione classica) trasferisce l'utente alla pagina Deploy Experiment (Distribuisci esperimento) dei servizi Web di Machine Learning.

  2. Immettere un nome per il servizio Web.

  3. Per Piano tariffario è possibile selezionare un piano tariffario esistente o selezionare "Nuovo" e denominare il nuovo piano, quindi selezionare l'opzione del piano mensile. Per impostazione predefinita vengono usati i livelli di piano per l'area predefinita e il servizio Web viene distribuito in questa area.

  4. Fare clic su Distribuzione.

Dopo alcuni minuti verrà visualizzata la pagina Avvio rapido per il servizio Web.

È possibile configurare il servizio facendo clic sulla scheda Configura . Qui è possibile modificare il titolo del servizio e assegnare una descrizione.

Per testare il servizio Web, selezionare la scheda Test. Vedere Testare il servizio Web di seguito. Per informazioni sulla creazione di applicazioni in grado di accedere al servizio Web, fare clic sulla scheda Consume (Utilizzo). Altre informazioni sono disponibili nella sezione successiva di questa esercitazione.

Suggerimento

È possibile aggiornare il servizio Web dopo averlo distribuito. Se, ad esempio, si vuole cambiare il modello, è possibile modificare l'esperimento di training, modificare i parametri del modello e fare clic su Deploy Web Service (Distribuisci servizio Web), selezionando Deploy Web Service [Classic] (Distribuisci servizio Web [Classico]) o Deploy Web Service [New] (Distribuisci servizio Web [Nuovo]). Quando si distribuisce di nuovo l'esperimento, il servizio Web viene sostituito con il modello aggiornato.

Testare il servizio Web

Quando viene eseguito l'accesso al servizio Web, i dati dell'utente vengono inseriti mediante il modulo Web service input e trasferiti nel modulo Score Model, in cui viene assegnato un punteggio. In considerazione del modo in cui l'esperimento predittivo è configurato, il modello presuppone che i dati abbiano lo stesso formato del set di dati del rischio di credito originale. I risultati vengono quindi restituiti all'utente dal servizio Web tramite il modulo Output servizio Web.

Suggerimento

In considerazione del modo in cui l'esperimento predittivo è configurato, vengono restituiti tutti i risultati del modulo Score Model. Ciò include tutti i dati di input, il valore del rischio di credito e il valore di probabilità del punteggio. Ma è possibile restituire un elemento diverso se si desidera, ad esempio, si potrebbe restituire solo il valore di rischio di credito. A tale scopo, inserire un modulo Select Columns tra Score Model e Output servizio Web per eliminare le colonne che il servizio Web non deve restituire.

È possibile testare il servizio Web in Machine Learning Studio (versione classica) o nel portale dei servizi Web di Azure Machine Learning. È possibile testare un nuovo servizio Web solo dal portale dei servizi Web di Azure Machine Learning.

Suggerimento

Quando si esegue il test nel portale dei servizi Web di Machine Learning, è possibile creare nel portale dati di esempio che è possibile usare per testare il servizio Request-Response. Nella pagina Configura selezionare "Sì" per la richiesta di dati di esempio abilitati?. Quando si apre la scheda Richiesta-risposta della pagina Test, il portale compila i dati di esempio prelevati dal set di dati del rischio di credito originale.

Testare un servizio Web classico

È possibile testare il servizio Web in Machine Learning Studio (versione classica) o nel portale dei servizi Web di Azure Machine Learning.

Testare in Machine Learning Studio (versione classica)

  1. Nella pagina DASHBOARD del servizio Web fare clic sul pulsante Test in Default Endpoint (Endpoint predefinito). Viene visualizzata una finestra di dialogo che richiede i dati di input per il servizio. Sono le stesse colonne visualizzate nel set di dati del rischio di credito originale.

  2. Immettere un set di dati e quindi fare clic su OK.

Testare nel portale dei servizi Web di Azure Machine Learning

  1. Nella pagina DASHBOARD del servizio Web fare clic sul pulsante Test preview (Anteprima test) in Default Endpoint (Endpoint predefinito). Viene visualizzata la pagina di test nel portale dei servizi Web di Machine Learning per l'endpoint del servizio Web e viene chiesto di immettere i dati di input per il servizio. Sono le stesse colonne visualizzate nel set di dati del rischio di credito originale.

  2. Fare clic su Test Request-Response(Test Richiesta-risposta).

Testare un nuovo servizio Web

È possibile testare un nuovo servizio Web solo dal portale dei servizi Web di Azure Machine Learning.

  1. Nel portale dei servizi Web di Machine Learning fare clic su Test nella parte superiore della pagina. Viene visualizzata la pagina Test, in cui è possibile immettere i dati per il servizio. I campi di input visualizzati corrispondono alle colonne visualizzate nel set di dati del rischio di credito originale.

  2. Immettere un set di dati e quindi fare clic su Test Request-Response(Test Richiesta-risposta).

I risultati del test vengono visualizzati sul lato destro della pagina nella colonna di output.

Gestire il servizio Web

Dopo aver distribuito il servizio Web, classico o nuovo, è possibile gestirlo dal portale dei servizi Web di Machine Learning.

Per monitorare le prestazioni del servizio Web:

  1. Accedere al portale dei servizi Web di Machine Learning
  2. Fare clic su Servizi Web
  3. Fare clic sul servizio Web
  4. Fare clic su Dashboard

Accedere al servizio Web

Nel passaggio precedente di questa esercitazione è stato distribuito un servizio Web che usa il modello di previsione del rischio di credito. Ora gli utenti sono in grado di inviare dati al servizio e ricevere risultati.

Questo è un servizio Web di Azure che può ricevere e restituire dati tramite le API REST in due modi:

  • Richiesta/risposta : l'utente invia uno o più set di dati di credito al servizio usando un protocollo HTTP e il servizio risponde con uno o più set di risultati.
  • Esecuzione batch : l'utente archivia una o più righe di dati di credito in un BLOB di Azure e invia il percorso del BLOB al servizio. Il servizio assegna un punteggio a tutte le righe di dati del BLOB di input, archivia i risultati in un altro BLOB e restituisce l'URL di quel contenitore.

Nota

I nomi delle colonne di funzionalità in Studio (versione classica) fanno distinzione tra maiuscole e minuscole. Assicurarsi che i dati di input per richiamare il servizio Web abbiano gli stessi nomi di colonna del set di dati di training.

Per altre informazioni sull'accesso e l'utilizzo del servizio Web, vedere Utilizzare un servizio Web di Machine Learning con un modello di app Web.

Pulire le risorse

Se le risorse create in questo articolo non sono più necessarie, eliminarle per evitare di incorrere in eventuali addebiti. Per altre informazioni, vedere l'articolo Esportare ed eliminare i dati utente interni al prodotto.

Passaggi successivi

In questa esercitazione sono stati completati i passaggi seguenti:

  • Preparare la distribuzione
  • Distribuire il servizio web
  • Testare il servizio Web
  • Gestire il servizio Web
  • Accedere al servizio Web

È possibile sviluppare anche un'applicazione personalizzata per accedere al servizio Web utilizzando il codice di avvio fornito automaticamente nei linguaggi di programmazione R, C# e Python.