R-Script uitvoeren

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Hiermee wordt een R-script uitgevoerd vanuit een Machine Learning Studio-experiment (klassiek)

Categorie: R-taalmodules

Notitie

Van toepassing op: alleen Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de execute R Script-module in Machine Learning Studio (klassiek) gebruikt om R-code aan te roepen en uit te voeren in uw experimenten.

Door R-code toe te voegen aan deze module, kunt u diverse aangepaste taken uitvoeren die niet beschikbaar zijn in Studio (klassiek). Bijvoorbeeld:

  • Aangepaste gegevenstransformaties maken
  • Uw eigen metrische gegevens gebruiken voor het evalueren van voorspellingen
  • Modellen bouwen met behulp van algoritmen die niet zijn geïmplementeerd als zelfstandige modules in Studio (klassiek)

R-versies die worden ondersteund in Studio (klassiek)

Studio (klassiek) ondersteunt zowel de typische distributie van R die beschikbaar is via CRAN en Microsoft R Open (MRO), inclusief alle basis R-pakketten, plus de Revo-pakketten.

U kunt opgeven welke versie van R moet worden gebruikt in een experiment. U kunt echter geen andere versie van R installeren in uw werkruimte.

U wordt aangeraden te bepalen welke pakketten u nodig hebt voordat u een distributie van R kiest. Sommige pakketten zijn niet compatibel met ZOWEL CRAN R als Microsoft R Open.

Notitie

Momenteel is de module R-model maken beperkt tot een specifieke versie van R. Als u daarom een aangepast R-model in uw experiment gebruikt, moeten alle Execute R Script-modules in hetzelfde experiment ook dezelfde R-versie gebruiken. Zoek de ondersteunde R-versie in het volgende artikel, R-pakketten die worden ondersteund door Machine Learning Studio (klassiek).

Ondersteunde R-pakketten

De R-omgeving in Machine Learning heeft al meer dan 500 R-pakketten geïnstalleerd. Natuurlijk worden niet alle standaard geladen, maar u kunt ze eenvoudig laden als onderdeel van uw R-code.

Als u een lijst met alle huidige pakketten wilt ophalen, voegt u de volgende code toe aan een Execute R Script-module en voert u de module uit.

data.set <- data.frame(installed.packages())
maml.mapOutputPort("data.set")

In dit onderwerp worden de pakketten vermeld die worden ondersteund in Machine Learning en de compatibiliteit met CRAN R en Microsoft R Open. Zie R-pakketten die worden ondersteund door Machine Learning Studio (klassiek).

Nieuwe R-pakketten installeren

U installeert nieuwe R-pakketten in uw werkruimte met behulp van de module R Script uitvoeren . De pakketten moeten worden geüpload in zip-indeling. Wanneer uw experiment wordt geladen in een Azure Runtime-omgeving, worden de pakketten uitgepakt en toegevoegd aan de R-omgeving in uw experimentwerkruimte. Zie Nieuwe R-pakketten installeren voor meer informatie

Pakketten die zijn uitgepakt, blijven niet behouden in de werkruimte wanneer het experiment niet wordt uitgevoerd. Daarom moeten eventuele extra R-pakketten die u wilt gebruiken, beschikbaar zijn in uw werkruimte, of in Azure Storage, in zip-indeling.

Pakketten kunnen niet worden gedeeld tussen afzonderlijke exemplaren van de execute R Script-module , omdat elke module tijdens runtime in een andere container kan worden geladen. U kunt echter R-objecten delen tussen modules door ze beschikbaar te maken als gegevenssets. Zie Pass R-objecten tussen modules voor meer informatie.

Voorbeeldexperimenten

Er zijn veel voorbeelden van aangepast R-script in de Azure AI Gallery:

  • Prestaties van leerlingen/studenten: maakt gebruik van aangepast R-script om de resultaten van evaluaties voor meerdere modellen te combineren tot één gegevensset. In dit voorbeeld wordt ook R-code gebruikt in de module R-script uitvoeren om 16 tijdafhankelijke kolommen te berekenen.

  • Borstkanker: maakt gebruik van aangepaste code in de module Execute R Script om positieve voorbeelden te repliceren en metrische gegevens te combineren.

  • Tijdreeksprognose: in dit voorbeeld wordt Het uitvoeren van R-script gebruikt om aangepaste metrische gegevens te genereren en deze vervolgens in één tabel te combineren met behulp van de module Rijen toevoegen .

Uitvoeren R-script configureren

Als u de execute R-scriptmodule wilt configureren, geeft u een set optionele invoer en de R-code op die moet worden uitgevoerd in de werkruimte.

U kunt ook bestanden met extra R-code toevoegen als u ze voorbereidt in een gezipt archiefbestand voor bijlage bij de invoer van de scriptbundel .

Als u extra pakketten wilt installeren, neemt u deze op in het zip-archiefbestand.

  1. Voeg de Execute R Script-module toe aan uw experiment. U vindt deze module in Machine Learning Studio (klassiek), in de groep R-taalmodules.

  2. Verbinding maken invoer die nodig is voor het script. Invoer kan gegevens, R-pakketten bevatten die u hebt toegevoegd aan uw werkruimte in gezipte bestandsindeling en aanvullende R-code.

    • Gegevensset1: De eerste invoer is waar u uw hoofdgegevensset koppelt (optioneel). De invoergegevensset moet zijn opgemaakt als een CSV-, TSV- of ARFF-bestand, of u kunt een Machine Learning gegevensset verbinden.

    • Gegevensset2: De tweede invoer (optioneel) ondersteunt het toevoegen van een tweede gegevensset. Deze gegevensset moet ook zijn opgemaakt als een CSV-, TSV- of ARFF-bestand, of u kunt een Machine Learning-gegevensset verbinden.

    • Scriptbundel: De derde invoer, die optioneel is, neemt een bestand in de .ZIP-indeling. Het zip-bestand kan meerdere bestanden en meerdere bestandstypen bevatten. Het zip-archief kan bijvoorbeeld R-code bevatten in een scriptbestand, R-objecten voor gebruik door het script, een R-pakket dat zelf is opgenomen in .ZIP-indeling of gegevenssets in een van de ondersteunde indelingen.

  3. Typ R-script in het tekstvak R Script . Dit is de eenvoudigste manier om met de gegevenssets op de invoerknooppunten te werken.

    Om u te helpen aan de slag te gaan, wordt het tekstvak R-script vooraf ingevuld met de volgende voorbeeldcode, die u kunt bewerken of vervangen.

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

    Zie R-codevoorbeelden in dit onderwerp voor meer informatie over het gebruik van invoer en schrijven naar uitvoer.

    Notitie

    R-code die prima wordt uitgevoerd in externe hulpprogramma's, heeft mogelijk kleine wijzigingen nodig om te worden uitgevoerd in een Azure ML-experiment. Invoergegevens die u in CSV-indeling opgeeft, moeten bijvoorbeeld expliciet worden geconverteerd naar een gegevensset voordat u deze in uw code kunt gebruiken. Gegevens- en kolomtypen die in de R-taal worden gebruikt, verschillen ook op een aantal manieren van de gegevens- en kolomtypen die in Machine Learning worden gebruikt. Zie de sectie Technische opmerkingen voor meer informatie.
    De R Script-module wordt uitgevoerd in een sandbox van R-omgeving. Het is niet raadzaam om HTTP/SQL-verbindingen in deze module in te stellen.

  4. Random Seed: Typ een waarde die in de R-omgeving moet worden gebruikt als de willekeurige seed-waarde. Deze parameter is gelijk aan het aanroepen set.seed(value) van R-code.

  5. R-versie: selecteer de versie van R die u wilt laden in de werkruimte.

    • CRAN R 3.1.0: De uitgebreide R Archive Network-website is de opslagplaats voor de open source R-taal. Zie de CRAN-website voor meer informatie.

    • Microsoft R Open 3.2.2: MRO is de verbeterde distributie van R van Microsoft Corporation. Het is een open source platform op basis van de open source R-engine en volledig compatibel met alle R-pakketten, scripts en toepassingen die werken met dezelfde versie van R. MRO biedt echter verbeterde prestaties in vergelijking met de standaard R-distributie vanwege het gebruik van high-performance, multithreaded wiskundige bibliotheken. Zie Microsoft R Open voor meer informatie.

    • U kunt geen andere versie van R installeren in uw werkruimte.

    • Machine Learning ondersteunt meerdere versies van R, maar er kan slechts één versie worden gebruikt in elk experiment.

  6. Voer het experiment uit of selecteer de module Execute R Script en klik op Uitvoeren geselecteerd.

Resultaten

De module kan meerdere uitvoer retourneren.

  • Als u een gegevensset terug wilt krijgen, moet uw R-code één R data.frame retourneren.
  • U kunt afbeeldingen weergeven op het R-grafische apparaat, dat wordt weergegeven in het logboekgebied Machine Learning Studio (klassiek).
  • Als u afbeeldingen wilt behouden, kunt u ze naar een bestand schrijven of ze serialiseren naar een tabelvorm.
  • U kunt objecten opslaan in uw werkruimte.
  • Standaardberichten en fouten van R worden geretourneerd naar het logboek van de module.

(1) Resultaatgegevensset

Deze uitvoer bevat het gegevensframe dat wordt gegenereerd door de R-code in de module.

U kunt slechts één gegevensframe uitvoeren. Andere tabellaire objecten moeten worden geconverteerd naar een gegevensframe met behulp van R-functies. De uitvoer van het gegevensframe door de R-code van de module wordt automatisch geconverteerd naar de interne gegevenstabelindeling .

  • Als u wilt controleren of het geretourneerde object compatibel is met Studio (klassiek), gebruikt is.data.frameu , die Waar moet retourneren.

  • Als u andere R-objecten wilt retourneren, probeert u het object te serialiseren in een bytematrix of gebruikt u een functie die de gewenste gegevens als resultaat data.framegeeft.

(2) R-apparaat

Het R-apparaat ondersteunt zowel console-uitvoer (standaarduitvoer als standaardfout) en weergave van PNG-afbeeldingen met behulp van de R-interpreter.

  • Als u berichten wilt weergeven die zijn verzonden naar de R-console (Standaarduitvoer en Standaardfout), klikt u met de rechtermuisknop op de module nadat deze is uitgevoerd, selecteert u R-apparaat en selecteert u Visualiseren.

  • Als u afbeeldingen wilt weergeven die zijn gegenereerd op de R-apparaatpoort, klikt u met de rechtermuisknop op de module nadat deze is uitgevoerd, selecteert u R-apparaat en selecteert u Visualiseren.

De volgende afbeelding wordt bijvoorbeeld gegenereerd door slechts een paar regels R-code.

Example word cloud

U vindt deze en gerelateerde voorbeelden in de Azure AI Gallery.

  • Als u installatiekopieën wilt opslaan die zijn gegenereerd door de module Execute R Script , klikt u met de rechtermuisknop op de afbeelding en slaat u een lokale kopie op. U kunt ook een aanroep naar een van de R-grafische apparaatfuncties gebruiken om het afbeeldingsbestand naar het Azure Blob Storage-account te schrijven dat is gekoppeld aan het experiment, zoals beschreven in dit voorbeeld.

Voorbeeld van R-scripts en R-tips

Er zijn veel manieren waarop u uw experiment kunt uitbreiden met behulp van een aangepast R-script. Deze sectie bevat voorbeeldcode voor enkele veelvoorkomende taken.

Een R-script toevoegen als invoer

De Execute R Script-module ondersteunt het gebruik van willekeurige R-scriptbestanden als invoer, mits deze vooraf zijn voorbereid en geüpload naar uw werkruimte als onderdeel van het ZIP-bestand.

  1. Als u een ZIP-bestand met R-code wilt uploaden naar uw werkruimte, klikt u op Nieuw, klikt u op Gegevensset en selecteert u Vervolgens Een lokaal bestand en de optie Zip-bestand .

  2. Nadat u het zip-pakket hebt geüpload naar Studio (klassiek), controleert u of het zip-bestand beschikbaar is in de lijst Opgeslagen gegevenssets en verbindt u de gegevensset vervolgens met de invoerpoort scriptbundel .

  3. Als uw gezipte bestand een R-pakket bevat dat nog niet is geïnstalleerd in Machine Learning Studio (klassiek), moet u het R-pakket installeren als onderdeel van de aangepaste code in de module Execute R Script. Alle bestanden in het ZIP-bestand zijn beschikbaar tijdens de runtime van het experiment.

    Als het scriptbundelbestand een mapstructuur bevat, blijft de structuur behouden. U moet uw code echter wijzigen om de map-src vooraf te laten gaan aan het pad.

Afbeeldingen, modellen en andere objecten genereren

Als u een afbeelding of een ander willekeurig R-object wilt genereren, kunt u het serialiseren in een bytematrix en vervolgens als een data.frame zoals wordt weergegeven in dit voorbeeld:

as.data.frame(as.integer(serialize(g,con=NULL)));   

Graph gegevensframes uit de https://igraph.org/r/ bibliotheek bieden geen ondersteuning voor serialisatie als een gegevensframe. Gebruik in plaats daarvan de get.data.frame functie in het igraph pakket om de rand- en hoekpuntinformatie in een gegevensframe te plaatsen.

vertices <- get.data.frame(g, what="vertices")   

Vervolgens kunt u het grafiekobject retourneren als een data.frame dat u kunt ophalen uit de module Execute R Script .

edges <- get.data.frame(g, what="edges")  

Lezen van invoer en schrijven naar uitvoer

In het volgende voorbeeld ziet u hoe u invoer- en uitvoerpoorten gebruikt. De invoergegevens worden als een tabel gelezen en er wordt een kopie van de tabel aan zichzelf toegevoegd, zodat de grootte van de tabel wordt verdubbeld. Het resultaat wordt vervolgens verzonden naar de uitvoerpoort.

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

Een ZIP-bestand lezen als invoer

In dit voorbeeld ziet u hoe u een gegevensset toevoegt aan Machine Learning Studio (klassiek) in gezipte indeling en vervolgens de gegevens gebruikt als invoer voor de module Execute R Script.

  1. Maak het gegevensbestand in CSV-indeling en geef het de naam 'mydatafile.csv'.
  2. Maak een .ZIP-bestand en voeg het CSV-bestand toe aan het archief.
  3. Upload het zip-bestand naar uw Machine Learning werkruimte, zoals hier wordt beschreven: Zipped Datasets uitpakken.
  4. Verbinding maken de resulterende gegevensset naar de ScriptBundle-invoer van uw Execute R Script-module. Met andere woorden, pak het nog niet uit!
  5. Lees met behulp van de volgende code de CSV-gegevens uit het gezipte bestand. Geef indien nodig de codering op die in het gegevensbestand wordt gebruikt om later fouten te voorkomen.
mydataset=read.csv("src/newdata.csv",encoding="UTF-8");  
nrow(mydataset);  
ncol(mydataset);  
# Map new dataset to the first output port  
maml.mapOutputPort("mydataset");  

Notitie

Alle gegevens die worden doorgegeven aan de execute R Script-module , worden geconverteerd naar de data.frame indeling voor gebruik met uw R-code. Dit geldt voor alle gegevens die compatibel zijn met het DataTable format gebruik door Machine Learning, waaronder CSV-bestanden, ARFF-bestanden, enzovoort.

Rijen repliceren

In dit voorbeeld ziet u hoe u de positieve voorbeelden in een gegevensset kunt repliceren met een factor van 20 om de steekproef te verdelen.

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

Een aangepaste cursist aanroepen op basis van het Arules-pakket

U kunt nieuwe R-pakketten installeren in uw Machine Learning werkruimte door ze te uploaden als een .ZIP-bestand, zoals hier wordt beschreven. De volgende code laat zien hoe u het geüploade pakket gebruikt.

  1. Stel dat de arules pakketten arulesViz al zijn toegevoegd aan de werkruimte.

  2. Verbinding maken het geüploade .ZIP-bestand naar de derde invoerpoort van de module Execute R Script.

  3. Gebruik in het tekstvak R Script het volgende om het eerdere koppelingsregels-algoritme dat wordt geleverd door het R-taalpakket Arulesaan te roepen en de cursist toe te passen in een marktmandanalysetaak.

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)

Een aangepaste Naïve Bayes-cursist aanroepen

In dit voorbeeld ziet u hoe u een R-bibliotheek aanroept die niet is opgenomen in Studio (klassiek).

  1. Upload een zip-bestand met de e1071 bibliotheek naar uw werkruimte.

  2. Verbinding maken het geüploade .ZIP-bestand naar de derde invoerpoort van de module Execute R Script.

  3. Gebruik in het tekstvak R Script de volgende code om de Naïve Bayes-cursist te implementeren.

    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)    
    

Een aangepaste Naïve Bayes-scorer aanroepen

Als u een bestaand model hebt gemaakt door de e1071 bibliotheek, kunt u een aangepaste scorer aanroepen die door de e1071 bibliotheek wordt geleverd.

Als u echter scoren wilt uitvoeren in een afzonderlijk exemplaar van de module Execute R Script , moet u ook het zip-bestand met de e1071 bibliotheek opgeven als invoer voor de scoremodule en de bibliotheek laden. Dat komt doordat elke module onafhankelijk in een container wordt uitgevoerd.

library(e1071)  
features <- get.feature.columns(dataset)  
scores <- predict(model, features)  

Alle R-modules die in één experiment zijn opgenomen, moeten dezelfde versie van de R-runtime gebruiken. U kunt geen versies van R combineren, zoals CRANR gebruiken in één module en Microsoft R Open in een andere.

Een grafisch bestand schrijven

Hoewel Studio (klassiek) ondersteuning biedt voor de weergave van PNG-bestanden met behulp van de R Device-uitvoerpoort, wilt u mogelijk de resultaten genereren als een PDF-bestand in een blob in Azure Storage om te gebruiken voor rapportage.

In dit voorbeeld ziet u hoe u het Execute R-script gebruikt om een grafiek te genereren als EEN PDF-bestand.

  1. Voeg het Execute R Script toe aan het experiment.

  2. Maak het eenvoudige PDF-bestand als onderdeel van uw R-script en retourneer de Base64-gecodeerde tekenreeks van het PDF-bestand uit de module Execute R Script .

    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");    
    
  3. Geef deze uitvoer door aan een exportgegevensmodule en sla de binaire waarden op in Azure Blob Storage.

R-objecten doorgeven tussen execute R-scriptmodules

U kunt R-objecten doorgeven tussen exemplaren van de module Execute R Script met behulp van het interne serialisatiemechanisme. In dit voorbeeld wordt ervan uitgegaan dat u het R-object met de naam A tussen twee Execute R Script-modules wilt verplaatsen.

  1. Voeg de eerste Execute R Script-module toe aan uw experiment en typ de volgende code in het tekstvak R Script om een geserialiseerd object A te maken als een kolom in de uitvoergegevenstabel van de module:

    serialized <- as.integer(serialize(A,NULL))  
    data.set <- data.frame(serialized,stringsAsFactors=FALSE)
    maml.mapOutputPort("data.set")
    

    De expliciete conversie naar het type geheel getal is vereist omdat de serialisatiefunctie gegevens uitvoert in de R-indelingRaw, die niet wordt ondersteund door Machine Learning.

  2. Voeg een tweede exemplaar van de Execute R Script-module toe en verbind deze met de uitvoerpoort van de vorige module.

  3. Typ de volgende code in het tekstvak R Script om het object A uit de invoergegevenstabel te extraheren.

    dataset <- maml.mapInputPort(1)  
    A <- unserialize(as.raw(dataset$serialized))  
    

Nieuwe R-pakketten installeren

U kunt R-pakketten toevoegen die niet standaard zijn geïnstalleerd in Machine Learning. Voor het toevoegen van nieuwe pakketten zijn deze stappen vereist:

  • Haal de Windows binaire bestanden voor het pakket op in zip-indeling.
  • Zip het gewenste pakket en eventuele afhankelijkheden in een nieuw gecomprimeerd archiefbestand met de .ZIP extensie.
  • Upload het gezipte bestand als een gegevensset naar uw werkruimte.
  • Verbinding maken de nieuwe gegevensset naar de module Execute R Script.
  • Installeer het pakket met R-script in een module.

Met de volgende procedure wordt een nieuw pakket samen met de bijbehorende afhankelijkheden toegevoegd.

  1. Download het zip-bestand voor het pakket dat u wilt importeren in Machine Learning. Zorg ervoor dat u de Windows versie van het zip-bestand krijgt.

    Notitie

    Als u het R-pakket dat u wilt gebruiken al hebt uitgepakt in uw werkruimte, moet u het pakket opnieuw zippen of het oorspronkelijke ZIP-bestand opgeven wanneer u het R-pakket kunt uploaden naar Studio (klassiek).

  2. Controleer op afhankelijkheden en of het pakket andere pakketten nodig heeft die nog niet in Azure ML Studio (klassiek) staan, download ze in zip-indeling en voeg ze toe aan het archiefbestand.

  3. Klik met de rechtermuisknop op het gezipte bestand voor het pakket dat u wilt uploaden, evenals de bijbehorende afhankelijkheden, klik op Verzenden naar en selecteer vervolgens Gecomprimeerde (gezipte) map.

    Tip

    De gecomprimeerde map moet ten minste één zip-bestand met het doelpakket bevatten, plus extra zip-bestanden met vereiste pakketten.

  4. Upload het enkele ZIP-bestand met alle pakketten (evenals optionele R-codebestanden of gegevensbestanden) naar uw Studio-werkruimte (klassiek).

    U doet dit zoals u een gegevensset wilt uploaden: klik op Nieuw, klik op Gegevensset en selecteer vervolgens Uit lokaal bestand en de optie Zip-bestand .

  5. Open de lijst Opgeslagen gegevenssets , klik op Mijn gegevenssets en controleer of het zip-bestand beschikbaar is.

  6. Sleep het naar uw experiment, klik met de rechtermuisknop op de gegevensset en selecteer Visualiseren om de bestanden weer te geven die zijn opgenomen in de gezipte map. De bestandsnamen die u in de lijst Inhoud ziet, zijn de namen waarnaar u moet verwijzen wanneer u het pakket installeert.

    Stel dat u een bestand met de naam NewRPackage.ziphebt geüpload, dat drie R-pakketten bevat met de naam 001.zip, 002.zipen 003.zip. In de lijst Gegevenssets zou NewRPackage.zipde naam van de gegevensset , met inhoud 001.zipen 002.zip003.zip.

  7. Verbinding maken de gegevensset (NewRPackage.zip) naar de invoerpoort scriptbundel.

    Op dit moment wordt de buitenste gezipte map uitgepakt in de sandbox van de werkruimte, in het pad src. U hebt nu de volgende pakketten voor u beschikbaar:

    • src\001.zip
    • src\002.zip
    • src\003.zip
  8. Als u de R-pakketten wilt installeren, extraheert u elk pakket uit het zip-bestand en laadt u vervolgens de ingesloten bibliotheek.

    Als het bestand bijvoorbeeld het aangepaste R-pakket src\001.zipcode001bevat, voert u het volgende script uit:

    # install R package contained in src\001.zip  
    install.packages("src/001.zip", lib = ".", repos = NULL, verbose = TRUE)  
    library(code001, lib.loc=".", verbose=TRUE)
    
  9. Herhaal het installatieproces voor alle vereiste pakketten.

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

    Notitie

    Als er afhankelijkheden zijn tussen meerdere pakketten die worden geïnstalleerd, moet u eerst vereiste pakketten installeren of krijgt u mogelijk een foutmelding.

De installatie van alle R-pakketten moet worden uitgevoerd als onderdeel van het experiment om ervoor te zorgen dat alle vereiste pakketten worden opgenomen in de werkruimte die wordt verzonden naar de Azure-taakwachtrij wanneer uw experiment wordt uitgevoerd.

Pakketten in een werkruimte blijven niet behouden nadat het experiment is uitgevoerd of nadat u de sessie hebt gesloten. Pakketten die u als gezipte bestanden hebt geüpload, kunnen echter snel worden geëxtraheerd en gebruikt wanneer u het experiment opnieuw uitvoert.

Technische opmerkingen

R-prestaties optimaliseren in Studio (klassiek)

Het huidige standaardgeheugen is 14 GB. Mogelijk treedt er een foutbericht met onvoldoende geheugen op als u probeert zeer grote gegevensframes te bewerken met behulp van de module Execute R Script .

Als u de hoeveelheid geheugen wilt verhogen die door R-script wordt gebruikt, kunt u een regel gebruiken die vergelijkbaar is met dit aan het begin van het script:

memory.limit(56000)  

Door de gebruiker opgegeven R-code wordt uitgevoerd door een 64-bits R-interpreter die wordt uitgevoerd in Azure met behulp van een virtuele A8-machine met 56 GB RAM-geheugen. Als u de snelheid van uw R-code wilt verhogen, kunt u de Just-In-Time-compiler gebruiken die is opgegeven in het vooraf geïnstalleerde compilerpakket .

Gegevenstypen converteren tussen R en Studio (klassiek)

In de volgende tabel ziet u hoe de gegevenstypen in R overeenkomen met de gegevenstypen in Machine Learning:

R-type Type Studio (klassiek)
Geheel getal Geheel getal
Dubbel Dubbel
Complex Complex

Dit type wordt alleen ondersteund door een subset van modules.
Logisch Booleaans
Teken Tekenreeks
Onbewerkt Niet ondersteund
Difftime TimeSpan
factor categorische gegevens
data.frame Dataset

Kolommen van het gegevenstype lists in R kunnen niet worden geconverteerd omdat de elementen in dergelijke kolommen mogelijk verschillende typen en grootten hebben. De volgende geldige R-code mislukt bijvoorbeeld als deze wordt gebruikt in de module Execute R Script :

data.set <- data.frame(r=I(list(list(1,2,3),list(4,5))))  
maml.mapOutputPort("data.set")  

Datum/tijd-waarden converteren

Machine Learning Studio (klassiek) gebruikt verschillende datum/tijd-typen dan R. Als de gegevens die u analyseert datum- of tijdgegevens bevatten, moet u rekening houden met de volgende conversievereisten bij het overzetten van bestaande R-code naar Studio (klassiek):

Converteren van Machine Learning Studio (klassiek) naar R

DateTime-kolommen worden geconverteerd naar POSIXct-vectoren. Elk afzonderlijk element van de resulterende vector is echter een aantal seconden sinds 1970-01-01T00:00:00.

Er worden geen aanpassingen in de tijdzone aangebracht in deze conversie.

Converteren van R naar Studio (klassiek)

POSIXct-vectoren worden geconverteerd naar Datum/tijd-kolommen in de UTC-tijdzone.

Bijvoorbeeld: 2011-03-27 01:30:00 PDT wordt geconverteerd naar 2011-03-27T08:30:00Z, waarbij de Z aangeeft dat de tijd in UTC is.

Tip

Wanneer u tijden in de module Execute R Script gebruikt, moet u expliciet tijdstempels opgeven. De R-interpreter die wordt gehost in de module Execute R Script heeft geen toegang tot lokale tijdzonedefinities.

Netwerken

Om veiligheidsredenen wordt alle netwerken van of naar R-code in Execute R Script-modules geblokkeerd door Azure. Met zeer weinig uitzonderingen wordt ook de toegang tot lokale poorten vanuit het Execute R Script geblokkeerd.

Parallelle uitvoering

Momenteel wordt parallelle uitvoering met meerdere threads niet ondersteund.

Verwachte invoer

Naam Type Beschrijving
Gegevensset1 Gegevenstabel Invoergegevensset 1
Gegevensset2 Gegevenstabel Invoergegevensset 2
Scriptbundel Zip Set R-bronnen

Moduleparameters

Name Bereik Type Standaard Beschrijving
R-script Alle StreamReader Geef een StreamReader waarde op die verwijst naar de R-scriptbronnen.
Willekeurig zaad >=0 Geheel getal Definieer een willekeurige seed-waarde voor gebruik in de R-omgeving.

Gelijk aan \"set.seed(value)\".

Deze parameter is optioneel.

Uitvoerwaarden

Naam Type Beschrijving
Resultaatgegevensset Gegevenstabel Uitvoergegevensset
R-apparaat Gegevenstabel Console-uitvoer en PNG-grafisch apparaat van de R-interpreter

Zie ook

R-taalmodules
R-model maken
Modulecategorieën en -beschrijvingen
Python taalmodules