Condividi tramite


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

SI APPLICA A:Si trattadi un segno di spunta, il che significa che questo 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.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 parte di una serie di esercitazioni 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 e creato un esperimento.

Nella seconda parte dell'esercitazione, hai addestrato e valutato 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. Quindi faremo qualche preparazione per convertire questo esperimento da un esperimento di training a un 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. Quindi, la prima cosa da fare è rimuovere il modulo Two-Class Support Vector Machine e i moduli usati per il training. Potresti voler fare prima una copia dell'esperimento facendo clic su Salva con nome nella parte inferiore del canvas 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 Elimina.

Evidenzia quali moduli devono essere eliminati per rimuovere il modello di Support Vector Machine

Il modello avrà ora un aspetto analogo al seguente:

Esperimento risultante dall'eliminazione del modello di Support Vector Machine

A questo punto siamo pronti a implementare questo modello usando l'Albero Decisionale PotenziatoTwo-Class.

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 operazione manualmente, ma fortunatamente tutti e tre i passaggi possono essere eseguiti facendo clic su Configura servizio Web nella parte inferiore dell'area di disegno dell'esperimento e selezionando l'opzione 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 Configura servizio Web, vengono eseguite diverse operazioni:

  • Il modello sottoposto a training viene convertito in un singolo modulo Trained Model e archiviato nella tavolozza dei moduli a sinistra dell'area di disegno dell'esperimento (disponibile in Modelli sottoposti a training)
  • I moduli usati per il training vengono rimossi; specificamente:
  • Il modello con training salvato viene aggiunto nuovamente all'esperimento
  • Vengono aggiunti i moduli di input del servizio Web e output del servizio Web (identificano dove i dati dell'utente immetteranno il modello e quali dati vengono 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 nella scheda Esperimento di training e l'esperimento predittivo appena creato è in Esperimento predittivo. L'esperimento predittivo è quello che verrà distribuito come servizio Web.

Con questo particolare esperimento è necessario effettuare un'operazione aggiuntiva. sono stati aggiunti due moduli Execute R Script (Esegui script R ) per fornire una funzione di ponderazione ai 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 quando ha rimosso il modulo Split . È ora possibile rimuovere l'altro editor di metadati e connettersi direttamente al modello di punteggio.

L'esperimento dovrebbe risultare simile al seguente:

Valutazione del modello addestrato

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 [classico]. Machine Learning Studio (versione classica) distribuisce l'esperimento come servizio Web e apre il dashboard del servizio. Da questa pagina è possibile tornare all'esperimento (Visualizza snapshot o 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 Distribuisci servizio Web sotto l'area di disegno e selezionare 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 oppure selezionare "Crea nuovo" e assegnare un nome al nuovo piano e selezionare l'opzione 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 Distribuisci.

Dopo alcuni minuti, viene 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, fare clic sulla scheda Test (vedere Testare il servizio Web di seguito). Per informazioni sulla creazione di applicazioni che possono accedere al servizio Web, fare clic sulla scheda Consume (Il passaggio successivo di questa esercitazione verrà illustrato in modo più dettagliato).

Suggerimento

È possibile aggiornare il servizio Web dopo averlo distribuito. Ad esempio, se si vuole modificare il modello, è possibile modificare l'esperimento di training, modificare i parametri del modello e fare clic su Distribuisci servizio Web, selezionare Distribuisci servizio Web [classico] o Deploy Web Service [New]. Quando si distribuisce di nuovo l'esperimento, il servizio Web viene sostituito con il modello aggiornato.

Testare il servizio Web

Quando si accede al servizio Web, i dati dell'utente vengono immessi tramite il modulo di input del servizio Web, dove vengono passati al modulo Score Model per il 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 restituiti all'utente dal servizio Web tramite il modulo di output del servizio Web .

Suggerimento

Il modo in cui è configurato l'esperimento predittivo, 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 l'output del servizio Web per eliminare le colonne che non si desidera che il servizio Web restituisca.

È possibile testare un servizio Web classico in Machine Learning Studio (versione classica) o nel portale dei servizi Web di Azure Machine Learning . È possibile testare un nuovo servizio Web solo nel portale dei servizi Web di 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 Dati di esempio abilitati?. Quando si apre la scheda Request-Response nella pagina Test , il portale compila i dati di esempio tratti dal set di dati originale del rischio di credito.

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 per il servizio Web fare clic sul pulsante Test in 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 per il servizio Web fare clic sul collegamento Anteprima test in 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 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 ed è 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 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 sul 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 una o più righe 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 quindi 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 delle 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. Informazioni su come nell'articolo esportare ed eliminare i dati utente nel 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.