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 gépi tanulási projektek ML Studióból (klasszikus) Azure Machine Learning való áthelyezéséről olvashat.
- További információ a Azure Machine Learning.
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.
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.
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.
Í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.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)
.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ó.
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.frame
a 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.frame
adja 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.
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.
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.
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.
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.
- Hozza létre az adatfájlt CSV formátumban, és adja neki a "mydatafile.csv" nevet.
- Hozzon létre egy .ZIP fájlt, és adja hozzá a CSV-fájlt az archívumhoz.
- 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.
- 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!
- 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.
Tegyük fel, hogy a csomagok és
arulesViz
aarules
csomagok már hozzá lettek adva a munkaterülethez.Csatlakozás a feltöltött .ZIP fájlt az R-szkript végrehajtásamodul harmadik bemeneti portjára.
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).
Töltse fel a tárat tartalmazó tömörített fájlt a
e1071
munkaterületre.Csatlakozás a feltöltött .ZIP fájlt az R-szkript végrehajtásamodul harmadik bemeneti portjára.
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.
Adja hozzá az R-szkript végrehajtása parancsot a kísérlethez.
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");
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.
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.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.
Í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.
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).
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.
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.
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.
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.
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.zip
002.zip
és003.zip
. Az Adathalmazok listában az adathalmaz neve a következő leszNewRPackage.zip
: , tartalommal001.zip
,002.zip
és003.zip
.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
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-csomagotcode001
, 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)
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