Exécuter un script R
Important
Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.
À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.
- Consultez les informations sur le déplacement des projets de machine learning de ML Studio (classique) à Azure Machine Learning.
- En savoir plus sur Azure Machine Learning.
La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.
Exécute un script R à partir d’une expérience Machine Learning Studio (classique)
Catégorie : Modules de langage R
Notes
S’applique à : Machine Learning Studio (classique) uniquement
Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.
Vue d’ensemble du module
Cet article explique comment utiliser le module Exécuter un script R dans Machine Learning Studio (classique), pour appeler et exécuter du code R dans vos expériences.
En ajoutant du code R à ce module, vous pouvez effectuer diverses tâches personnalisées qui ne sont pas disponibles dans Studio (classique). Exemple :
- Créer des transformations de données personnalisées
- Utilisez vos propres métriques pour évaluer les prédictions
- Créer des modèles à l’aide d’algorithmes qui ne sont pas implémentés en tant que modules autonomes dans Studio (classique)
Versions R prises en charge dans Studio (classique)
Studio (classique) prend en charge la distribution classique de R disponible à partir de CRAN et microsoft R Open (MRO), qui inclut tous les packages R de base, ainsi que les packages Revo.
Vous pouvez spécifier la version de R à utiliser dans une expérience. Toutefois, vous ne pouvez pas installer une autre version de R dans votre espace de travail.
Nous vous recommandons de déterminer les packages dont vous avez besoin avant de choisir une distribution de R. Certains packages ne sont pas compatibles avec CRAN R et Microsoft R Open.
Notes
Actuellement, le module Créer un modèle R est limité à une version spécifique de R. Par conséquent, si vous utilisez un modèle R personnalisé dans votre expérience, tous les modules d’exécution de script R dans la même expérience doivent également utiliser la même version R. Recherchez la version R prise en charge dans l’article suivant, packages R pris en charge par Machine Learning Studio (classique).
Packages R pris en charge
L’environnement R dans Machine Learning a plus de 500 packages R déjà installés. Bien sûr, tous ne sont pas chargés par défaut, mais vous pouvez facilement les charger dans le cadre de votre code R.
Pour obtenir la liste de tous les packages actuels, ajoutez le code suivant à un module Execute R Script et exécutez le module.
data.set <- data.frame(installed.packages())
maml.mapOutputPort("data.set")
Cette rubrique répertorie les packages pris en charge dans Machine Learning et leur compatibilité avec CRAN R et Microsoft R Open, consultez packages R pris en charge par Machine Learning Studio (classique).
Installation de nouveaux packages R
Vous installez de nouveaux packages R dans votre espace de travail à l’aide du module Execute R Script . Les packages doivent être chargés au format zippé. Lorsque votre expérience est chargée dans un environnement d’exécution Azure, les packages sont décompressés et sont ajoutés dans l’environnement R dans votre espace de travail d’expérience. Pour plus d’informations, consultez Comment installer de nouveaux packages R
Les packages qui ont été décompressés ne sont pas conservés dans l’espace de travail lorsque l’expérience n’est pas en cours d’exécution. Pour cette raison, tous les packages R supplémentaires que vous envisagez d’utiliser doivent être disponibles dans votre espace de travail ou dans le stockage Azure, au format compressé.
Les packages ne peuvent pas être partagés entre des instances distinctes du module Execute R Script , car chaque module peut être chargé dans un autre conteneur au moment de l’exécution. Toutefois, vous pouvez partager des objets R entre des modules en les exposant en tant que jeux de données. Pour plus d’informations, consultez Passer des objets R entre les modules.
Exemples d'expérimentations
Il existe de nombreux exemples de script R personnalisé dans la galerie Azure AI :
Performances des étudiants : utilise un script R personnalisé pour combiner les résultats des évaluations pour plusieurs modèles en un seul jeu de données. Cet exemple utilise également un code R dans le module pour calculer 16 colonnes dépendant de l'heure.
Cancer du sein : utilise du code personnalisé dans le module Execute R Script pour répliquer des exemples positifs et combiner des métriques.
Prévision de série chronologique : cet exemple utilise Execute R Script pour générer des métriques personnalisées, puis les combine dans une seule table à l’aide du module Ajouter des lignes .
Comment configurer le module Exécuter un script R
Pour configurer le module Execute R Script, vous fournissez un ensemble d'entrées facultatives, et le code R à exécuter dans l'espace de travail.
Vous pouvez également ajouter des fichiers contenant du code R supplémentaire, si vous les préparez dans un fichier d’archive compressé pour la pièce jointe à l’entrée du package de script .
Pour installer tous les packages supplémentaires, incluez-les dans le fichier d’archive compressé.
Ajoutez le module Exécuter un script R à votre expérience. Vous trouverez ce module dans Machine Learning Studio (classique), dans le groupe Modules de langage R.
Connectez toutes les entrées requises par le script. Les entrées peuvent inclure des données, des packages R que vous avez ajoutés à votre espace de travail au format de fichier compressé et du code R supplémentaire.
Jeu de données1 : La première entrée est l’emplacement où vous attachez votre jeu de données principal (facultatif). Le jeu de données d’entrée doit être mis en forme en tant que fichier CSV, TSV ou ARFF, ou vous pouvez connecter un jeu de données Machine Learning.
Dataset2 : la deuxième entrée (facultative) prend en charge l’ajout d’un deuxième jeu de données. Ce jeu de données doit également être mis en forme en tant que fichier CSV, TSV ou ARFF, ou vous pouvez connecter un jeu de données Machine Learning.
Package de script : la troisième entrée, facultative, prend un fichier au format .ZIP. Le fichier compressé peut contenir plusieurs fichiers et plusieurs types de fichiers. Par exemple, l’archive compressée peut contenir du code R dans un fichier de script, des objets R à utiliser par le script, un package R inclus dans .ZIP format ou des jeux de données dans l’un des formats pris en charge.
Tapez un script R dans la zone de texte Script R . Il s’agit du moyen le plus simple d’utiliser les jeux de données sur les nœuds d’entrée.
Pour vous aider à commencer, la zone de texte script R est préremplies avec l’exemple de code suivant, que vous pouvez modifier ou remplacer.
# Map 1-based optional input ports to variables dataset1 <- maml.mapInputPort(1) # class: data.frame dataset2 <- maml.mapInputPort(2) # class: data.frame # Contents of optional Zip port are in ./src/ # source("src/yourfile.R"); # load("src/yourData.rdata"); # Sample operation colnames(dataset2) <- c(dataset1['nombre_columna'])$nombre_columna; data.set = dataset2; # You'll see this output in the R Device port. # It'll have your stdout, stderr and PNG graphics device(s). # Select data.frame to be sent to the output Dataset port maml.mapOutputPort("data.set");
Pour plus d’informations sur l’utilisation des entrées et l’écriture dans les sorties, consultez des exemples de code R dans cette rubrique.
Notes
Le code R qui s’exécute correctement dans les outils externes peut nécessiter de petites modifications à exécuter dans une expérience Azure ML. Par exemple, les données d’entrée que vous fournissez au format CSV doivent être explicitement converties en un jeu de données avant de pouvoir les utiliser dans votre code. Les types de données et de colonnes utilisés dans le langage R diffèrent également des types de données et de colonnes utilisés dans Machine Learning. Pour plus d'informations, consultez la section Notes techniques.
L’exécution du module Script R s’exécute dans un bac à sable d’environnement R, il n’est pas recommandé de configurer les connexions HTTP/SQL dans ce module.Valeur de départ aléatoire : Tapez une valeur à utiliser dans l’environnement R en tant que valeur de départ aléatoire. Ce paramètre revient à appeler
set.seed(value)
dans le code R.Version R : sélectionnez la version de R à charger dans l’espace de travail.
CRAN R 3.1.0 : le site web R Archive Network complet est le référentiel du langage R open source R. Pour plus d’informations, consultez le site web CRAN.
Microsoft R Open 3.2.2 : MRO est la distribution améliorée de R de Microsoft Corporation. Il s’agit d’une plateforme open source basée sur le moteur R open source et entièrement compatible avec tous les packages, scripts et applications R qui fonctionnent avec la même version de R. Toutefois, MRO offre des performances améliorées par rapport à la distribution R standard en raison de son utilisation de bibliothèques mathématiques multithreads hautes performances. Pour plus d’informations, consultez Microsoft R Open.
Vous ne pouvez pas installer une autre version de R dans votre espace de travail.
Machine Learning prend en charge plusieurs versions de R, mais une seule version peut être utilisée dans n’importe quelle expérience.
Exécutez l’expérience ou sélectionnez le module Exécuter le script R , puis cliquez sur Exécuter sélectionné.
Résultats
Le module peut retourner plusieurs sorties.
- Pour récupérer un jeu de données, votre code R doit retourner un seul data.frame R.
- Vous pouvez afficher des images dans l’appareil graphique R, qui s’affiche dans la zone de journal Machine Learning Studio (classique).
- Pour conserver des images, vous pouvez les écrire dans un fichier ou les sérialiser dans un format tabulaire.
- Vous pouvez enregistrer des objets dans votre espace de travail.
- Les erreurs et messages standard de R sont retournés dans le journal du module.
(1) Jeu de données de résultat
Cette sortie contient la trame de données générée par le code R dans le module.
Vous ne pouvez générer qu’une seule trame de données. D’autres objets tabulaires doivent être convertis en trame de données à l’aide de fonctions R. La sortie de la trame de données par le code R du module est automatiquement convertie au format de table de données interne.
Pour vérifier que l’objet retourné est compatible avec Studio (classique), utilisez
is.data.frame
, qui doit retourner True.Pour renvoyer d'autres objets R, essayez de sérialiser l'objet en un tableau d'octets ou d'utiliser une fonction qui renvoie les données souhaitées comme
data.frame
.
(2) Appareil R
L’appareil R prend en charge la sortie de console (sortie standard et erreur standard) et l’affichage de graphiques PNG à l’aide de l’interpréteur R.
Pour afficher les messages envoyés à la console R (sortie standard et erreur standard), cliquez avec le bouton droit sur le module une fois qu’il a terminé son exécution, sélectionnez R Device, puis sélectionnez Visualiser.
Pour afficher les graphiques générés sur le port de l’appareil R, cliquez avec le bouton droit sur le module une fois l’exécution terminée, sélectionnez Appareil R, puis visualisez.
Par exemple, l’image suivante est générée par quelques lignes de code R.
Vous trouverez ces exemples et les exemples connexes dans la galerie Azure AI.
- Pour enregistrer les images générées par le module Exécuter un script R , cliquez avec le bouton droit sur l’image et enregistrez une copie locale. Vous pouvez également utiliser un appel à l’une des fonctions de périphérique graphique R pour écrire le fichier image dans le compte de stockage d’objets blob Azure associé à l’expérience, comme décrit dans cet exemple.
Exemples de scripts R et conseils R
Il existe de nombreuses façons d’étendre votre expérience à l’aide d’un script R personnalisé. Cette section fournit un exemple de code pour certaines tâches courantes.
Ajouter un script R en tant qu’entrée
Le module Exécuter un script R prend en charge l’utilisation de fichiers de script R arbitraires en tant qu’entrées, à condition qu’ils soient préparés à l’avance et chargés dans votre espace de travail dans le cadre du fichier ZIP.
Pour charger un fichier ZIP contenant du code R sur votre espace de travail, cliquez sur Nouveau, sur Jeu de données, puis sélectionnez Depuis un fichier local et l’option Fichier zip.
Une fois que vous avez chargé le package compressé dans Studio (classique), vérifiez que le fichier compressé est disponible dans la liste jeux de données enregistrés , puis connectez le jeu de données au port d’entrée Script Bundle .
Si votre fichier compressé contient un package R qui n’est pas déjà installé dans Machine Learning Studio (classique), vous devez installer le package R dans le cadre du code personnalisé dans le module d’exécution de script R. Tous les fichiers qui sont contenus dans le fichier ZIP sont disponibles pendant la durée d’exécution de l’expérience.
Si le fichier de script groupé est contenu dans une structure de répertoires, la structure est conservée. Toutefois, vous devez modifier votre code pour ajouter le répertoire src au chemin d’accès.
Générer des images, des modèles et d’autres objets
Si vous devez générer une image ou tout autre objet R arbitraire, vous pouvez la sérialiser dans un tableau d’octets, puis sous forme de data.frame comme indiqué dans cet exemple :
as.data.frame(as.integer(serialize(g,con=NULL)));
Graph trames de données de la bibliothèque ne prennent pas en charge la https://igraph.org/r/ sérialisation en tant que trame de données. Utilisez plutôt la get.data.frame
fonction dans le igraph
package pour placer les informations de bord et de vertex dans une trame de données.
vertices <- get.data.frame(g, what="vertices")
Vous pouvez ensuite retourner l’objet de graphe en tant que data.frame que vous pouvez obtenir à partir du module d’exécution de script R .
edges <- get.data.frame(g, what="edges")
Lire à partir de l’entrée et de l’écriture dans la sortie
L’exemple suivant montre comment utiliser des ports d’entrée et de sortie. Il lit les données d’entrée sous la forme d’une table et ajoute une copie de la table à elle-même, ce qui double effectivement la taille de la table. Le résultat est ensuite envoyé au port de sortie.
# Map existing dataset to first input port
dataset1 <- maml.mapInputPort(1) # class: data.frame
# Concatenate dataset1 to dataset 1
newdataset = rbind(dataset1, dataset1)
# Send the combined dataset to the output port
maml.mapOutputPort("newdataset");
Lire un fichier ZIP en tant qu’entrée
Cet exemple montre comment ajouter un jeu de données à Machine Learning Studio (classique) au format compressé, puis utiliser les données comme entrée du module d’exécution de script R.
- Créez le fichier de données au format CSV et nommez-le « mydatafile.csv ».
- Créez un fichier .ZIP et ajoutez le fichier CSV à l’archive.
- Télécharger le fichier compressé dans votre espace de travail Machine Learning comme décrit ici : Décompresser les jeux de données compressés.
- Connectez le jeu de données obtenu à l’entrée ScriptBundle de votre module Exécuter un script R. En d’autres termes, ne déballez pas encore!
- À l’aide du code suivant, lisez les données CSV du fichier compressé. Spécifiez l’encodage utilisé dans le fichier de données si nécessaire, pour éviter les erreurs ultérieurement.
mydataset=read.csv("src/newdata.csv",encoding="UTF-8");
nrow(mydataset);
ncol(mydataset);
# Map new dataset to the first output port
maml.mapOutputPort("mydataset");
Notes
Toutes les données transmises au module d’exécution de script R sont converties au data.frame
format à utiliser avec votre code R. Cela s’applique aux données compatibles avec les DataTable format
Machine Learning utilisés, y compris les fichiers CSV, les fichiers ARFF, et ainsi de suite.
Répliquer des lignes
Cet exemple montre comment répliquer les échantillons positifs dans un jeu de données d’un facteur de 20 pour équilibrer l’échantillon.
dataset <- maml.mapInputPort(1)
data.set <- dataset[dataset[,1]==-1,]
pos <- dataset[dataset[,1]==1,]
for (i in 1:20) data.set <- rbind(data.set,pos)
row.names(data.set) <- NULL
maml.mapOutputPort("data.set")
Appeler un apprenant personnalisé basé sur le package Arules
Vous pouvez installer de nouveaux packages R dans votre espace de travail Machine Learning en les chargeant en tant que fichier .ZIP, comme décrit ici. Le code suivant montre comment utiliser le package chargé.
Supposons que les packages et
arulesViz
lesarules
packages ont déjà été ajoutés à l’espace de travail.Connecter le fichier .ZIP chargé sur le troisième port d’entrée du module d’exécution de script R.
Dans la zone de texte Script R , utilisez ce qui suit pour appeler l’algorithme de règles d’association par défaut fourni par le package
Arules
de langage R et appliquer l’apprenant dans une tâche d’analyse de panier de marché.
library("arules")
library("arulesViz")
dataset <- read.transactions(file="src/SalesReport.csv", rm.duplicates= TRUE, format="single",sep=",",cols =c(1,2))
#dataset <- sapply(dataset,as.factor)
basket <- apriori(dataset,parameter = list(sup = 0.5, conf = 0.9,target="rules"));
inspect(basket)
# if this is not NULL i.e. if there are rules
plot(basket)
Appeler un apprenant Naïve Bayes personnalisé
Cet exemple montre comment appeler une bibliothèque R qui n’est pas incluse dans Studio (classique).
Télécharger un fichier compressé contenant la
e1071
bibliothèque dans votre espace de travail.Connecter le fichier .ZIP chargé sur le troisième port d’entrée du module d’exécution de script R.
Dans la zone de texte Script R , utilisez le code suivant pour implémenter l’apprenant Naïve Bayes.
library(e1071) features <- get.feature.columns(dataset) labels <- get.label.column(dataset) train.data <- data.frame(features, labels) feature.names <- get.feature.column.names(dataset) names(train.data) <- c(feature.names, "Class") model <- naiveBayes(Class ~ ., train.data)
Appeler un scoreur Naïve Bayes personnalisé
Si vous disposez d’un modèle existant créé par la e1071
bibliothèque, vous pouvez appeler un scoreur personnalisé fourni par la e1071
bibliothèque.
Toutefois, pour effectuer un scoring dans une instance distincte du module d’exécution de script R , vous devez fournir le fichier compressé contenant la e1071
bibliothèque en tant qu’entrée au module de scoring et charger la bibliothèque. En effet, chaque module s’exécute indépendamment dans un conteneur.
library(e1071)
features <- get.feature.columns(dataset)
scores <- predict(model, features)
Tous les modules R inclus dans une seule expérience doivent utiliser la même version du runtime R. Vous ne pouvez pas combiner des versions de R, telles que l’utilisation de CRANR dans un module et Microsoft R Open dans un autre.
Écrire un fichier graphique
Bien que Studio (classique) prenne en charge l’affichage de fichiers PNG à l’aide du port de sortie de l’appareil R, vous pouvez générer les résultats sous forme de fichier PDF dans un objet blob dans stockage Azure à utiliser pour la création de rapports.
Cet exemple montre comment utiliser le script d’exécution R pour générer un graphique en tant que fichier PDF.
Ajoutez le script D’exécution R à l’expérience.
Créez le fichier PDF de base dans le cadre de votre script R et retournez la chaîne encodée en Base64 du fichier PDF à partir du module Exécuter un script R .
d <- maml.mapInputPort(1) d$dteday <- as.numeric(d$dteday) pdf() plot(d) dev.off() library(caTools) b64ePDF <- function(filename) { maxFileSizeInBytes <- 5 * 1024 * 1024 # 5 MB return(base64encode(readBin(filename, "raw", n = maxFileSizeInBytes))) } d2 <- data.frame(pdf = b64ePDF("Rplots.pdf")) maml.mapOutputPort("d2");
Transmettez cette sortie à un module Exporter des données et enregistrez les valeurs binaires dans le stockage d’objets blob Azure.
Passer des objets R entre des modules Exécuter un script R
Vous pouvez passer des objets R entre des instances du module Exécuter un script R en utilisant le mécanisme de sérialisation interne. Cet exemple suppose que vous souhaitez déplacer l’objet R nommé A
entre deux modules Exécuter un script R.
Ajoutez le premier module d’exécution de script R à votre expérience et tapez le code suivant dans la zone de texte Script R pour créer un objet
A
sérialisé en tant que colonne dans la table de données de sortie du module :serialized <- as.integer(serialize(A,NULL)) data.set <- data.frame(serialized,stringsAsFactors=FALSE) maml.mapOutputPort("data.set")
La conversion explicite en type entier est requise, car la fonction de sérialisation génère des données au format R
Raw
, ce qui n’est pas pris en charge par Machine Learning.Ajoutez une deuxième instance du module Exécuter un script R et connectez-la au port de sortie du module précédent.
Tapez le code suivant dans la zone de texte Script R pour extraire l’objet
A
de la table de données d’entrée.dataset <- maml.mapInputPort(1) A <- unserialize(as.raw(dataset$serialized))
Installer de nouveaux packages R
Vous pouvez ajouter des packages R qui ne sont pas installés par défaut dans Machine Learning. L’ajout de nouveaux packages nécessite les étapes suivantes :
- Obtenez les fichiers binaires Windows pour le package, au format compressé.
- Compressez le package souhaité et toutes les dépendances dans un nouveau fichier d’archive compressé unique avec l’extension .ZIP.
- Télécharger le fichier compressé en tant que jeu de données dans votre espace de travail.
- Connecter le nouveau jeu de données au module d’exécution de script R.
- Installez le package à l’aide d’un script R dans un module.
La procédure suivante ajoute un nouveau package avec ses dépendances.
Téléchargez le fichier compressé pour le package que vous souhaitez importer dans Machine Learning. Veillez à obtenir la version Windows du fichier compressé.
Notes
Si vous avez déjà extrait le package R que vous souhaitez utiliser dans votre espace de travail, vous devez compresser à nouveau le package ou fournir le fichier ZIP d’origine lorsque vous pouvez charger le package R dans Studio (classique).
Recherchez les dépendances et si le package a besoin d’autres packages qui ne sont pas déjà dans Azure ML Studio (classique), téléchargez-les au format compressé et ajoutez-les au fichier d’archive.
Cliquez avec le bouton droit sur le fichier compressé pour le package à charger, ainsi que ses dépendances, cliquez sur Envoyer vers, puis sélectionnez Dossier compressé (compressé).
Conseil
Le dossier compressé doit contenir au moins un fichier compressé avec le package cible, ainsi que des fichiers zip supplémentaires contenant les packages requis.
Télécharger le fichier ZIP unique contenant tous les packages (ainsi que les fichiers de code R facultatifs ou les fichiers de données) dans votre espace de travail Studio (classique).
Pour ce faire, vous souhaitez charger un jeu de données : cliquez sur Nouveau, cliquez sur Jeu de données, puis sélectionnez À partir du fichier local et l’option Fichier zip .
Ouvrez la liste Jeux de données enregistrés , cliquez sur Mes jeux de données et vérifiez que le fichier compressé est disponible.
Faites-le glisser dans votre expérience, cliquez avec le bouton droit sur le jeu de données, puis sélectionnez Visualiser pour afficher les fichiers inclus dans le dossier compressé. Les noms de fichiers que vous voyez dans la liste Contenu sont les noms que vous devez référencer lorsque vous installez le package.
Par exemple, supposons que vous aviez chargé un fichier nommé
NewRPackage.zip
, qui contient trois packages R nommés001.zip
,002.zip
et003.zip
. Dans la liste jeux de données , le nom du jeu de données seraitNewRPackage.zip
, avec le contenu001.zip
,002.zip
et003.zip
.Connecter le jeu de données (
NewRPackage.zip
) vers le port d’entrée du bundle de scripts.À ce stade, le dossier zippé externe est extrait dans le bac à sable de l’espace de travail, dans le chemin d’accès
src
. Vous disposez maintenant des packages suivants à votre disposition :src\001.zip
src\002.zip
src\003.zip
Pour installer les packages R, vous extrayez chaque package à partir de son fichier zip, puis chargez la bibliothèque autonome.
Par exemple, en supposant que le fichier
src\001.zip
contient le packagecode001
R personnalisé, vous exécutez le script suivant :# install R package contained in src\001.zip install.packages("src/001.zip", lib = ".", repos = NULL, verbose = TRUE) library(code001, lib.loc=".", verbose=TRUE)
Répétez le processus d’installation pour tous les packages requis.
# install R package contained in src\002.zip install.packages("src/002.zip", lib = ".", repos = NULL, verbose = TRUE) library(code002, lib.loc=".", verbose=TRUE) # install R package contained in src\003.zip install.packages("src/003.zip", lib = ".", repos = NULL, verbose = TRUE) library(code003, lib.loc=".", verbose=TRUE)
Notes
S’il existe des dépendances entre plusieurs packages installés, veillez à installer d’abord les packages requis, ou vous risquez d’obtenir une erreur.
L’installation de tous les packages R doit être effectuée dans le cadre de l’expérience pour vous assurer que tous les packages requis sont inclus dans l’espace de travail envoyé à la file d’attente de travaux Azure lorsque votre expérience est exécutée.
Les packages d’un espace de travail ne sont pas conservés une fois l’expérience exécutée ou une fois que vous avez fermé votre session. Toutefois, tous les packages que vous avez chargés en tant que fichiers compressés peuvent être rapidement extraits et utilisés lorsque vous réexécutez l’expérience.
Notes techniques
Optimisation des performances R dans Studio (classique)
La mémoire par défaut actuelle est 14 Go. Si vous tentez de manipuler des trames de données très volumineuses à l'aide du module Execute R Script, il se peut qu'un message d'erreur de type mémoire insuffisante s'affiche.
Pour augmenter la quantité de mémoire utilisée par le script R, vous pouvez utiliser une ligne telle que celle-ci au début du script.
memory.limit(56000)
Le code R spécifié par l’utilisateur est exécuté par un interpréteur R 64 bits qui s’exécute dans Azure à l’aide d’une machine virtuelle A8 avec 56 Go de RAM. Pour augmenter la vitesse de votre code R, vous pouvez utiliser le compilateur juste-à-temps fourni dans le package du compilateur préinstallé.
Conversion de types de données entre R et Studio (classique)
Le tableau suivant montre comment les types de données dans R correspondent aux types de données dans Machine Learning :
Type R | Type Studio (classique) |
---|---|
Integer | Integer |
Double | Double |
Complex | Complex Ce type est pris en charge par un sous-ensemble de modules uniquement. |
Logical | Boolean |
Caractère | String |
Brut | Non prise en charge |
Difftime | TimeSpan |
facteur | par catégorie |
data.frame | dataset |
Les colonnes de type de données lists
dans R ne peuvent pas être converties, car les éléments dans ces colonnes peuvent avoir différents types et tailles. Par exemple, le code R valide suivant échoue s’il est utilisé dans le module Execute R Script :
data.set <- data.frame(r=I(list(list(1,2,3),list(4,5))))
maml.mapOutputPort("data.set")
Conversion des valeurs datetime
Machine Learning Studio (classique) utilise différents types datetime que R. Si les données que vous analysez contiennent des données de date ou d’heure, vous devez connaître les exigences de conversion suivantes lors du portage du code R existant dans Studio (classique) :
Conversion de Machine Learning Studio (classique) en R
Les colonnes DateTime sont converties en vecteurs POSIXct. Toutefois, chaque élément individuel du vecteur résultant est un nombre de secondes depuis 1970-01-01T00:00:00.
Aucun ajustement de fuseau horaire n'est effectué dans cette conversion.
Conversion de R en Studio (classique)
Les vecteurs POSIXct sont convertis en colonnes DateTime dans le fuseau horaire UTC.
Par exemple, « 2011-03-27 01:30:00 PDT » sera converti en « 2011-03-27T08:30:00Z », où le Z indique que l'heure est au format UTC.
Conseil
Lors de l'utilisation d'heures dans le module Execute R Script, vous devez spécifier explicitement les horodatages. L'interpréteur R hébergé dans le module Execute R Script n'a pas accès aux définitions de fuseau horaire local.
Mise en réseau
Pour des raisons de sécurité, Azure bloque l'ensemble de la mise en réseau à partir de ou vers le code R dans les modules Execute R Script. En outre, à de très rares exceptions près, l'accès aux ports locaux à partir du module Execute R Script est bloqué.
Exécution parallèle
L'exécution en parallèle avec plusieurs threads n'est actuellement pas prise en charge.
Entrées attendues
Nom | Type | Description |
---|---|---|
Jeu de données 1 | Table de données | Jeu de données d'entrée 1 |
Jeu de données 2 | Table de données | Jeu de données d’entrée 2 |
Bundle de scripts | Zip | Ensemble de sources R |
Paramètres du module
Nom | Plage | Type | Default | Description |
---|---|---|---|---|
Script R | Quelconque | StreamReader | Spécifiez un StreamReader pointant vers les sources de script R. |
|
Valeur de départ aléatoire | >=0 | Integer | Définir une valeur de départ aléatoire pour une utilisation dans l'environnement R. Équivaut à \"set.seed(value)\" .Ce paramètre est facultatif. |
Sorties
Nom | Type | Description |
---|---|---|
Jeu de données des résultats | Table de données | Jeu de données de sortie |
Appareil R | Table de données | Sortie de la console et PNG Graphics Device à partir de l'interpréteur R |
Voir aussi
Modules linguistiques R
Create R Model
Catégories et descriptions des modules
Modules du langage Python