Tutoriel : Préparer les données pour effectuer l’apprentissage d’un modèle prédictif dans R avec le Machine Learning SQL

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Managed Instance

Dans la deuxième partie de cette série de quatre tutoriels, vous allez préparer les données à partir d’une base de données à l’aide de R. Plus tard dans cette série, vous allez utiliser ces données pour effectuer l’apprentissage d’un modèle prédictif et le déployer dans R avec SQL Server Machine Learning Services ou sur des clusters Big Data.

Dans la deuxième partie de cette série de quatre tutoriels, vous allez préparer les données à partir d’une base de données à l’aide de R. Plus tard dans cette série, vous allez utiliser ces données pour effectuer l’apprentissage d’un modèle prédictif et le déployer dans R avec SQL Server Machine Learning Services.

Dans la deuxième partie de cette série de quatre tutoriels, vous allez préparer les données à partir d’une base de données à l’aide de R. Plus tard dans cette série, vous allez utiliser ces données pour effectuer l’apprentissage d’un modèle prédictif et le déployer dans R avec SQL Server R Services.

Dans la deuxième partie de cette série de quatre tutoriels, vous allez préparer les données d’une base de données en R. Dans la suite de cette série, vous utiliserez ces données pour entraîner et déployer un modèle prédictif en R avec Azure SQL Managed Instance Machine Learning Services.

Dans cet article, vous allez apprendre à :

  • Restaurer un exemple de base de données dans une base de données
  • Charger les données de la base de données dans une trame de données R
  • Préparation des données en R en identifiant certaines colonnes comme catégoriques

Dans la première partie, vous avez appris à restaurer l’exemple de base de données.

Dans la troisième partie, vous apprendrez à effectuer l’apprentissage d’un modèle Machine Learning dans R.

Dans la quatrième partie, vous apprendrez à stocker le modèle dans une base de données, puis à créer des procédures stockées à partir des scripts R que vous avez développés dans les parties 2 et 3. Les procédures stockées sont exécutées sur le serveur pour effectuer des prédictions en fonction de nouvelles données.

Prérequis

La deuxième partie de ce didacticiel part du principe que vous avez suivi la première partie et ses conditions préalables.

Charger les données dans une trame de données

Pour utiliser les données en R, vous devez charger les données à partir de la base de données dans une trame de données (rentaldata).

Créez un fichier RScript dans RStudio et exécutez le script suivant. Remplacez ServerName par vos propres informations de connexion.

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

Vous devez obtenir des résultats similaires à ce qui suit :

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

Préparer les données

Dans cet exemple de base de données, la majeure partie de la préparation a déjà été effectuée, mais vous allez réaliser une dernière préparation ici. Utilisez le script R suivant pour identifier trois colonnes en tant que catégories, en changeant les types de données pour factor.

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

Vous devez obtenir des résultats similaires à ce qui suit :

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

Les données sont désormais prêtes pour l’entraînement.

Nettoyer les ressources

Si vous ne poursuivez pas ce tutoriel, supprimez la base de données TutorialDB.

Étapes suivantes

Dans la deuxième partie de cette série de tutoriels, vous avez appris à effectuer les tâches suivantes :

  • Chargement des exemples de données dans une trame de données R
  • Préparation des données en R en identifiant certaines colonnes comme catégoriques

Pour créer un modèle Machine Learning qui utilise des données de la base de données TutorialDB, suivez la troisième partie de cette série de tutoriels :