R-szkript végrehajtása

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

R-szkript végrehajtása Machine Learning Studio (klasszikus) kísérletből

Kategória: R nyelvi modulok

Megjegyzés

Csak a következőre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzási modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk bemutatja, hogyan használhatja az R-szkript végrehajtása modult a Machine Learning Studio (klasszikus) alkalmazásban R-kód meghívására és futtatására a kísérletekben.

Ha R-kódot ad hozzá ehhez a modulhoz, számos olyan testre szabott feladatot hajthat végre, amelyek nem érhetők el a Studióban (klasszikus). Például:

  • Egyéni adatátalakítások létrehozása
  • Saját metrikák használata előrejelzések kiértékeléséhez
  • Modellek létrehozása olyan algoritmusokkal, amelyek nem önálló modulként vannak implementálva a Studióban (klasszikus)

A Studio által támogatott R-verziók (klasszikus)

A Studio (klasszikus) támogatja a CRAN-tól elérhető R tipikus terjesztését és a Microsoft R Open (MRO) használatát is, amely tartalmazza az összes alap R-csomagot, valamint a Revo-csomagokat.

Megadhatja, hogy az R melyik verzióját használja egy kísérletben. Az R más verzióit azonban nem telepítheti a munkaterületre.

Javasoljuk, hogy az R-eloszlás kiválasztása előtt határozza meg, hogy mely csomagokra van szüksége. Egyes csomagok nem kompatibilisek a CRAN R és a Microsoft R Open szolgáltatással.

Megjegyzés

Az R-modell létrehozása modul jelenleg az R adott verziójára korlátozódik. Ezért ha egyéni R-modellt használ a kísérletben, az ugyanabban a kísérletben található Összes R-szkript végrehajtása modulnak is ugyanazt az R-verziót kell használnia. A támogatott R-verziót a következő cikkben találja, a Machine Learning Studio által támogatott R-csomagokat (klasszikus).

Támogatott R-csomagok

A Machine Learning R környezetében már több mint 500 R-csomag van telepítve. Természetesen nem minden töltődik be alapértelmezés szerint, de könnyen betöltheti őket az R-kód részeként.

Az összes aktuális csomag listájának lekéréséhez adja hozzá a következő kódot egy Execute R Script modulhoz, és futtassa a modult.

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

Ez a témakör felsorolja a Machine Learning által támogatott csomagokat, valamint a CRAN R-vel és a Microsoft R Opennel való kompatibilitásukat, lásd: Machine Learning Studio által támogatott R-csomagok (klasszikus).

Új R-csomagok telepítése

Az R-szkript végrehajtása modullal új R-csomagokat telepíthet a munkaterületre. A csomagokat tömörített formátumban kell feltölteni. Amikor a kísérlet betöltődik egy Azure-beli futtatókörnyezetbe, a csomagok ki lesznek csomagolva, és hozzáadódnak az R-környezethez a kísérlet munkaterületén. További információ: Új R-csomagok telepítése

A kicsomagolt csomagok nem maradnak meg a munkaterületen, ha a kísérlet nem fut. Ezért a használni kívánt további R-csomagoknak elérhetőnek kell lenniük a munkaterületen vagy az Azure Storage-ban tömörített formátumban.

A csomagok nem oszthatók meg az R-szkript végrehajtása modul különálló példányai között, mert előfordulhat, hogy az egyes modulokat futásidőben egy másik tárolóba töltik be. Az R-objektumokat azonban megoszthatja a modulok között, ha adathalmazként osztja meg őket. További információ: R-objektumok átadása modulok között.

Kísérleteket szemléltető példák

Az Azure AI-katalógusban számos példa található az egyéni R-szkriptekre:

  • Tanulói teljesítmény: Egyéni R-szkripttel kombinálja a több modell kiértékelési eredményeit egyetlen adatkészletben. Ez a minta R-kódot is használ az Execute R Script modulban 16 időfüggő oszlop kiszámításához.

  • Mellrák: Egyéni kódot használ az Execute R Script modulban a pozitív példák replikálásához és a metrikák kombinálásához.

  • Idősor-előrejelzés: Ez a minta az Execute R Script használatával hoz létre egyéni metrikákat, majd egyetlen táblában egyesíti őket a Sorok hozzáadása modullal.

R-szkript végrehajtásának konfigurálása

Az R-szkript végrehajtása modul konfigurálásához meg kell adnia a munkaterületen futtatandó opcionális bemeneteket és R-kódot.

További R-kódot tartalmazó fájlokat is hozzáadhat, ha egy tömörített archív fájlban előkészíti őket a szkriptcsomag bemenetéhez való mellékletként.

További csomagok telepítéséhez vegye fel őket a tömörített archív fájlba.

  1. Adja hozzá az Execute R Script modult a kísérlethez. Ezt a modult a Machine Learning Studio (klasszikus) R nyelvi modulok csoportjában találja.

  2. Csatlakozás a szkript által szükséges bemeneteket. A bemenetek tartalmazhatnak adatokat, tömörített fájlformátumban hozzáadott R-csomagokat és további R-kódot.

    • Adatkészlet1: Az első bemenet a fő adatkészlet csatolása (nem kötelező). A bemeneti adatkészletet CSV-, TSV- vagy ARFF-fájlként kell formázni, vagy csatlakoztathat egy Machine Learning adatkészletet.

    • Adatkészlet2: A második bemenet (nem kötelező) támogatja a második adatkészlet hozzáadását. Ezt az adatkészletet CSV-, TSV- vagy ARFF-fájlként is meg kell formázni, vagy csatlakoztathat egy Machine Learning adatkészletet.

    • Szkriptcsomag: A harmadik bemenet, amely nem kötelező, .ZIP formátumban vesz fel egy fájlt. A tömörített fájl több fájlt és több fájltípust tartalmazhat. A tömörített archívum tartalmazhat például R-kódot egy szkriptfájlban, a szkript által használt R-objektumokat, egy .ZIP formátumú R-csomagot vagy az egyik támogatott formátumban lévő adatkészletet.

  3. Írja be az R-szkriptet az R-szkript szövegmezőbe. Ez a legegyszerűbb módja annak, hogy a bemeneti csomópontokon lévő adathalmazokkal dolgozzon.

    Az első lépésekhez az R-szkript szövegmezője előre fel van töltve a következő mintakóddal, amelyet szerkeszthet vagy lecserélhet.

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

    A bemenetek és a kimenetek írásával kapcsolatos további információkért tekintse meg a jelen témakör R-kódmintáit .

    Megjegyzés

    A külső eszközökben jól futó R-kód kis módosításokat igényelhet egy Azure-ML kísérletben való futtatáshoz. A CSV formátumban megadott bemeneti adatokat például explicit módon adatkészletté kell konvertálni, mielőtt használhatná azokat a kódban. Az R nyelvben használt adat- és oszloptípusok is különböznek a Machine Learning használt adatoktól és oszloptípusoktól. További részletekért tekintse meg a Technikai megjegyzések szakaszt .
    Az R-szkript végrehajtása modul R környezetben futó tesztkörnyezetben fut, ebben a modulban nem ajánlott HTTP-/SQL-kapcsolatokat beállítani.

  4. Véletlenszerű mag: Írja be az R-környezetben véletlenszerű magértékként használni kívánt értéket. Ez a paraméter egyenértékű az R-kódban való hívással set.seed(value) .

  5. R-verzió: Válassza ki a munkaterületen betöltendő R-verziót.

    • CRAN R 3.1.0: Az átfogó R archív hálózat webhelye az nyílt forráskód R nyelv adattára. További információt a CRAN webhelyén talál.

    • Microsoft R Open 3.2.2: Az MRO a Microsoft Corporation R továbbfejlesztett disztribúciója. Ez egy nyílt forráskód platform, amely az nyílt forráskód R-motoron alapul, és teljes mértékben kompatibilis az R ugyanazon verziójával működő összes R-csomaggal, szkripttel és alkalmazással. Az MRO azonban jobb teljesítményt nyújt a standard R-eloszláshoz képest, mivel nagy teljesítményű, többszálú matematikai kódtárakat használ. További információ: Microsoft R Open.

    • Az R más verziói nem telepíthetők a munkaterületre.

    • Machine Learning az R több verzióját is támogatja, de minden kísérletben csak egy verzió használható.

  6. Futtassa a kísérletet, vagy válassza az R-szkript végrehajtása modult, és kattintson a Kijelölt futtatás gombra.

Results (Eredmények)

A modul több kimenetet is visszaadhat.

  • Az adathalmaz visszaszerzéséhez az R-kódnak egyetlen R data.frame-et kell visszaadnia.
  • A képeket az R grafikus eszközön jelenítheti meg, amely a Machine Learning Studio (klasszikus) naplóterületén jelenik meg.
  • A képek megőrzéséhez megírhatja őket egy fájlba, vagy táblázatos formátumba szerializálhatja őket.
  • Objektumokat menthet a munkaterületre.
  • Az R-ből érkező szabványos üzenetek és hibák visszakerülnek a modul naplójába.

(1) Eredményadatkészlet

Ez a kimenet tartalmazza a modul R-kódja által létrehozott adatkeretet.

Csak egy adatkeretet adhat ki. Más táblázatos objektumokat R-függvények használatával adatkeretté kell alakítani. A modul R-kódjának adatkeret-kimenete automatikusan belső adattábla-formátumra lesz konvertálva.

  • Annak ellenőrzéséhez, hogy a visszaadott objektum kompatibilis-e a (klasszikus) Studióval, használja is.data.framea True (Igaz) értéket.

  • Ha más R-objektumokat szeretne visszaadni, próbálja meg bájttömbbe szerializálni az objektumot, vagy használjon olyan függvényt, amely a kívánt adatokat data.frameadja vissza .

(2) R-eszköz

Az R-eszköz támogatja a konzolkimenetet (standard kimenet és standard hiba), valamint a PNG-képek megjelenítését az R-értelmező használatával.

  • Az R-konzolnak küldött üzenetek (standard kimenet és standard hiba) megtekintéséhez kattintson a jobb gombbal a modulra a futtatás befejezése után, válassza az R-eszköz lehetőséget, és válassza a Vizualizáció lehetőséget.

  • Az R-eszköz portján létrehozott grafikus elemek megtekintéséhez kattintson a jobb gombbal a modulra a futtatás befejezése után, válassza az R-eszköz lehetőséget, és válassza a Vizualizáció lehetőséget.

Az alábbi képet például néhány sor R-kód generálja.

Example word cloud

Ezt és a kapcsolódó mintákat az Azure AI-katalógusban találja.

  • Az R-szkript végrehajtása modul által létrehozott képek mentéséhez kattintson a jobb gombbal a képre, és mentsen egy helyi másolatot. Vagy az R grafikus eszköz egyik függvényének hívásával is megírhatja a képfájlt a kísérlethez társított Azure Blob Storage-fiókba az ebben a példában ismertetett módon.

R-példaszkriptek és R-tippek

A kísérletet többféleképpen is kiterjesztheti egyéni R-szkripttel. Ez a szakasz néhány gyakori feladathoz biztosít mintakódot.

R-szkript hozzáadása bemenetként

Az R-szkript végrehajtása modul támogatja tetszőleges R-szkriptfájlok bemenetként való használatát, feltéve, hogy előre előkészítik és feltöltik őket a munkaterületre a ZIP-fájl részeként.

  1. Ha R-kódot tartalmazó ZIP-fájlt szeretne feltölteni a munkaterületre, kattintson az Új, majd az Adathalmaz elemre, majd válassza a Helyi fájlból és a Zip-fájl lehetőséget.

  2. Miután feltöltötte a tömörített csomagot a (klasszikus) Studióba, ellenőrizze, hogy a tömörített fájl elérhető-e a Mentett adathalmazok listában, majd csatlakoztassa az adatkészletet a szkriptcsomag bemeneti portjához.

  3. Ha a tömörített fájl olyan R-csomagot tartalmaz, amely még nincs telepítve a Machine Learning Studióban (klasszikus), az R-csomagot az R-szkript végrehajtása modul egyéni kódjának részeként kell telepítenie. A ZIP-fájlban található összes fájl elérhető a kísérlet futási ideje alatt.

    Ha a szkriptcsomagfájl könyvtárszerkezetet tartalmazott, a struktúra megmarad. Azonban módosítania kell a kódot, hogy a könyvtár src-t az elérési úthoz fűzhesse.

Képek, modellek és egyéb objektumok létrehozása

Ha létre kell hoznia egy képet vagy bármely más tetszőleges R-objektumot, szerializálhatja azt egy bájttömbbe, majd data.frame-ként, az alábbi példában látható módon:

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

Graph kódtárból https://igraph.org/r/ származó adatkeretek nem támogatják adatkeretként történő szerializálást. Ehelyett a get.data.frame csomagban lévő igraph függvénnyel helyezze az él- és csúcsinformációkat egy adatkeretbe.

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

Ezután visszaadhatja a gráfobjektumot data.frame-ként, amelyet az R-szkript végrehajtása modulból szerezhet be.

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

Olvasás bemenetből és írás a kimenetbe

Az alábbi példa a bemeneti és kimeneti portok használatát mutatja be. Táblázatként olvassa be a bemeneti adatokat, és hozzáfűzi a tábla egy példányát önmagához, ezzel megduplázva a tábla méretét. A rendszer ezután elküldi az eredményt a kimeneti portra.

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

ZIP-fájl olvasása bemenetként

Ez a példa bemutatja, hogyan adhat hozzá adatkészletet a (klasszikus) Machine Learning Studióhoz tömörített formátumban, majd hogyan használhatja az adatokat az R-szkript végrehajtása modul bemeneteként.

  1. Hozza létre az adatfájlt CSV formátumban, és adja neki a "mydatafile.csv" nevet.
  2. Hozzon létre egy .ZIP fájlt, és adja hozzá a CSV-fájlt az archívumhoz.
  3. Töltse fel a tömörített fájlt a Machine Learning-munkaterületre az alábbi módon: Tömörített adathalmazok kicsomagolása.
  4. Csatlakozás az eredményként kapott adatkészletet az R-szkript végrehajtása modul ScriptBundle bemenetére. Más szóval, ne csomagolja ki még!
  5. Az alábbi kód használatával olvassa be a CSV-adatokat a tömörített fájlból. Ha szükséges, adja meg az adatfájlban használt kódolást a későbbi hibák elkerülése érdekében.
mydataset=read.csv("src/newdata.csv",encoding="UTF-8");  
nrow(mydataset);  
ncol(mydataset);  
# Map new dataset to the first output port  
maml.mapOutputPort("mydataset");  

Megjegyzés

Az R-szkript végrehajtása modulnak átadott összes adat az R-kóddal használható formátumra data.frame lesz konvertálva. Ez minden olyan adatra vonatkozik, amely kompatibilis a Machine Learning által használt adatokkal, beleértve a DataTable format CSV-fájlokat, az ARFF-fájlokat stb.

Sorok replikálása

Ez a minta bemutatja, hogyan replikálhatja egy adathalmaz pozitív mintáit 20-zal a minta egyensúlyba hozásához.

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

Egyéni tanuló meghívása az Arules-csomag alapján

Új R-csomagokat telepíthet a Machine Learning-munkaterületre, ha feltölti őket .ZIP fájlként, az itt leírtak szerint. Az alábbi kód bemutatja, hogyan használható a feltöltött csomag.

  1. Tegyük fel, hogy a csomagok és arulesViz a arules csomagok már hozzá lettek adva a munkaterülethez.

  2. Csatlakozás a feltöltött .ZIP fájlt az R-szkript végrehajtásamodul harmadik bemeneti portjára.

  3. Az R-szkript szövegmezőjében az alábbi módon hívja meg az R nyelvi csomag Arulesáltal biztosított priori társítás szabály algoritmusát, és alkalmazza a tanulót egy market basket elemzési feladatban.

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)

Egyéni Naïve Bayes-tanuló meghívása

Ez a példa bemutatja, hogyan hívhat meg olyan R-kódtárat, amely nem szerepel a Studióban (klasszikus).

  1. Töltse fel a tárat tartalmazó tömörített fájlt a e1071 munkaterületre.

  2. Csatlakozás a feltöltött .ZIP fájlt az R-szkript végrehajtásamodul harmadik bemeneti portjára.

  3. Az R-szkript szövegmezőjében használja az alábbi kódot a Naïve Bayes-tanuló implementálásához.

    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)    
    

Egyéni Naïve Bayes-scorer meghívása

Ha a kódtár által e1071 létrehozott meglévő modellel rendelkezik, meghívhat egy, a kódtár által biztosított egyéni pontozót e1071 .

Ha azonban az R-szkript végrehajtása modul egy külön példányában szeretne pontozást végezni, meg kell adnia a kódtárat tartalmazó e1071 tömörített fájlt a pontozómodul bemeneteként, és be kell töltenie a kódtárat. Ennek az az oka, hogy minden modul egymástól függetlenül fut egy tárolóban.

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

Az egyetlen kísérletben található összes R-modulnak az R-futtatókörnyezet ugyanazon verzióját kell használnia. Nem kombinálhatja az R verzióit, például a CRANR-t az egyik modulban, a Microsoft R Opent pedig egy másikban.

Grafikus fájl írása

Bár a Studio (klasszikus) támogatja a PNG-fájlok R-eszköz kimeneti porton keresztüli megjelenítését, érdemes lehet PDF-fájlként létrehozni az eredményeket egy Azure-Storage jelentéskészítéshez használni kívánt blobban.

Ez a példa bemutatja, hogyan hozhat létre diagramot PDF-fájlként az R-szkript végrehajtása parancsprogrammal.

  1. Adja hozzá az R-szkript végrehajtása parancsot a kísérlethez.

  2. Hozza létre az alapszintű PDF-fájlt az R-szkript részeként, és adja vissza a PDF-fájl Base64-kódolású sztringét az R-szkript végrehajtása modulból.

    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. Adja át ezt a kimenetet egy Adatexportálási modulnak, és mentse a bináris értékeket az Azure Blob Storage-ba.

R-objektumok átadása az R-szkript végrehajtása modulok között

A belső szerializálási mechanizmussal R-objektumokat adhat át az R-szkript végrehajtása modul példányai között. Ez a példa feltételezi, hogy az R-szkript végrehajtása modul között elnevezett A R-objektumot szeretné áthelyezni.

  1. Adja hozzá az első R-szkript végrehajtása modult a kísérlethez, és írja be a következő kódot az R-szkript szövegmezőjéhez, hogy szerializált objektumot A hozzon létre oszlopként a modul kimeneti adattáblájában:

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

    Az egész szám típusra való explicit átalakításra azért van szükség, mert a szerializálási függvény R Raw formátumban adja ki az adatokat, amelyet Machine Learning nem támogat.

  2. Adja hozzá az R-szkript végrehajtása modul egy második példányát, és csatlakoztassa az előző modul kimeneti portjához.

  3. Írja be a következő kódot az R-szkript szövegmezőbe, hogy kinyerje az objektumot A a bemeneti adattáblából.

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

Új R-csomagok telepítése

A Machine Learning alapértelmezés szerint nem telepített R-csomagokat is hozzáadhat. Új csomagok hozzáadásához az alábbi lépések szükségesek:

  • Szerezze be a csomaghoz tartozó Windows bináris fájlokat tömörített formátumban.
  • Tömörítse a kívánt csomagot és a függőségeket egy új tömörített archív fájlba a .ZIP kiterjesztéssel.
  • Töltse fel a tömörített fájlt adathalmazként a munkaterületre.
  • Csatlakozás az új adatkészletet az R-szkript végrehajtása modulba.
  • Telepítse a csomagot R-szkripttel egy modulban.

Az alábbi eljárás egy új csomagot ad hozzá a függőségeivel együtt.

  1. Töltse le az importálni kívánt csomag tömörített fájljának Machine Learning. Győződjön meg arról, hogy a tömörített fájl Windows verzióját használja.

    Megjegyzés

    Ha már kibontotta a munkaterületen használni kívánt R-csomagot, újra be kell tömörítenie a csomagot, vagy meg kell adnia az eredeti ZIP-fájlt, amikor feltöltheti az R-csomagot a Studióba (klasszikus).

  2. Ellenőrizze, hogy vannak-e függőségek, és ha a csomaghoz olyan csomagokra van szükség, amelyek még nem szerepelnek az Azure ML Studióban (klasszikus), töltse le őket tömörített formátumban, és adja hozzá őket az archív fájlhoz.

  3. Kattintson a jobb gombbal a feltölteni kívánt csomag tömörített fájljára, valamint annak függőségeire, kattintson a Küldés ide, majd válassza a Tömörített (tömörített) mappát.

    Tipp

    A tömörített mappának tartalmaznia kell legalább egy tömörített fájlt a célcsomaggal, valamint a szükséges csomagokat tartalmazó további zip-fájlokat.

  4. Töltse fel az összes csomagot (valamint az opcionális R-kódfájlokat vagy adatfájlokat) tartalmazó egyetlen ZIP-fájlt a Studio (klasszikus) munkaterületére.

    Ezt úgy teheti meg, mintha egy adathalmazt töltene fel: Kattintson az Új gombra, kattintson az Adathalmaz elemre, majd válassza a Helyi fájlból és a Zip-fájl lehetőséget.

  5. Nyissa meg a Mentett adathalmazok listát, kattintson a Saját adathalmazok elemre, és ellenőrizze, hogy elérhető-e a tömörített fájl.

  6. Húzza a kísérletbe, kattintson a jobb gombbal az adathalmazra, és válassza a Vizualizáció lehetőséget a tömörített mappában található fájlok megtekintéséhez. A Tartalom listában látható fájlnevek azok a nevek, amelyekre hivatkoznia kell a csomag telepítésekor.

    Tegyük fel például, hogy feltöltött egy fájlt NewRPackage.zip, amely három R-csomagot tartalmaz , 001.zip002.zipés 003.zip. Az Adathalmazok listában az adathalmaz neve a következő lesz NewRPackage.zip: , tartalommal 001.zip, 002.zipés 003.zip.

  7. Csatlakozás az adatkészletet (NewRPackage.zip) a szkriptcsomag bemeneti portjához.

    Ekkor a rendszer kibontja a külső tömörített mappát a munkaterület tesztkörnyezetébe, az elérési úton src. Most a következő csomagokat érheti el:

    • src\001.zip
    • src\002.zip
    • src\003.zip
  8. Az R-csomagok telepítéséhez csomagolja ki az egyes csomagokat a zip-fájlból, majd töltse be a tartalmazott kódtárat.

    Tegyük fel például, hogy a fájl src\001.zip tartalmazza az egyéni R-csomagot code001, a következő szkriptet kell futtatnia:

    # 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. Ismételje meg a telepítési folyamatot minden szükséges csomag esetében.

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

    Megjegyzés

    Ha több telepített csomag között van függőség, először telepítse a szükséges csomagokat, vagy hibaüzenet jelenhet meg.

Az összes R-csomag telepítését a kísérlet részeként kell elvégezni, hogy az összes szükséges csomag szerepeljen a munkaterületen, amelyet a rendszer a kísérlet végrehajtásakor az Azure-feladatsorba küld.

A munkaterületen lévő csomagok nem maradnak meg a kísérlet futtatása vagy a munkamenet bezárása után. A tömörített fájlként feltöltött csomagok azonban gyorsan kinyerhetők és használhatók a kísérlet újrafuttatásakor.

Technikai megjegyzések

Az R teljesítményének optimalizálása a Studióban (klasszikus)

A jelenlegi alapértelmezett memória 14 GB. Memóriakihasználtságú hibaüzenet jelenhet meg, ha nagyon nagy adatkereteket próbál manipulálni az R-szkript végrehajtása modullal.

Az R-szkript által használt memória mennyiségének növeléséhez használhat egy ehhez hasonló sort a szkript elején:

memory.limit(56000)  

A felhasználó által megadott R-kódot egy 64 bites R-értelmező futtatja, amely egy 56 GB RAM-mal rendelkező A8 virtuális gép használatával fut az Azure-ban. Az R-kód sebességének növeléséhez használhatja az előre telepített Fordítócsomagban biztosított igény szerinti fordítót.

Adattípusok konvertálása az R és a Studio között (klasszikus)

Az alábbi táblázat bemutatja, hogyan felelnek meg az R adattípusai az Machine Learning adattípusainak:

R-típus Studio (klasszikus) típus
Egész szám Egész szám
Dupla Dupla
Complex Complex

Ezt a típust csak a modulok egy részhalmaza támogatja.
Logikai Logikai
Karakter Sztring
Nyers Nem támogatott
Difftime időtartam
factor kategorikus
data.frame Adatkészlet

Az R adattípusú lists oszlopai nem konvertálhatók, mert az ilyen oszlopok elemei esetleg különböző típusúak és méretűek lehetnek. Az alábbi érvényes R-kód például meghiúsul, ha az R-szkript végrehajtása modulban használják:

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

Dátum/idő értékek konvertálása

Machine Learning Studio (klasszikus) más dátum/idő típusokat használ, mint az R. Ha az elemzett adatok dátum- vagy időadatokat tartalmaznak, a meglévő R-kód Studio-ba történő (klasszikus) portolásakor a következő konverziós követelményekkel kell tisztában lennie:

Konvertálás Machine Learning Studióból (klasszikus) R-re

A DateTime oszlopok POSIXct vektorokká lesznek konvertálva. Az eredményként kapott vektor minden egyes eleme 1970-01-01T00:00:00 óta másodpercek száma.

Ebben az átalakításban nem történik időzóna-módosítás.

Konvertálás R-ről Studióra (klasszikus)

A POSIXct vektorok az UTC időzóna DateTime oszlopaivá alakulnak.

Például a 2011-03-27 01:30:00 PDT 2011-03-27T08:30:00Z-ra lesz konvertálva, ahol a Z azt jelzi, hogy az idő UTC-ben van.

Tipp

Ha az R-szkript végrehajtása modulban időbélyegeket használ, explicit módon kell megadnia az időbélyegeket. Az Execute R Script modulban üzemeltetett R-értelmező nem rendelkezik hozzáféréssel a helyi időzóna-definíciókhoz.

Hálózatkezelés

Biztonsági okokból az Azure letiltja az Összes R-kódból vagy R-kódba irányuló hálózatkezelést az Execute R Script modulokban. Emellett nagyon kevés kivétellel a rendszer letiltja a helyi portokhoz való hozzáférést az Execute R-szkriptből .

Párhuzamos végrehajtás

Jelenleg a több szálból álló párhuzamos végrehajtás nem támogatott.

Várt bemenetek

Név Típus Description
Adatkészlet1 Adattábla Bemeneti adatkészlet 1
Adatkészlet2 Adattábla Bemeneti adatkészlet 2
Szkriptcsomag Irányítószám R-források halmaza

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
R-szkript Bármelyik StreamReader Adjon meg egy olyan értéket StreamReader , amely az R-szkript forrásaira mutat.
Véletlenszerű mag >=0 Egész szám Adjon meg egy véletlenszerű magértéket az R-környezetben való használathoz.

Egyenértékű a \"set.seed(value)\".

Ezt a paramétert nem kötelező megadni.

Kimenetek

Név Típus Description
Eredményadatkészlet Adattábla Kimeneti adatkészlet
R-eszköz Adattábla Konzolkimenet és PNG grafikus eszköz az R-értelmezőből

Lásd még

R nyelvi modulok
R-modell létrehozása
Modulkategóriák és leírások
Python nyelvi modulok