Share via


Köra R-skript

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

Kör ett R-skript från ett Machine Learning Studio-experiment (klassiskt)

Kategori: R-språkmoduler

Anteckning

Gäller endast för: Machine Learning Studio (klassisk)

Liknande dra och släpp-moduler finns i Azure Machine Learning designer.

Modulöversikt

Den här artikeln beskriver hur du använder modulen Execute R Script i Machine Learning Studio (klassisk) för att anropa och köra R-kod i experimenten.

Genom att lägga till R-kod i den här modulen kan du utföra en mängd olika anpassade uppgifter som inte är tillgängliga i Studio (klassisk). Exempel:

  • Skapa anpassade datatransformeringar
  • Använda dina egna mått för att utvärdera förutsägelser
  • Skapa modeller med algoritmer som inte implementeras som fristående moduler i Studio (klassisk)

R-versioner som stöds i Studio (klassisk)

Studio (klassisk) stöder både den typiska distributionen av R som är tillgänglig från CRAN och Microsoft R Open (MRO), som innehåller alla grundläggande R-paket, plus Revo-paketen.

Du kan ange vilken version av R som ska användas i ett experiment. Du kan dock inte installera någon annan version av R på din arbetsyta.

Vi rekommenderar att du avgör vilka paket du behöver innan du väljer en distribution av R. Vissa paket är inte kompatibla med både CRAN R och Microsoft R Open.

Anteckning

För närvarande är modulen Skapa R-modell begränsad till en specifik version av R. Om du använder en anpassad R-modell i experimentet måste därför alla Execute R Script-moduler i samma experiment också använda samma R-version. Hitta R-versionen som stöds i följande artikel, R Packages Supported by Machine Learning Studio (classic).

R-paket som stöds

R-miljön i Machine Learning har över 500 R-paket redan installerade. Naturligtvis läses inte alla in som standard, men du kan enkelt läsa in dem som en del av din R-kod.

Om du vill hämta en lista över alla aktuella paket lägger du till följande kod i modulen Kör R-skript och kör modulen.

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

Det här avsnittet innehåller de paket som stöds i Machine Learning och deras kompatibilitet med CRAN R och Microsoft R Open. Mer information finns i R-paket som stöds av Machine Learning Studio (klassisk).

Installera nya R-paket

Du installerar nya R-paket på arbetsytan med hjälp av modulen Execute R Script (Kör R-skript). Paketen måste laddas upp i zippat format. När experimentet läses in i en Azure-körningsmiljö packas paketen upp och läggs till i R-miljön på experimentarbetsytan. Mer information finns i Installera nya R-paket

Paket som har packats upp sparas inte på arbetsytan när experimentet inte körs. Därför måste eventuella ytterligare R-paket som du planerar att använda vara tillgängliga på din arbetsyta, eller i Azure Storage, i zippat format.

Paket kan inte delas mellan separata instanser av modulen Kör R-skript eftersom varje modul kan läsas in i en annan container vid körning. Du kan dock dela R-objekt mellan moduler genom att exponera dem som datauppsättningar. Mer information finns i Skicka R-objekt mellan moduler.

Exempelexperiment

Det finns många exempel på anpassade R-skript i Azure AI-galleriet:

  • Elevprestanda: Använder anpassat R-skript för att kombinera resultaten av utvärderingar för flera modeller till en enda datauppsättning. I det här exemplet används även R-kod i modulen Kör R-skript för att beräkna 16 tidsberoende kolumner.

  • Bröstcancer: Använder anpassad kod i modulen Execute R Script (Kör R-skript) för att replikera positiva exempel och kombinera mått.

  • Prognostisering av tidsserier: Det här exemplet använder Kör R-skript för att generera anpassade mått och kombinerar dem sedan till en enda tabell med hjälp av modulen Lägg till rader .

Så här konfigurerar du Kör R-skript

Om du vill konfigurera modulen Kör R-skript anger du en uppsättning valfria indata och R-koden som ska köras på arbetsytan.

Du kan också lägga till filer som innehåller ytterligare R-kod om du förbereder dem i en zippad arkivfil för bifogad fil i skriptpaketets indata.

Om du vill installera ytterligare paket inkluderar du dem i den zippade arkivfilen.

  1. Lägg till modulen Execute R Script (Kör R-skript) i experimentet. Du hittar den här modulen i Machine Learning Studio (klassisk) i gruppen R Language Modules.

  2. Anslut alla indata som krävs av skriptet. Indata kan innehålla data, R-paket som du har lagt till på din arbetsyta i zippat filformat och ytterligare R-kod.

    • Datauppsättning1: Den första indatan är där du bifogar din huvuddatauppsättning (valfritt). Indatauppsättningen måste formateras som en CSV-, TSV- eller ARFF-fil, eller så kan du ansluta en Machine Learning datauppsättning.

    • Datauppsättning2: Den andra indatan (valfritt) stöder tillägg av en andra datauppsättning. Den här datauppsättningen måste också formateras som en CSV-, TSV- eller ARFF-fil, eller så kan du ansluta en Machine Learning datauppsättning.

    • Skriptpaket: Den tredje indata, som är valfri, tar en fil i .ZIP format. Den zippade filen kan innehålla flera filer och flera filtyper. Det zippade arkivet kan till exempel innehålla R-kod i en skriptfil, R-objekt för användning av skriptet, ett R-paket som i sig ingick i .ZIP format eller datauppsättningar i något av de format som stöds.

  3. Skriv R-skript i textrutan R-skript . Det här är det enklaste sättet att arbeta med datauppsättningarna på indatanoderna.

    För att hjälpa dig att komma igång fylls textrutan R-skript i förväg med följande exempelkod, som du kan redigera eller ersätta.

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

    Mer information om hur du använder indata och skriver till utdata finns i R-kodexempel i det här avsnittet.

    Anteckning

    R-kod som körs bra i externa verktyg kan behöva små ändringar för att köras i ett Azure-ML experiment. Till exempel bör indata som du anger i CSV-format uttryckligen konverteras till en datauppsättning innan du kan använda dem i koden. Data- och kolumntyper som används på R-språket skiljer sig också på vissa sätt från de data- och kolumntyper som används i Machine Learning. Mer information finns i avsnittet Tekniska anteckningar .
    Kör R Script-modulen körs i en sandbox-miljö i R-miljön. Vi rekommenderar inte att du konfigurerar HTTP/SQL-anslutningar i den här modulen.

  4. Slumpmässigt frö: Ange ett värde som ska användas i R-miljön som slumpmässigt seed-värde. Den här parametern motsvarar anrop set.seed(value) i R-kod.

  5. R-version: Välj vilken version av R som ska läsas in på arbetsytan.

    • CRAN R 3.1.0: Webbplatsen för omfattande R-arkivnätverk är lagringsplatsen för det öppen källkod R-språket. Mer information finns på CRAN-webbplatsen.

    • Microsoft R Open 3.2.2: MRO är den förbättrade distributionen av R från Microsoft Corporation. Det är en öppen källkod plattform baserad på öppen källkod R-motorn och helt kompatibel med alla R-paket, skript och program som fungerar med samma version av R. Mro ger dock bättre prestanda jämfört med standard-R-distributionen på grund av dess användning av högpresterande, flertrådade matematiska bibliotek. Mer information finns i Microsoft R Open.

    • Du kan inte installera någon annan version av R på arbetsytan.

    • Machine Learning stöder flera versioner av R, men endast en version kan användas i alla experiment.

  6. Kör experimentet eller välj modulen Execute R Script (Kör R-skript) och klicka på Kör valt.

Resultat

Modulen kan returnera flera utdata.

  • För att få tillbaka en datauppsättning bör R-koden returnera en enda R-data.frame.
  • Du kan visa bilder i R-grafikenheten, som visas i loggområdet Machine Learning Studio (klassisk).
  • Om du vill spara bilder kan du skriva dem till en fil eller serialisera dem till ett tabellformat.
  • Du kan spara objekt på arbetsytan.
  • Standardmeddelanden och fel från R returneras till modulens logg.

(1) Resultatdatauppsättning

Dessa utdata innehåller den dataram som genereras av R-koden i modulen.

Du kan bara mata ut en dataram. Andra tabellobjekt måste konverteras till en dataram med hjälp av R-funktioner. Dataramens utdata från modulens R-kod konverteras automatiskt till det interna datatabellformatet .

  • Om du vill kontrollera att det returnerade objektet är kompatibelt med Studio (klassisk) använder du is.data.frame, som måste returnera True.

  • Om du vill returnera andra R-objekt kan du prova att serialisera objektet till en bytematris eller använda en funktion som returnerar önskade data som en data.frame.

(2) R-enhet

R-enheten stöder både konsolutdata (standardutdata och standardfel) och visning av PNG-grafik med R-tolken.

  • Om du vill visa meddelanden som skickats till R-konsolen (Standardutdata och Standardfel) högerklickar du på modulen när den har körts klart, väljer R-enhet och väljer Visualisera.

  • Om du vill visa grafik som genererats på R-enhetsporten högerklickar du på modulen när den har körts klart, väljer R-enhet och väljer Visualisera.

Följande bild genereras till exempel med bara några rader R-kod.

Example word cloud

Du hittar det här och relaterade exempel i Azure AI-galleriet.

  • Om du vill spara avbildningar som genererats av modulen Execute R Script (Kör R-skript ) högerklickar du på bilden och sparar en lokal kopia. Eller så kan du använda ett anrop till någon av R-grafikenhetens funktioner för att skriva bildfilen till det Azure Blob Storage-konto som är associerat med experimentet, enligt beskrivningen i det här exemplet.

Exempel på R-skript och R-tips

Det finns många sätt att utöka experimentet med hjälp av ett anpassat R-skript. Det här avsnittet innehåller exempelkod för några vanliga uppgifter.

Lägga till ett R-skript som indata

Modulen Execute R Script (Kör R-skript) stöder användning av godtyckliga R-skriptfiler som indata, förutsatt att de förbereds i förväg och laddas upp till din arbetsyta som en del av ZIP-filen.

  1. Om du vill ladda upp en ZIP-fil som innehåller R-kod till arbetsytan klickar du på Ny, klickar på Datauppsättning och väljer sedan Från lokal fil och alternativet Zip-fil .

  2. När du har laddat upp det zippade paketet till Studio (klassisk) kontrollerar du att den komprimerade filen är tillgänglig i listan Sparade datauppsättningar och ansluter sedan datauppsättningen till indataporten för skriptpaket .

  3. Om den komprimerade filen innehåller ett R-paket som inte redan är installerat i Machine Learning Studio (klassisk) måste du installera R-paketet som en del av den anpassade koden i modulen Execute R Script (Kör R-skript). Alla filer som finns i ZIP-filen är tillgängliga under experimentkörningen.

    Om skriptpaketfilen innehåller en katalogstruktur bevaras strukturen. Du måste dock ändra koden för att förbereda katalogen src till sökvägen.

Generera bilder, modeller och andra objekt

Om du behöver generera en bild, eller något annat godtyckligt R-objekt, kan du serialisera den till en bytematris och sedan som en data.frame enligt följande exempel:

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

Graph dataramar från https://igraph.org/r/ biblioteket stöder inte serialisering som en dataram. Använd get.data.frame i stället funktionen i igraph paketet för att placera kant- och hörninformationen i en dataram.

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

Du kan sedan returnera grafobjektet som en data.frame som du kan hämta från modulen Execute R Script (Kör R-skript ).

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

Läsa från indata och skriva till utdata

I följande exempel visas hur du använder indata- och utdataportar. Den läser indata som en tabell och lägger till en kopia av tabellen i sig själv, vilket i praktiken fördubblar tabellens storlek. Resultatet skickas sedan till utdataporten.

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

Läsa en ZIP-fil som indata

Det här exemplet visar hur du lägger till en datauppsättning i Machine Learning Studio (klassisk) i zippat format och sedan använder data som indata i modulen Execute R Script (Kör R-skript).

  1. Skapa datafilen i CSV-format och ge den namnet "mydatafile.csv".
  2. Skapa en .ZIP fil och lägg till CSV-filen i arkivet.
  3. Upload den zippade filen till din Machine Learning-arbetsyta enligt beskrivningen här: Packa upp zippade datauppsättningar.
  4. Anslut den resulterande datauppsättningen till ScriptBundle-indata för modulen Kör R-skript. Med andra ord, packa inte upp det ännu!
  5. Med hjälp av följande kod läser du CSV-data från den komprimerade filen. Ange den kodning som används i datafilen om det behövs för att undvika fel senare.
mydataset=read.csv("src/newdata.csv",encoding="UTF-8");  
nrow(mydataset);  
ncol(mydataset);  
# Map new dataset to the first output port  
maml.mapOutputPort("mydataset");  

Anteckning

Alla data som skickas till modulen Execute R Script konverteras till formatet data.frame för användning med R-koden. Detta gäller för alla data som är kompatibla med de DataTable format som används av Machine Learning, inklusive CSV-filer, ARFF-filer och så vidare.

Replikera rader

Det här exemplet visar hur du replikerar de positiva exemplen i en datamängd med en faktor på 20 för att balansera exemplet.

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

Anropa en anpassad elev baserat på Arules-paketet

Du kan installera nya R-paket på din Machine Learning-arbetsyta genom att ladda upp dem som en .ZIP fil, enligt beskrivningen här. Följande kod visar hur du använder det uppladdade paketet.

  1. Anta att paketen arules och arulesViz redan har lagts till på arbetsytan.

  2. Anslut den uppladdade .ZIP-filen till den tredje indataporten för modulen Execute R Script (Kör R-skript).

  3. I textrutan R-skript använder du följande för att anropa algoritmen för a priori-associationsregler som tillhandahålls av R-språkpaketet Arulesoch tillämpa eleven i en marknadskorgsanalysuppgift.

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)

Anropa en anpassad naiv Bayes-elev

Det här exemplet visar hur du anropar ett R-bibliotek som inte ingår i Studio (klassisk).

  1. Upload en zippad fil som innehåller biblioteket på e1071 din arbetsyta.

  2. Anslut den uppladdade .ZIP-filen till den tredje indataporten för modulen Execute R Script (Kör R-skript).

  3. I textrutan R-skript använder du följande kod för att implementera den naiva Bayes-eleven.

    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)    
    

Kalla en anpassad naiv Bayes-målgörare

Om du har en befintlig modell som skapats av e1071 biblioteket kan du anropa en anpassad målgörare som tillhandahålls av e1071 biblioteket.

Men om du vill utföra bedömning i en separat instans av modulen Execute R Script (Kör R-skript ) måste du ange den zippade filen som innehåller e1071 biblioteket som indata till bedömningsmodulen och läsa in biblioteket. Det beror på att varje modul körs oberoende av varandra i en container.

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

Alla R-moduler som ingår i ett enda experiment måste använda samma version av R-körningen. Du kan inte blanda versioner av R, till exempel använda CRANR i en modul och Microsoft R Open i en annan.

Skriva en grafikfil

Även om Studio (klassisk) stöder visning av PNG-filer med hjälp av R-enhetens utdataport, kanske du vill generera resultatet som en PDF-fil i en blob i Azure Storage som ska användas för rapportering.

Det här exemplet visar hur du använder Execute R Script för att generera ett diagram som en PDF-fil.

  1. Lägg till Execute R Script (Kör R-skript ) i experimentet.

  2. Skapa den grundläggande PDF-filen som en del av R-skriptet och returnera den Base64-kodade strängen för PDF-filen från modulen Execute R Script (Kör R-skript ).

    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. Skicka dessa utdata till en Export Data-modul och spara de binära värdena i Azure Blob Storage.

Skicka R-objekt mellan Execute R Script-moduler

Du kan skicka R-objekt mellan instanser av modulen Execute R Script (Kör R-skript ) med hjälp av den interna serialiseringsmekanismen. Det här exemplet förutsätter att du vill flytta R-objektet med namnet A mellan två Execute R Script-moduler .

  1. Lägg till den första Execute R Script-modulen i experimentet och skriv följande kod i textrutan R-skript för att skapa ett serialiserat objekt A som en kolumn i modulens utdatatabell:

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

    Explicit konvertering till heltalstyp krävs eftersom serialiseringsfunktionen matar ut data i R-formatRaw, vilket inte stöds av Machine Learning.

  2. Lägg till en andra instans av modulen Execute R Script (Kör R-skript) och anslut den till utdataporten för föregående modul.

  3. Skriv följande kod i textrutan R-skript för att extrahera objekt A från indatatabellen.

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

Installera nya R-paket

Du kan lägga till R-paket som inte är installerade som standard i Machine Learning. Följande steg krävs för att lägga till nya paket:

  • Hämta Windows binärfiler för paketet i zippat format.
  • Zippa det önskade paketet och eventuella beroenden i en ny komprimerad arkivfil med .ZIP filnamnstillägget.
  • Upload den komprimerade filen som en datauppsättning till din arbetsyta.
  • Anslut den nya datauppsättningen till modulen Execute R Script (Kör R-skript).
  • Installera paketet med R-skript i en modul.

Följande procedur lägger till ett nytt paket tillsammans med dess beroenden.

  1. Ladda ned den komprimerade filen för det paket som du vill importera till Machine Learning. Se till att hämta den Windows versionen av den zippade filen.

    Anteckning

    Om du redan har extraherat R-paketet som du vill använda på din arbetsyta måste du antingen zippa om paketet eller ange den ursprungliga ZIP-filen när du kan ladda upp R-paketet till Studio (klassisk).

  2. Sök efter eventuella beroenden och om paketet behöver andra paket som inte redan finns i Azure ML Studio (klassisk), ladda ned dem i zippat format och lägg till dem i arkivfilen.

  3. Högerklicka på den komprimerade filen för det paket som du vill ladda upp, samt dess beroenden, klicka på Skicka till och välj sedan Komprimerad mapp (komprimerad) .

    Tips

    Den komprimerade mappen ska innehålla minst en zippad fil med målpaketet, plus ytterligare zip-filer som innehåller nödvändiga paket.

  4. Upload den enskilda ZIP-filen som innehåller alla paket (samt valfria R-kodfiler eller datafiler) till din Studio-arbetsyta (klassisk).

    Du gör så här för att ladda upp en datauppsättning: Klicka på Ny, klicka på Datauppsättning och välj sedan Från lokal fil och alternativet Zip-fil .

  5. Öppna listan Sparade datauppsättningar , klicka på Mina datauppsättningar och kontrollera att den komprimerade filen är tillgänglig.

  6. Dra den till experimentet, högerklicka på datauppsättningen och välj Visualisera för att visa filerna som ingår i den komprimerade mappen. De filnamn som visas i innehållslistan är de namn som du måste referera till när du installerar paketet.

    Anta till exempel att du har laddat upp en fil med namnet NewRPackage.zip, som innehåller tre R-paket med namnet 001.zip, 002.zipoch 003.zip. I listan Datauppsättningar skulle namnet på datauppsättningen vara NewRPackage.zip, med innehållet 001.zip, 002.zipoch 003.zip.

  7. Anslut datauppsättningen (NewRPackage.zip) till indataporten för skriptpaketet.

    Nu extraheras den yttre zippade mappen till sandbox-miljön för arbetsytan i sökvägen src. Du skulle nu ha följande paket tillgängliga för dig:

    • src\001.zip
    • src\002.zip
    • src\003.zip
  8. Om du vill installera R-paketen extraherar du varje paket från zip-filen och läser sedan in det inneslutna biblioteket.

    Om du till exempel antar att filen innehåller det anpassade R-paketet src\001.zipcode001kör du följande skript:

    # 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. Upprepa installationsprocessen för alla nödvändiga paket.

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

    Anteckning

    Om det finns några beroenden mellan flera paket som installeras måste du först installera nödvändiga paket, eller så kan du få ett fel.

Installationen av alla R-paket måste utföras som en del av experimentet för att säkerställa att alla nödvändiga paket ingår i arbetsytan som skickas till Azure-jobbkön när experimentet körs.

Paket på en arbetsyta sparas inte när experimentet har körts eller när du har stängt sessionen. Alla paket som du har laddat upp som zippade filer kan dock snabbt extraheras och användas när du kör experimentet igen.

Tekniska anteckningar

Optimera R-prestanda i Studio (klassisk)

Det aktuella standardminnet är 14 GB. Du kan stöta på ett felmeddelande om minnesbrist om du försöker ändra mycket stora dataramar med hjälp av modulen Kör R-skript .

Om du vill öka mängden minne som används av R-skriptet kan du använda en rad som liknar detta i början av skriptet:

memory.limit(56000)  

Användarspecifik R-kod körs av en 64-bitars R-tolk som körs i Azure med hjälp av en virtuell A8-dator med 56 GB RAM-minne. Om du vill öka R-kodens hastighet kan du använda just-in-time-kompilatorn i det förinstallerade kompileringspaketet .

Konvertera datatyper mellan R och Studio (klassisk)

Följande tabell visar hur datatyperna i R motsvarar datatyperna i Machine Learning:

R-typ Studiotyp (klassisk)
Integer Integer
Double Double
Complex Complex

Den här typen stöds endast av en delmängd moduler.
Logiskt Boolesk
Tecken Sträng
Rådata Stöds inte
Difftime TimeSpan
factor kategoriska
data.frame Datamängd

Kolumner av datatyp lists i R kan inte konverteras eftersom elementen i sådana kolumner potentiellt har olika typer och storlekar. Till exempel misslyckas följande giltiga R-kod om den används i modulen Kör R-skript :

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

Konvertera datetime-värden

Machine Learning Studio (klassisk) använder olika datetime-typer än R. Om de data som du analyserar innehåller datum- eller tidsdata bör du vara medveten om följande konverteringskrav när du porterar befintlig R-kod till Studio (klassisk):

Konvertera från Machine Learning Studio (klassisk) till R

DateTime-kolumner konverteras till POSIXct-vektorer. Varje enskilt element i den resulterande vektorn är dock ett antal sekunder sedan 1970-01-01T00:00:00.

Inga tidszonsjusteringar görs i den här konverteringen.

Konvertera från R till Studio (klassisk)

POSIXct-vektorer konverteras till DateTime-kolumner i UTC-tidszonen.

Till exempel konverteras 2011-03-27 01:30:00 PDT till 2011-03-27T08:30:00Z, där Z anger att tiden är i UTC.

Tips

När du använder tider i modulen Kör R-skript måste du uttryckligen ange tidsstämplar. R-tolken som finns i modulen Execute R Script (Kör R-skript) har inte åtkomst till lokala tidszonsdefinitioner.

Nätverk

Av säkerhetsskäl blockeras alla nätverk från eller till R-kod i Execute R Script-moduler av Azure. Dessutom blockeras åtkomst till lokala portar från Execute R Script med mycket få undantag.

Parallell körning

För närvarande stöds inte parallell körning med flera trådar.

Förväntade indata

Namn Typ Description
Datauppsättning1 Datatabell Indatauppsättning 1
Datauppsättning2 Datatabell Indatauppsättning 2
Skriptpaket Zip Uppsättning R-källor

Modulparametrar

Name Intervall Typ Standardvärde Description
R-skript Valfri StreamReader Ange en StreamReader som pekar på R-skriptkällorna.
Slumpmässigt frö >=0 Integer Definiera ett slumpmässigt startvärde för användning i R-miljön.

\"set.seed(value)\"Motsvarar .

Den här parametern är valfri.

Utdata

Namn Typ Description
Resultatdatauppsättning Datatabell Utdatauppsättning
R-enhet Datatabell Konsolutdata och PNG-grafikenhet från R-tolken

Se även

R-språkmoduler
Skapa R-modell
Modulkategorier och beskrivningar
Python språkmoduler