Dela via


Självstudie: Förbereda data för att träna en förutsägelsemodell i R med SQL-maskininlärning

Gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL Managed Instance

I del två i den här självstudieserien i fyra delar förbereder du data från en databas med hjälp av R. Senare i den här serien använder du dessa data för att träna och distribuera en förutsägelsemodell i R med SQL Server Machine Learning Services eller på stordatakluster.

I del två i den här självstudieserien i fyra delar förbereder du data från en databas med hjälp av R. Senare i den här serien använder du dessa data för att träna och distribuera en förutsägelsemodell i R med SQL Server Machine Learning Services.

I del två i den här självstudieserien i fyra delar förbereder du data från en databas med hjälp av R. Senare i den här serien använder du dessa data för att träna och distribuera en förutsägelsemodell i R med SQL Server R Services.

I del två i den här självstudieserien i fyra delar förbereder du data från en databas med hjälp av R. Senare i den här serien använder du dessa data för att träna och distribuera en förutsägelsemodell i R med Azure SQL Managed Instance Machine Learning Services.

I den här artikeln får du lära dig att:

  • Återställa en exempeldatabas till en databas
  • Läs in data från databasen i en R-dataram
  • Förbereda data i R genom att identifiera vissa kolumner som kategoriska

I del ett lärde du dig hur du återställer exempeldatabasen.

I del tre får du lära dig hur du tränar en maskininlärningsmodell i R.

I del fyra får du lära dig hur du lagrar modellen i en databas och sedan skapar lagrade procedurer från de R-skript som du utvecklade i del två och tre. De lagrade procedurerna körs på servern för att göra förutsägelser baserat på nya data.

Förutsättningar

Del två av den här självstudien förutsätter att du har slutfört del ett och dess förutsättningar.

Läsa in data i en dataram

Om du vill använda data i R läser du in data från databasen till en dataram (rentaldata).

Skapa en ny RScript-fil i RStudio och kör följande skript. Ersätt ServerName med din egen anslutningsinformation.

#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)

Du bör se resultat som liknar följande.

   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 ...

Förbered datan

I den här exempeldatabasen har de flesta förberedelserna redan gjorts, men du kommer att göra ytterligare en förberedelse här. Använd följande R-skript för att identifiera tre kolumner som kategorier genom att ändra datatyperna till faktor.

#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);

Du bör se resultat som liknar följande.

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 ...

Data förbereds nu för träning.

Rensa resurser

Om du inte ska fortsätta med den här självstudien tar du bort databasen TutorialDB.

Nästa steg

I del två av den här självstudieserien lärde du dig att:

  • Läs in exempeldata i en R-dataram
  • Förbereda data i R genom att identifiera vissa kolumner som kategoriska

Om du vill skapa en maskininlärningsmodell som använder data från TutorialDB-databasen följer du del tre i den här självstudieserien: