Condividi tramite


Esercitazione: Preparare i dati per eseguire il training di un modello predittivo in R con l’apprendimento automatico in SQL

Si applica a: SQL Server 2016 (13.x) e versioni successive Istanza gestita di SQL di Azure

Nella seconda parte di questa serie di esercitazioni in quattro parti si prepareranno i dati di un database usando R. Più avanti nella serie, questi dati verranno usati per eseguire il training e la distribuzione di un modello predittivo in R con Machine Learning Services per SQL Server oppure in cluster Big Data.

Nella seconda parte di questa serie di esercitazioni in quattro parti, si prepareranno i dati di un database usando R. Più avanti nella serie, questi dati verranno usati per eseguire il training e la distribuzione di un modello predittivo in R con Machine Learning Services per SQL Server.

Nella seconda parte di questa serie di esercitazioni in quattro parti si prepareranno i dati di un database usando R. Più avanti nella serie, questi dati verranno usati per eseguire il training e la distribuzione di un modello predittivo in R con R Services per SQL Server.

Nella seconda parte di questa serie di esercitazioni in quattro parti, si prepareranno i dati di un database usando R. Più avanti nella serie, questi dati verranno usati per eseguire il training e la distribuzione di un modello predittivo in R con Machine Learning Services per Istanza gestita di SQL di Azure.

In questo articolo si apprenderà come:

  • Ripristinare un database di esempio in un database
  • Caricare i dati del database in un frame di dati R
  • Preparare i dati in R identificando alcune colonne come categoriche

Nella prima parte si è appreso come ripristinare il database di esempio.

Nella terza parte si apprenderà come eseguire il training di un modello di Machine Learning in R.

Nelle quarta parte si apprenderà come archiviare il modello in un database e quindi creare le stored procedure dagli script R sviluppati nella seconda e nella terza parte. Le stored procedure verranno quindi eseguite sul server per eseguire stime basate sui nuovi dati.

Prerequisiti

Per poter eseguire la seconda parte di questa esercitazione si presuppone che sia stata completata la prima parte e i rispettivi prerequisiti.

Caricare i dati in un frame di dati

Per usare i dati in R, si caricheranno i dati dal database in un frame di dati (rentaldata).

Creare un nuovo file RScript in RStudio ed eseguire lo script seguente. Sostituire ServerName con le proprie informazioni di connessione.

#Define the connection string to connect to the TutorialDB database
connStr <- "Driver=SQL Server;Server=ServerName;Database=TutorialDB;uid=Username;pwd=Password"


#Get the data from the table
library(RODBC)

ch <- odbcDriverConnect(connStr)

#Import the data from the table
rentaldata <- sqlFetch(ch, "dbo.rental_data")

#Take a look at the structure of the data and the top rows
head(rentaldata)
str(rentaldata)

I risultati visualizzati saranno simili ai seguenti:

   Year  Month  Day  RentalCount  WeekDay  Holiday  Snow
1  2014    1     20      445         2        1      0
2  2014    2     13       40         5        0      0
3  2013    3     10      456         1        0      0
4  2014    3     31       38         2        0      0
5  2014    4     24       23         5        0      0
6  2015    2     11       42         4        0      0
'data.frame':       453 obs. of  7 variables:
$ Year       : int  2014 2014 2013 2014 2014 2015 2013 2014 2013 2015 ...
$ Month      : num  1 2 3 3 4 2 4 3 4 3 ...
$ Day        : num  20 13 10 31 24 11 28 8 5 29 ...
$ RentalCount: num  445 40 456 38 23 42 310 240 22 360 ...
$ WeekDay    : num  2 5 1 2 5 4 1 7 6 1 ...
$ Holiday    : int  1 0 0 0 0 0 0 0 0 0 ...
$ Snow       : num  0 0 0 0 0 0 0 0 0 0 ...

Preparare i dati

In questo database di esempio, la maggior parte della preparazione è già stata completata, ma sarà necessario completare un'altra preparazione qui. Usare lo script R seguente per identificare tre colonne come categorie modificando i tipi di dati in fattore.

#Changing the three factor columns to factor types
rentaldata$Holiday <- factor(rentaldata$Holiday);
rentaldata$Snow    <- factor(rentaldata$Snow);
rentaldata$WeekDay <- factor(rentaldata$WeekDay);



#Visualize the dataset after the change
str(rentaldata);

I risultati visualizzati saranno simili ai seguenti:

data.frame':      453 obs. of  7 variables:
$ Year       : int  2014 2014 2013 2014 2014 2015 2013 2014 2013 2015 ...
$ Month      : num  1 2 3 3 4 2 4 3 4 3 ...
$ Day        : num  20 13 10 31 24 11 28 8 5 29 ...
$ RentalCount: num  445 40 456 38 23 42 310 240 22 360 ...
$ WeekDay    : Factor w/ 7 levels "1","2","3","4",..: 2 5 1 2 5 4 1 7 6 1 ...
$ Holiday    : Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ...
$ Snow       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...

I dati sono ora pronti per il training.

Pulire le risorse

Se non si intende continuare con questa esercitazione, eliminare il database TutorialDB.

Passaggi successivi

Nella seconda parte di questa serie di esercitazioni si è appreso come:

  • Caricare i dati di esempio in un frame di dati R
  • Preparare i dati in R identificando alcune colonne come categoriche

Per creare un modello di Machine Learning che usa i dati del database TutorialDB, seguire la terza parte di questa serie di esercitazioni: