Esercitazione: Procedura guidata di assegnazione di punteggi al modello di Machine Learning per i pool SQL dedicati
Informazioni su come arricchire facilmente i dati nei pool SQL dedicati con modelli predittivi di Machine Learning. I modelli creati dai data scientist sono ora facilmente accessibili ai professionisti dei dati per l'analisi predittiva. Un professionista dei dati in Azure Synapse Analytics può semplicemente selezionare un modello dal registro di modelli di Azure Machine Learning per la distribuzione nei pool Azure Synapse SQL e avviare le previsioni per arricchire i dati.
Questa esercitazione illustra come:
- Eseguire il training di un modello di Machine Learning e registrarlo nel registro di modelli di Azure Machine Learning.
- Usare la procedura guidata di assegnazione di punteggi di SQL per avviare previsioni nel pool SQL dedicato.
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
- Area di lavoro di Azure Synapse Analytics con un account di archiviazione di Azure Data Lake Storage Gen2 configurato come risorsa archiviazione predefinita. È necessario essere il Collaboratore ai dati dei BLOB della risorsa di archiviazione del file system di Data Lake Storage Gen2 con cui si lavora.
- Pool SQL dedicato nell'area di lavoro di Azure Synapse Analytics. Per informazioni dettagliate, vedere Creare un pool SQL dedicato.
- Servizio collegato di Azure Machine Learning nell'area di lavoro di Azure Synapse Analytics. Per i dettagli, vedere Creare un servizio collegato di Azure Machine Learning in Azure Synapse.
Accedere al portale di Azure
Accedere al portale di Azure.
Eseguire il training di un modello in Azure Machine Learning
Prima di iniziare, verificare che la versione in uso di sklearn sia 0.20.3.
Prima di eseguire tutte le celle del notebook, controllare se l'istanza di calcolo è in esecuzione.
Passare all'area di lavoro di Azure Machine Learning.
Scaricare il file Predict NYC Taxi Tips.ipynb.
Avviare l'area di lavoro di Azure Machine Learning nello studio di Azure Machine Learning.
Passare a Notebook>Caricare file. Selezionare quindi il file Predict NYC Taxi Tips.ipynb scaricato e caricato.
Dopo aver caricato e aperto il notebook, selezionare Esegui tutte le celle.
Una delle celle potrebbe generare un errore e chiedere di eseguire l'autenticazione con Azure. Controllare gli output delle celle per verificare questa occorrenza, quindi eseguire l'autenticazione nel browser seguendo il collegamento e immettendo il codice. Quindi eseguire di nuovo il notebook.
Il notebook eseguirà il training di un modello ONNX e lo registrerà con MLFlow. Passare a Modelli per verificare che il nuovo modello sia stato registrato correttamente.
L'esecuzione del notebook comporta anche l'esportazione dei dati di test in un file CSV. Scaricare il file CSV nel sistema locale. Più avanti il file CSV verrà importato nel pool SQL dedicato e i dati verranno usati per testare il modello.
Il file CSV viene creato nella stessa cartella del file del notebook. Selezionare Aggiorna in Esplora file se non viene visualizzato immediatamente.
Avviare le previsioni con la procedura guidata di assegnazione di punteggi di SQL
Aprire l'area di lavoro di Azure Synapse con Synapse Studio.
Passare a Dati>Collegato>account di archiviazione. Caricare
test_data.csv
nell'account di archiviazione predefinito.Passare a Sviluppo>Script SQL. Creare un nuovo script SQL per caricare
test_data.csv
nel pool SQL dedicato.Nota
Aggiornare l'URL del file in questo script prima di eseguirlo.
IF NOT EXISTS (SELECT * FROM sys.objects WHERE NAME = 'nyc_taxi' AND TYPE = 'U') CREATE TABLE dbo.nyc_taxi ( tipped int, fareAmount float, paymentType int, passengerCount int, tripDistance float, tripTimeSecs bigint, pickupTimeBin nvarchar(30) ) WITH ( DISTRIBUTION = ROUND_ROBIN, CLUSTERED COLUMNSTORE INDEX ) GO COPY INTO dbo.nyc_taxi (tipped 1, fareAmount 2, paymentType 3, passengerCount 4, tripDistance 5, tripTimeSecs 6, pickupTimeBin 7) FROM '<URL to linked storage account>/test_data.csv' WITH ( FILE_TYPE = 'CSV', ROWTERMINATOR='0x0A', FIELDQUOTE = '"', FIELDTERMINATOR = ',', FIRSTROW = 2 ) GO SELECT TOP 100 * FROM nyc_taxi GO
Passare a Dati>Area di lavoro. Aprire la procedura guidata di assegnazione di punteggi di SQL facendo clic con il pulsante destro del mouse sulla tabella Pool SQL dedicato. Selezionare Machine Learning>Stima con un modello.
Nota
L'opzione Machine Learning viene visualizzata solo se è stato creato un servizio collegato per Azure Machine Learning. (Vedere prerequisiti all'inizio di questa esercitazione.)
Selezionare un'area di lavoro collegata di Azure Machine Learning nella casella di riepilogo a discesa. In questo passaggio viene caricato un elenco di modelli di Machine Learning dal registro di modelli dell'area di lavoro di Azure Machine Learning scelta. Attualmente sono supportati solo modelli ONNX, quindi in questo passaggio verranno visualizzati solo questi.
Selezionare il modello appena sottoposto a training e quindi selezionare Continua.
Eseguire il mapping delle colonne della tabella agli input del modello e specificare gli output del modello. Se il modello viene salvato nel formato MLFlow e la firma del modello viene popolata, il mapping verrà eseguito automaticamente usando una logica basata sulla somiglianza dei nomi. L'interfaccia supporta anche il mapping manuale.
Selezionare Continua.
Il codice T-SQL generato viene sottoposto a wrapping all'interno di una stored procedure. Questo è il motivo per cui è necessario fornire un nome per la stored procedure. Il file binario del modello che include i metadati (versione, descrizione e altre informazioni) verrà copiato fisicamente da Azure Machine Learning in una tabella del pool SQL dedicato. Quindi, è necessario specificare la tabella in cui salvare il modello.
È possibile scegliere Tabella esistente o Crea nuovo. Al termine, seleziona Distribuisci modello + Apri script per distribuire il modello e generare uno script di previsione T-SQL.
Una volta generato lo script, fare clic su Esegui per eseguire l'assegnazione di punteggi e ottenere le previsioni.