Esercitazione: creare un modello di Machine Learning in Power BITutorial: Build a Machine Learning model in Power BI

In questo articolo dell'esercitazione viene usato il Machine Learning automatizzato per creare e applicare un modello di previsione per dati binari in Power BI.In this tutorial article, you use Automated Machine Learning to create and apply a binary prediction model in Power BI. L'esercitazione include le istruzioni per la creazione di un flusso di dati di Power BI e l'uso delle entità definite nel flusso di dati per eseguire il training e la convalida di un modello di Machine Learning direttamente in Power BI.The tutorial includes guidance for creating a Power BI dataflow, and using the entities defined in the dataflow to train and validate a machine learning model directly in Power BI. Il modello viene quindi usato per l'assegnazione dei punteggi ai nuovi dati per generare stime.We then use that model for scoring new data to generate predictions.

Viene innanzitutto creato un modello di Machine Learning di previsione per dati binari per prevedere la finalità di acquisto degli acquirenti online in base a un set di attributi della sessione online.First, you'll create a Binary Prediction machine learning model, to predict the purchase intent of online shoppers based on a set of their online session attributes. Per questo esercizio viene usato un set di dati di Machine Learning benchmark.A benchmark machine learning dataset is used for this exercise. Dopo aver eseguito il training di un modello, Power BI genera automaticamente un report di convalida che illustra i risultati del modello.Once a model is trained, Power BI will automatically generate a validation report explaining the model results. È quindi possibile esaminare il report di convalida e applicare il modello ai dati per l'assegnazione dei punteggi.You can then review the validation report and apply the model to your data for scoring.

Questa esercitazione prevede i passaggi seguenti:This tutorial consists of following steps:

  • Creare un flusso di dati con i dati di inputCreate a dataflow with the input data
  • Creare ed eseguire il training di un modello di Machine LearningCreate and train a machine learning model
  • Esaminare il report di convalida del modelloReview the model validation report
  • Applicare il modello a un'entità del flusso di datiApply the model to a dataflow entity
  • Uso dell'output con punteggio dal modello di un report Power BIUsing the scored output from the model in a Power BI report

Creare un flusso di dati con i dati di inputCreate a dataflow with the input data

La prima parte di questa esercitazione consiste nel creare un flusso di dati con i dati di input.The first part of this tutorial is to create a dataflow with input data. Questo processo richiede alcuni passaggi, come illustrato nelle sezioni seguenti, a partire dal recupero dei dati.That process takes a few steps, as shown in the following sections, beginning with getting data.

Recuperare i datiGet data

Il primo passaggio per la creazione di un flusso di dati consiste nell'avere le origini dati pronte.The first step in creating a dataflow is to have your data sources ready. In questo caso viene usato un set di dati di Machine Learning di un set di sessioni online, alcune delle quali sono terminate con un acquisto.In our case, we use a machine learning dataset from a set of online sessions, some of which culminated in a purchase. Il set di dati contiene un set di attributi relativi a queste sessioni che verrà usato per il training del modello.The dataset contains a set of attributes about these sessions, which we'll use for training our model.

È possibile scaricare il set di dati dal sito Web UC Irvine.You can download the dataset from the UC Irvine website. Il set di dati per questa esercitazione è disponibile anche al collegamento seguente: online_shoppers_intention.csv.We also have this available, for the purpose of this tutorial, from the following link: online_shoppers_intention.csv.

Creare le entitàCreate the entities

Per creare le entità nel flusso di dati, accedere al servizio Power BI e passare a un'area di lavoro nella propria capacità in cui sia abilitata la funzionalità di intelligenza artificiale.To create the entities in your dataflow, sign into the Power BI service and navigate to a workspace on your capacity that has AI enabled.

Se non è già presente un'area di lavoro, è possibile crearne una selezionando Aree di lavoro nel menu del riquadro di spostamento del servizio Power BI e selezionando Crea area di lavoro nella parte inferiore del pannello visualizzato.If you don't already have a workspace, you can create one by selecting Workspaces in the nav pane menu in the Power BI service, and select Create workspace at the bottom of the panel that appears. Viene aperto un pannello a destra in cui immettere i dettagli dell'area di lavoro.This opens a panel on the right to enter the workspace details. Immettere il nome di un'area di lavoro e selezionare Avanzate.Enter a workspace name and select Advanced. Verificare che l'area di lavoro usi la capacità dedicata con il pulsante di opzione e che sia assegnata a un'istanza di capacità per cui è attivata l'anteprima di intelligenza artificiale.Confirm that the workspace uses Dedicated Capacity using the radio button, and that it's assigned to a capacity instance that has the AI preview turned on. Selezionare quindi Salva.Then select Save.

Creare un'area di lavoro

Dopo aver creato l'area di lavoro, è possibile selezionare Ignora nella parte inferiore destra della schermata iniziale, come illustrato nell'immagine seguente.Once the workspace is created, you can select Skip in the bottom right of the Welcome screen, as shown in the following image.

Ignorare se è presente un'area di lavoro

Selezionare il pulsante Crea nella parte superiore destra dell'area di lavoro e quindi selezionare Flusso di dati.Select the Create button at the top right of the workspace, and then select Dataflow.

Creare il flusso di dati

Selezionare Aggiungi nuove entità.Select Add new entities. Viene avviato un editor di Power Query nel browser.This launches a Power Query editor in the browser.

Aggiungi nuove entità

Selezionare File di testo/File CSV come origine dati, come illustrato nell'immagine seguente.Select Text/CSV File as a data source, shown in the following image.

File di testo/File CSF selezionato

Nella pagina Connessione a un'origine dati copiare il collegamento seguente a online_shoppers_intention.csv nella casella Percorso file o URL e quindi selezionare Avanti.In the Connect to a data source page that appears next, paste the following link to the online_shoppers_intention.csv into the File path or URL box, and then select Next.

https://raw.githubusercontent.com/santoshc1/PowerBI-AI-samples/master/Tutorial_AutomatedML/online_shoppers_intention.csv

Percorso del file

L'editor di Power Query visualizza un'anteprima dei dati del file CSV.The Power Query Editor shows a preview of the data from the CSV file. È possibile rinominare la query con un nome più descrittivo modificando il valore nella casella Nome disponibile nel riquadro di destra.You can rename the query to a friendlier name by changing the value in the Name box found in the right pane. Ad esempio, è possibile modificare il nome della query in Online Visitors.For example, you could change the Query name to Online Visitors.

Passare a un nome descrittivo

Power Query deduce automaticamente il tipo di colonne.Power Query automatically infers the type of columns. È possibile modificare il tipo di colonna facendo clic sull'icona del tipo di attributo nella parte superiore dell'intestazione di colonna.You can change the column type by clicking on the attribute type icon at the top of the column header. In questo esempio il tipo della colonna Revenue viene modificato in True/False.In this example, we change the type of the Revenue column to True/False.

Cambia tipo di dati

Selezionare il pulsante Salva e chiudi per chiudere l'editor di Power Query.Select the Save & close button to close Power Query Editor. Specificare un nome per il flusso di dati e quindi selezionare Salva nella finestra di dialogo, come illustrato nell'immagine seguente.Provide a name for the dataflow, and then select Save on the dialog, as shown in the following image.

Salvare il flusso di dati

Creare ed eseguire il training di un modello di Machine LearningCreate and train a machine learning model

Per aggiungere un modello di Machine Learning, selezionare il pulsante Applica modello di ML nell'elenco Azioni dell'entità di base che contiene i dati di training e le informazioni sull'etichetta e quindi selezionare Aggiungi un modello di Machine Learning.To add a machine learning model, Select the Apply ML model button in the Actions list for the base entity that contains your training data and label information, and then select Add a machine learning model.

Aggiungi un modello di Machine Learning

Il primo passaggio per la creazione del modello di Machine Learning consiste nell'identificare i dati cronologici, incluso il campo del risultato da stimare.The first step for creating our machine learning model is to identify the historical data including the outcome field that you want to predict. Il modello verrà creato in base a questi dati.The model will be created by learning from this data.

Nel caso del set di dati in uso, si tratta del campo Revenue (Ricavi).In the case of the dataset we're using, this is the Revenue field. Selezionare Revenue come valore 'Campo Risultato' e quindi selezionare Avanti.Select Revenue as the 'Outcome field' value and then select Next.

Selezionare i dati cronologici

Successivamente è necessario selezionare il tipo di modello di Machine Learning da creare.Next, we must select the type of machine learning model to create. Power BI analizza i valori nel campo del risultato identificato e suggerisce i tipi di modelli di Machine Learning che è possibile creare per stimare tale campo.Power BI analyzes the values in the outcome field that you've identified and suggests the types of machine learning models that can be created to predict that field.

In questo caso, poiché si sta stimando un risultato binario che indica se un utente effettuerà un acquisto o meno, è consigliabile selezionare Previsione per dati binari.In this case since we're predicting a binary outcome of whether a user will make a purchase or not, Binary Prediction is recommended. Poiché si è interessati alla stima degli utenti che effettueranno un acquisto, selezionare True come risultato dei ricavi a cui si è maggiormente interessati.Since we are interested in predicting users who will make a purchase, select True as the Revenue outcome that you're most interested in. È inoltre possibile specificare etichette descrittive per i risultati da usare nel report generato automaticamente che riepiloga i risultati della convalida del modello.Additionally, you can provide friendly labels for the outcomes to be used in the automatically generated report that will summarize the results of the model validation. Selezionare quindi Avanti.Then select Next.

Previsione per dati binari selezionata

Successivamente, Power BI esegue un'analisi preliminare di un campione di dati e suggerisce gli input che possono produrre stime più accurate.Next, Power BI does a preliminary scan of a sample of your data and suggests the inputs that may produce more accurate predictions. Se Power BI non consiglia un campo, accanto ad esso viene fornita una spiegazione.If Power BI doesn't recommend a field, an explanation would be provided next to it. È possibile modificare le selezioni in modo da includere solo i campi da esaminare nel modello oppure selezionare tutti i campi selezionando la casella di controllo accanto al nome dell'entità.You have the option to change the selections to include only the fields you want the model to study, or you can select all the fields by selecting the checkbox next to the entity name. Selezionare Avanti per accettare gli input.Select Next to accept the inputs.

Seleziona la casella di controllo Avanti

Nel passaggio finale è necessario specificare un nome per il modello.In the final step, we must provide a name for our model. Denominare il modello Purchase Intent Prediction (Stima finalità di acquisto).Name the model Purchase Intent Prediction. È possibile scegliere di ridurre il tempo di training per visualizzare risultati rapidi o aumentare la quantità di tempo impiegato per il training per ottenere il modello migliore.You can choose to reduce the training time to see quick results or increase the amount of time spent in training to get the best model. Selezionare quindi Salva ed esegui training per avviare il training del modello.Then select Save and train to start training the model.

Salvare il modello

Il processo di training inizierà con il campionamento e la normalizzazione dei dati cronologici e la suddivisione del set di dati in due nuove entità Purchase Intent Prediction Training Data (Dati training previsione finalità di acquisto) e Purchase Intent Prediction Testing Data (Dati test previsione finalità di acquisto).The training process will begin by sampling and normalizing your historical data and splitting your dataset into two new entities Purchase Intent Prediction Training Data and Purchase Intent Prediction Testing Data.

A seconda delle dimensioni del set di dati, il processo di training può richiedere da pochi minuti al tempo di training selezionato nella schermata precedente.Depending on the size of the dataset, the training process can take anywhere from a few minutes to the training time selected at the previous screen. A questo punto è possibile visualizzare il modello nella scheda Modelli di Machine Learning del flusso di dati.At this point, you can see the model in the Machine learning models tab of the dataflow. Lo stato Pronto indica che il modello è stato accodato per il training o è in fase di training.The Ready status indicates that the model has been queued for training or is under training.

È possibile verificare che il modello sia in fase di training e convalidato controllando lo stato del flusso di dati.You can confirm that the model is being trained and validated through the status of the dataflow. Viene visualizzato un aggiornamento dei dati in corso nella scheda Flussi di dati dell'area di lavoro.This appears as a data refresh in progress in the Dataflows tab of the workspace.

Pronto per il training

Una volta completato il training del modello, il flusso di dati visualizza una nuova ora di aggiornamento.Once the model training is completed, the dataflow displays an updated refresh time. È possibile verificare che il modello sia in fase di training, passando alla scheda Modelli di Machine Learning nel flusso di dati.You can confirm that the model is trained, by navigating to the Machine learning models tab in the dataflow. Il modello creato dovrebbe visualizzare lo stato Con training e l'ora Ultimo training dovrebbe essere aggiornata.The model you created should show status as Trained and the Last Trained time should now be updated.

Ultimo training

Esaminare il report di convalida del modelloReview the model validation report

Per esaminare il report di convalida del modello, nella scheda Modelli di Machine Learning selezionare il pulsante Visualizza report di training nella colonna Azioni per il modello.To review the model validation report, in the Machine learning models tab, select the View training report button in the Actions column for the model. Questo report descrive le prestazioni probabili del modello di Machine Learning.This report describes how your machine learning model is likely to perform.

Nella pagina Prestazioni del modello del report selezionare See top predictors (Vedi fattori di previsione principali) per visualizzare i fattori di previsione principali del modello.In the Model Performance page of the report, select See top predictors to view the top predictors for your model. È possibile selezionare uno dei fattori di previsione per visualizzare come la distribuzione dei risultati sia associata al fattore di previsione.You can select one of the predictors to see how the outcome distribution is associated with that predictor.

Prestazioni del modello

È possibile usare il filtro dei dati Soglia probabilità nella pagina Prestazioni del modello per esaminarne l'influenza sulla precisione e il richiamo del modello.You can use the Probability Threshold slicer on the Model Performance page to examine its influence on the Precision and Recall for the model.

Probability threshold

Le altre pagine del report descrivono le metriche delle prestazioni statistiche per il modello.The other pages of the report describe the statistical performance metrics for the model.

Il report include anche una pagina Dettagli del training che descrive le diverse iterazioni eseguite, il modo in cui le funzionalità sono state estratte dagli input e gli iperparametri usati per il modello finale.The report also includes a Training Details page that describes the different iterations that were run, how features were extracted from the inputs, and the hyperparameters for the final model used.

Applicare il modello a un'entità del flusso di datiApply the model to a dataflow entity

Selezionare il pulsante Applica modello nella parte superiore del report per richiamare il modello.Select the Apply model button at the top of the report to invoke this model. Nella finestra di dialogo Applica è possibile specificare l'entità di destinazione con i dati di origine a cui applicare il modello.In the Apply dialog, you can specify the target entity that has the source data to which the model should be applied.

Applica il modello

Quando richiesto, scegliere Aggiorna per aggiornare il flusso di dati per visualizzare in anteprima i risultati del modello.When prompted, you must Refresh the dataflow to preview the results of your model.

L'applicazione del modello creerà due nuove entità, con il suffisso enriched <nome_modello> e enriched <nome_modello> explanations.Applying the model will create two new entities, with the suffix enriched <model_name> and enriched <model_name> explanations. In questo caso l'applicazione del modello all'entità Online Visitors creerà Online Visitors enriched Purchase Intent Prediction, che include l'output stimato del modello, e Online Visitors enriched Purchase Intent Prediction explanations, che contiene i principali fattori di influenza specifici dei record per la stima.In our case, applying the model to the Online Visitors entity will create Online Visitors enriched Purchase Intent Prediction which includes the predicted output from the model, and Online Visitors enriched Purchase Intent Prediction explanations which contains top record-specific influencers for the prediction.

L'applicazione di un modello Previsione per dati binari aggiunge quattro colonne con il risultato stimato, il punteggio di probabilità, i principali fattori di influenza specifici dei record per la stima e l'indice di spiegazione, ognuno con il nome di colonna specificato.Applying a Binary Prediction model adds four columns with predicted outcome, probability score, the top record-specific influencers for the prediction, and explanation index each prefixed with the column name specified.

Tre colonne di risultati

Una volta completato l'aggiornamento del flusso di dati, è possibile selezionare l'entità Online Visitors enriched Purchase Intent Prediction per visualizzare i risultati.Once the dataflow refresh is completed, you can select the Online Visitors enriched Purchase Intent Prediction entity to view the results.

View the results

È anche possibile richiamare qualsiasi modello AutoML nell'area di lavoro, direttamente dall'editor di Power Query nel flusso di dati.You can also invoke any AutoML model in the workspace, directly from the Power Query Editor in your dataflow. Per accedere ai modelli di AutoML, selezionare il pulsante Modifica relativo all'entità che si vuole arricchire con le informazioni dettagliate del modello di AutoML, come illustrato nell'immagine seguente.To access the AutoML models, select the Edit button for the entity that you want to enrich with insights from your AutoML model, as shown in the following image.

Modificare l'entità

Selezionando il pulsante Modifica viene aperto l'editor di Power Query per le entità del flusso di dati.Selecting the Edit button opens the Power Query Editor for the entities in your dataflow. Selezionare il pulsante Informazioni dettagliate sull'intelligenza artificiale nella barra multifunzione.Select the AI Insights button in the ribbon.

Informazioni dettagliate sull'intelligenza artificiale

Selezionare la cartella Power BI Machine Learning Models dal menu del riquadro di spostamento.Select the Power BI Machine Learning Models folder from the nav pane menu. Tutti i modelli di AutoML a cui si ha accesso sono elencati qui come funzioni di Power Query.All the AutoML models to which you have access are listed here as Power Query functions. Inoltre, i parametri di input del modello di AutoML vengono automaticamente mappati ai parametri della funzione di Power Query corrispondente.Also, the input parameters for the AutoML model are automatically mapped as parameters of the corresponding Power Query function. Si noti che il mapping automatico dei parametri si verifica solo se il nome e il tipo di dati del parametro sono uguali.Note that automatic mapping of parameters happens only if the name and data type of the parameter is the same.

Per richiamare un modello di AutoML è possibile specificare una qualsiasi delle colonne dell'entità selezionata come input dall'elenco a discesa.To invoke an AutoML model, you can specify any of the selected entity's columns as an input from the drop-down. Si può anche specificare un valore di costante da usare come input attivando l'icona della colonna a sinistra della finestra di dialogo di input.You can also specify a constant value to be used as an input by toggling the column icon to the left of the input dialog.

Browser delle funzioni PQO

Selezionare Applica per visualizzare l'anteprima dell'output del modello di AutoML come nuove colonne nella tabella delle entità.Select Apply to view the preview of the AutoML model's output as a new columns in the entity table. Il richiamo del modello verrà visualizzato anche come passaggio applicato per la query.You will also see the model invocation as an applied step for the query.

Visualizzazione dei risultati

Dopo il salvataggio del flusso di dati, il modello viene richiamato automaticamente ogni volta che il flusso di dati viene aggiornato con le righe nuove o modificate nella tabella delle entità.Once you save your dataflow, the model is automatically invoked when the dataflow is refreshed, for any new or updated rows in the entity table.

Uso dell'output con punteggio dal modello di un report Power BIUsing the scored output from the model in a Power BI report

Per usare l'output con punteggio del modello di Machine Learning, è possibile connettersi al flusso di dati da Power BI Desktop usando il connettore Flussi di dati.To use the scored output from your machine learning model you can connect to your dataflow from the Power BI desktop, using the Dataflows connector. L'entità Online Visitors enriched Purchase Intent Prediction può ora essere usata per incorporare le stime del modello nei report di Power BI.The Online Visitors enriched Purchase Intent Prediction entity can now be used to incorporate the predictions from your model in Power BI reports.

Passaggi successiviNext steps

In questa esercitazione è stato creato e applicato un modello di previsione per dati binari in Power BI eseguendo i passaggi seguenti:In this tutorial, you created and applied a binary prediction model in Power BI using these steps:

  • Creare un flusso di dati con i dati di inputCreate a dataflow with the input data
  • Creare ed eseguire il training di un modello di Machine LearningCreate and train a machine learning model
  • Esaminare il report di convalida del modelloReview the model validation report
  • Applicare il modello a un'entità del flusso di datiApply the model to a dataflow entity
  • Uso dell'output con punteggio dal modello di un report Power BIUsing the scored output from the model in a Power BI report

Per altre informazioni sull'automazione di Machine Learning in Power BI, vedere Machine Learning automatizzato in Power BI.For more information about Machine Learning automation in Power BI, see Automated Machine Learning in Power BI.