Sdílet prostřednictvím


Kurz: Příprava dat na trénování prediktivního modelu v R pomocí strojového učení SQL

Platí pro: SQL Server 2016 (13.x) a novější verze Azure SQL Managed Instance

Ve druhé části této čtyřdílné série kurzů připravíte data z databáze pomocí jazyka R. Později v této sérii použijete tato data k trénování a nasazení prediktivního modelu v jazyce R se službou SQL Server Machine Learning Services nebo v clusterech s velkými objemy dat.

Ve druhé části této čtyřdílné série kurzů připravíte data z databáze pomocí jazyka R. Později v této sérii použijete tato data k trénování a nasazení prediktivního modelu v jazyce R se službou SQL Server Machine Learning Services.

Ve druhé části této čtyřdílné série kurzů připravíte data z databáze pomocí jazyka R. Později v této sérii použijete tato data k trénování a nasazení prediktivního modelu v jazyce R se službami SQL Server R Services.

Ve druhé části této čtyřdílné série kurzů připravíte data z databáze pomocí jazyka R. Později v této sérii použijete tato data k trénování a nasazení prediktivního modelu v jazyce R se službou Azure SQL Managed Instance Machine Learning Services.

V tomto článku se naučíte:

  • Obnovení ukázkové databáze do databáze
  • Načtení dat z databáze do datového rámce R
  • Příprava dat v jazyce R identifikací některých sloupců jako kategorických

V první části jste zjistili, jak obnovit ukázkovou databázi.

Ve třetí části se naučíte trénovat model strojového učení v jazyce R.

Ve čtvrté části se dozvíte, jak model uložit do databáze a pak vytvořit uložené procedury ze skriptů jazyka R, které jste vytvořili ve dvou a třech částech. Uložené procedury budou spuštěny na serveru, aby vytvořily předpovědi na základě nových dat.

Požadavky

Druhá část tohoto kurzu předpokládá, že jste dokončili první část a její požadavky.

Načtení dat do datového rámce

Pokud chcete použít data v jazyce R, načtete data z databáze do datového rámce (rentaldata).

V RStudio vytvořte nový soubor RScript a spusťte následující skript. Název serveru nahraďte vlastními informacemi o připojení.

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

Měly by se zobrazit výsledky podobné následujícímu.

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

Příprava dat

V této ukázkové databázi už byla většina přípravy hotová, ale tady provedete ještě jednu přípravu. Pomocí následujícího skriptu v jazyce R identifikujte tři sloupce jako kategorie změnou datových typů na 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);

Měly by se zobrazit výsledky podobné následujícímu.

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 jsou teď připravená na trénování.

Vyčistěte zdroje

Pokud nebudete pokračovat v tomto kurzu, odstraňte databázi TutorialDB.

Další kroky

V druhé části této série kurzů jste se naučili:

  • Načtení ukázkových dat do datového rámce R
  • Příprava dat v jazyce R identifikací některých sloupců jako kategorických

Pokud chcete vytvořit model strojového učení, který používá data z databáze TutorialDB, postupujte podle třetí části této série kurzů: