Analizzare i dati con Azure Machine LearningAnalyze data with Azure Machine Learning

Questa esercitazione usa Azure Machine Learning per creare un modello predittivo di apprendimento automatico basato sui dati archiviati in Azure SQL Data Warehouse.This tutorial uses Azure Machine Learning to build a predictive machine learning model based on data stored in Azure SQL Data Warehouse. Nello specifico, verrà compilata una campagna di marketing mirata di Adventure Works, il negozio di biciclette, per stimare la probabilità che un cliente acquisti una bicicletta o meno.Specifically, this builds a targeted marketing campaign for Adventure Works, the bike shop, by predicting if a customer is likely to buy a bike or not.

PrerequisitiPrerequisites

Per eseguire questa esercitazione, è necessario:To step through this tutorial, you need:

1. Ottenere i dati1. Get the data

I dati sono disponibili nella visualizzazione dbo.vTargetMail nel database AdventureWorksDW.The data is in the dbo.vTargetMail view in the AdventureWorksDW database. Per leggere i dati:To read this data:

  1. Accedere ad Azure Machine Learning Studio e fare clic sugli esperimenti personali.Sign into Azure Machine Learning studio and click on my experiments.
  2. Fare clic su +NEW e selezionare Esperimento vuoto.Click +NEW and select Blank Experiment.
  3. Immettere un nome per l'esperimento: Marketing mirato.Enter a name for your experiment: Targeted Marketing.
  4. Trascinare il modulo Reader dal riquadro dei moduli nell'area di disegno.Drag the Reader module from the modules pane into the canvas.
  5. Nel riquadro Properties specificare i dettagli del database SQL Data Warehouse.Specify the details of your SQL Data Warehouse database in the Properties pane.
  6. Specificare la query di database per leggere i dati di interesse.Specify the database query to read the data of interest.
SELECT [CustomerKey]
  ,[GeographyKey]
  ,[CustomerAlternateKey]
  ,[MaritalStatus]
  ,[Gender]
  ,cast ([YearlyIncome] as int) as SalaryYear
  ,[TotalChildren]
  ,[NumberChildrenAtHome]
  ,[EnglishEducation]
  ,[EnglishOccupation]
  ,[HouseOwnerFlag]
  ,[NumberCarsOwned]
  ,[CommuteDistance]
  ,[Region]
  ,[Age]
  ,[BikeBuyer]
FROM [dbo].[vTargetMail]

Eseguire l'esperimento facendo clic su Esegui sotto l'area di disegno dell'esperimento.Run the experiment by clicking Run under the experiment canvas. Eseguire l'esperimentoRun the experiment

Dopo aver concluso con successo l’esperimento, per visualizzare i dati importati fare clic sulla porta di output nella parte inferiore del modulo Reader e selezionare Visualizza.After the experiment finishes running successfully, click the output port at the bottom of the Reader module and select Visualize to see the imported data. Visualizzare i dati importatiView imported data

2. Pulire i dati2. Clean the data

Per pulire i dati, eliminare alcune colonne non rilevanti per il modello.To clean the data, drop some columns that are not relevant for the model. A tale scopo, seguire questa procedura:To do this:

  1. Trascinare il modulo Project Columns nell'area di disegno.Drag the Project Columns module into the canvas.
  2. Fare clic su Launch column selector nel riquadro Proprietà per specificare le colonne da eliminare.Click Launch column selector in the Properties pane to specify which columns you wish to drop. Project ColumnsProject Columns
  3. Escludere due colonne: CustomerAlternateKey e GeographyKey.Exclude two columns: CustomerAlternateKey and GeographyKey. Rimuovere le colonne non necessarieRemove unnecessary columns

3. Compilare il modello3. Build the model

Si suddivideranno i dati 80-20: 80% per il training di un modello di Machine Learning e 20% per testare il modello.We will split the data 80-20: 80% to train a machine learning model and 20% to test the model. Per questo problema di classificazione binaria si useranno gli algoritmi "Two-Class".We will make use of the “Two-Class” algorithms for this binary classification problem.

  1. Trascinare il modulo Split nell'area di disegno.Drag the Split module into the canvas.
  2. Immettere 0,8 per Fraction of rows nel primo set di dati di output nel riquadro Properties.Enter 0.8 for Fraction of rows in the first output dataset in the Properties pane. Dividere i dati in set di traning e di testSplit data into training and test set
  3. Trascinare il modulo Two-Class Boosted Decision Tree nell'area di disegno.Drag the Two-Class Boosted Decision Tree module into the canvas.
  4. Trascinare il modulo Train Model nell'area di disegno e specificare gli input.Drag the Train Model module into the canvas and specify the inputs. Fare clic su Launch column selector nel riquadro Properties.Then, click Launch column selector in the Properties pane.
    • Primo input: algoritmo ML.First input: ML algorithm.
    • Secondo input: dati su cui eseguire il training dell'algoritmo.Second input: Data to train the algorithm on. Connettere il modulo Train ModelConnect the Train Model module
  5. Selezionare la colonna BikeBuyer come colonna da stimare.Select the BikeBuyer column as the column to predict. Selezionare una colonna da stimareSelect Column to predict

4. Assegnare un punteggio al modello4. Score the model

A questo punto si verificheranno le prestazioni del modello sui dati di test.Now, we will test how the model performs on test data. L'algoritmo scelto verrà confrontato con un algoritmo diverso per verificare quale offre prestazioni migliori.We will compare the algorithm of our choice with a different algorithm to see which performs better.

  1. Trascinare il modulo Score Model nell'area di disegno.Drag Score Model module into the canvas. Primo input: Trained Model Secondo input: Test data Assegnare un punteggio al modelloFirst input: Trained model Second input: Test data Score the model
  2. Trascinare il Two-Class Bayes Point Machine nell'area di disegno dell'esperimento.Drag the Two-Class Bayes Point Machine into the experiment canvas. Si confronteranno le prestazioni di questo algoritmo rispetto a Two-Class Boosted Decision Tree.We will compare how this algorithm performs in comparison to the Two-Class Boosted Decision Tree.
  3. Copiare e incollare i moduli Train Model e Score Model nell'area di disegno.Copy and Paste the modules Train Model and Score Model in the canvas.
  4. Trascinare il modulo Evaluate Model nell'area di disegno per confrontare i due algoritmi.Drag the Evaluate Model module into the canvas to compare the two algorithms.
  5. Eseguire l'esperimento.Run the experiment. Eseguire l'esperimentoRun the experiment
  6. Fare clic con il pulsante destro del mouse sulla porta di output del modulo Evaluate Model e scegliere Visualize.Click the output port at the bottom of the Evaluate Model module and click Visualize. Visualizzare i risultati della valutazioneVisualize evaluation results

La metrica fornita include curva ROC, curva di precisione/recupero e curva di accuratezza.The metrics provided are the ROC curve, precision-recall diagram and lift curve. Esaminando la metrica, si noterà che il primo modello fornisce prestazioni migliori rispetto al secondo.Looking at these metrics, we can see that the first model performed better than the second one. Per vedere i quali sono state le previsioni del primo modello, fare clic sulla porta di output di Score Model e scegliere Visualize.To look at the what the first model predicted, click on output port of the Score Model and click Visualize. Visualizzare i risultati di punteggioVisualize score results

Verranno visualizzate altre due colonne aggiunte al set di dati di test.You will see two more columns added to your test dataset.

  • Scored Probabilities: la probabilità che un cliente sia un acquirente di biciclette.Scored Probabilities: the likelihood that a customer is a bike buyer.
  • Scored Labels: la classificazione eseguita dal modello – acquirente di biciclette (1) o non acquirente (0).Scored Labels: the classification done by the model – bike buyer (1) or not (0). La soglia di probabilità per le etichette è impostata su 50% e può essere modificata.This probability threshold for labeling is set to 50% and can be adjusted.

Confrontando la colonna BikeBuyer (effettivo) con Scored Labels (stima), è possibile vedere il livello di prestazioni del modello.Comparing the column BikeBuyer (actual) with the Scored Labels (prediction), you can see how well the model has performed. Come passaggi successivi è possibile usare questo modello per eseguire stime per i nuovi clienti e pubblicare il modello come un servizio Web o scrivere i risultati in SQL Data Warehouse.As next steps, you can use this model to make predictions for new customers and publish this model as a web service or write results back to SQL Data Warehouse.

Passaggi successiviNext steps

Per altre informazioni sulla creazione di modelli di apprendimento automatico predittivi, fare riferimento a Introduzione a Machine Learning in Azure.To learn more about building predictive machine learning models, refer to Introduction to Machine Learning on Azure.