Ejecución script de R

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Ejecuta un script de R desde un experimento de Machine Learning Studio (clásico)

Categoría: Módulos de lenguaje R

Nota

Se aplica a: solo Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Ejecutar script R en Machine Learning Studio (clásico) para llamar y ejecutar código de R en los experimentos.

Al agregar código de R a este módulo, puede realizar una variedad de tareas personalizadas que no están disponibles en Studio (clásico). Por ejemplo:

  • Crear transformaciones de datos personalizadas
  • Uso de sus propias métricas para evaluar predicciones
  • Creación de modelos mediante algoritmos que no se implementan como módulos independientes en Studio (clásico)

Versiones de R admitidas en Studio (clásico)

Studio (clásico) admite la distribución típica de R que está disponible en CRAN y Microsoft R Open (MRO), que incluye todos los paquetes base de R, además de los paquetes Revo.

Puede especificar qué versión de R se va a usar en un experimento. Sin embargo, no puede instalar ninguna otra versión de R en el área de trabajo.

Se recomienda determinar qué paquetes necesita antes de elegir una distribución de R. Algunos paquetes no son compatibles con CRAN R y Microsoft R Open.

Nota

Actualmente, el módulo Crear modelo de R se limita a una versión específica de R. Por lo tanto, si usa un modelo de R personalizado en el experimento, los módulos Ejecutar script R del mismo experimento también deben usar la misma versión de R. Busque la versión de R compatible en el siguiente artículo, Paquetes de R compatibles con Machine Learning Studio (clásico).

Paquetes de R admitidos

El entorno de R en Machine Learning tiene más de 500 paquetes de R ya instalados. Por supuesto, no todos se cargan de forma predeterminada, pero puede cargarlos fácilmente como parte del código de R.

Para obtener una lista de todos los paquetes actuales, agregue el código siguiente a un módulo Execute R Script (Ejecutar script R) y ejecute el módulo.

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

En este tema se enumeran los paquetes que se admiten en Machine Learning y su compatibilidad con CRAN R y Microsoft R Open, consulte Paquetes de R compatibles con Machine Learning Studio (clásico).

Instalación de nuevos paquetes de R

Los nuevos paquetes de R se instalan en el área de trabajo mediante el módulo Execute R Script (Ejecutar script R). Los paquetes deben cargarse en formato comprimido. Cuando el experimento se carga en un entorno en tiempo de ejecución de Azure, los paquetes se desempaquetan y se agregan al entorno de R en el área de trabajo del experimento. Para obtener más información, consulte Instalación de nuevos paquetes de R.

Los paquetes que se han desempaquetado no se conservan en el área de trabajo cuando el experimento no se está ejecutando. Por este motivo, los paquetes de R adicionales que planee usar deben estar disponibles en el área de trabajo o en Azure Storage, en formato comprimido.

Los paquetes no se pueden compartir entre instancias independientes del módulo Ejecutar script R , ya que cada módulo podría cargarse en un contenedor diferente en tiempo de ejecución. Sin embargo, puede compartir objetos de R entre módulos exponiendolos como conjuntos de datos. Para obtener más información, consulte Paso de objetos de R entre módulos.

Experimentos de ejemplo

Hay muchos ejemplos de script de R personalizado en azure AI Gallery:

  • Rendimiento de los alumnos: usa un script de R personalizado para combinar los resultados de las evaluaciones de varios modelos en un único conjunto de datos. En este ejemplo también se usa el código de R en el módulo Ejecutar script de R para procesar 16 columnas dependientes del tiempo.

  • Cáncer de mama: usa código personalizado en el módulo Ejecutar script R para replicar ejemplos positivos y combinar métricas.

  • Previsión de series temporales: en este ejemplo se usa Ejecutar script R para generar métricas personalizadas y, a continuación, se combinan en una sola tabla mediante el módulo Agregar filas .

Procedimiento para configurar Ejecutar script R

Para configurar el módulo Ejecutar script de R, debe proporcionar un conjunto de entradas opcionales y el código R que se ejecutará en el área de trabajo.

También puede agregar archivos que contengan código R adicional si los prepara en un archivo de archivo comprimido para los datos adjuntos a la entrada del paquete de scripts .

Para instalar paquetes adicionales, inclúyelos en el archivo comprimido.

  1. Agregue el módulo Ejecutar script R al experimento. Puede encontrar este módulo en Machine Learning Studio (clásico), en el grupo Módulos de lenguaje R.

  2. Conecte cualquier entrada que necesite el script. Las entradas pueden incluir datos, paquetes de R que agregó al área de trabajo en formato de archivo comprimido y código de R adicional.

    • Dataset1: la primera entrada es donde se adjunta el conjunto de datos principal (opcional). El conjunto de datos de entrada debe tener formato de archivo CSV, TSV o ARFF, o bien puede conectar un conjunto de datos de Machine Learning.

    • Dataset2: la segunda entrada (opcional) admite la adición de un segundo conjunto de datos. Este conjunto de datos también debe tener formato de archivo CSV, TSV o ARFF, o bien puede conectar un conjunto de datos de Machine Learning.

    • Paquete de scripts: la tercera entrada, que es opcional, toma un archivo en el formato .ZIP. El archivo ZIP puede contener varios archivos y varios tipos de archivo. Por ejemplo, el archivo comprimido podría contener código de R en un archivo de script, objetos de R para usarlos por el script, un paquete de R que se incluyó en .ZIP formato o conjuntos de datos en uno de los formatos admitidos.

  3. Escriba Script de R en el cuadro de texto Script de R . Esta es la manera más fácil de trabajar con los conjuntos de datos en los nodos de entrada.

    Para ayudarle a empezar, el cuadro de texto Script de R se rellena previamente con el siguiente código de ejemplo, que puede editar o reemplazar.

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

    Para obtener más información sobre cómo usar entradas y escribir en salidas, consulte Ejemplos de código de R en este tema.

    Nota

    El código de R que se ejecuta correctamente en herramientas externas podría necesitar pequeños cambios para ejecutarse en un experimento de Azure ML. Por ejemplo, los datos de entrada que se proporcionan en formato CSV deben convertirse explícitamente en un conjunto de datos para que pueda usarlos en su código. Los tipos de datos y columnas que se usan en el lenguaje R también difieren de algunas maneras de los tipos de datos y columnas usados en Machine Learning. Para ver más detalles, consulte la sección Notas técnicas.
    El módulo Ejecutar script de R se ejecuta en un espacio aislado del entorno de R, no se recomienda configurar conexiones HTTP/SQL en este módulo.

  4. Valor de inicialización aleatorio: escriba un valor para usarlo en el entorno de R como valor de inicialización aleatorio. Este parámetro equivale a llamar a set.seed(value) en el código de R.

  5. Versión de R: seleccione la versión de R que se va a cargar en el área de trabajo.

    • CRAN R 3.1.0: El sitio web de red completa de archivo de R es el repositorio para el lenguaje código abierto R. Para obtener más información, consulte el sitio web de CRAN.

    • Microsoft R Open 3.2.2: MRO es la distribución mejorada de R de Microsoft Corporation. Es una plataforma código abierto basada en el motor de R de código abierto y totalmente compatible con todos los paquetes, scripts y aplicaciones de R que funcionan con la misma versión de R. Sin embargo, MRO proporciona un rendimiento mejorado en comparación con la distribución estándar de R debido a su uso de bibliotecas matemáticas multiproceso de alto rendimiento. Para obtener más información, consulte Microsoft R Open.

    • No se puede instalar ninguna otra versión de R en el área de trabajo.

    • Machine Learning admite varias versiones de R, pero solo se puede usar una versión en cualquier experimento.

  6. Ejecute el experimento o seleccione el módulo Ejecutar script R y haga clic en Ejecutar seleccionado.

Results

El módulo puede devolver varias salidas.

  • Para volver a obtener un conjunto de datos, el código de R debe devolver un único data.frame de R.
  • Puede mostrar imágenes en el dispositivo gráfico de R, que se muestra en el área de registro de Machine Learning Studio (clásico).
  • Para conservar imágenes, puede escribirlas en un archivo o serializarlas en un formato tabular.
  • Puede guardar objetos en el área de trabajo.
  • Los mensajes estándar y los errores de R se devuelven al registro del módulo.

(1) Conjunto de datos de resultados

Esta salida contiene la trama de datos generada por el código de R en el módulo.

Solo puede generar una trama de datos. Otros objetos tabulares se deben convertir en una trama de datos mediante funciones de R. La salida de la trama de datos por el código R del módulo se convierte automáticamente en el formato de tabla de datos interno.

  • Para comprobar que el objeto devuelto es compatible con Studio (clásico), use is.data.frame, que debe devolver True.

  • Para devolver otros objetos de R, pruebe a serializar el objeto en una matriz de bytes o usar una función que devuelva los datos deseados como un data.frame.

(2) Dispositivo R

El dispositivo R admite la salida de la consola (salida estándar y error estándar) y la visualización de gráficos PNG mediante el intérprete de R.

  • Para ver los mensajes enviados a la consola de R (salida estándar y error estándar), haga clic con el botón derecho en el módulo una vez que haya terminado de ejecutarse, seleccione Dispositivo R y seleccione Visualizar.

  • Para ver los gráficos generados en el puerto del dispositivo R, haga clic con el botón derecho en el módulo una vez que haya terminado de ejecutarse, seleccione Dispositivo R y seleccione Visualizar.

Por ejemplo, la siguiente imagen se genera con solo unas pocas líneas de código de R.

Example word cloud

Puede encontrar estos ejemplos y relacionados en la Galería de Azure AI.

  • Para guardar imágenes generadas por el módulo Ejecutar script R , haga clic con el botón derecho en la imagen y guarde una copia local. O bien, puede usar una llamada a una de las funciones del dispositivo gráfico de R para escribir el archivo de imagen en la cuenta de Azure Blob Storage asociada al experimento, como se describe en este ejemplo.

Ejemplos de scripts de R y sugerencias de R

Hay muchas formas de ampliar el experimento mediante el script de R personalizado. En esta sección se proporciona código de ejemplo para algunas tareas comunes.

Adición de un script de R como entrada

El módulo Ejecutar script R admite el uso de archivos de script de R arbitrarios como entradas, siempre que se preparen de antemano y se carguen en el área de trabajo como parte del archivo ZIP.

  1. Para cargar un archivo ZIP que contiene el código de R en el área de trabajo, haga clic en Nuevo, seleccione Conjunto de datosy, a continuación, seleccione From local file (De un archivo local) y la opción Archivo ZIP.

  2. Después de cargar el paquete comprimido en Studio (clásico), compruebe que el archivo comprimido está disponible en la lista Conjuntos de datos guardados y, a continuación, conecte el conjunto de datos al puerto de entrada del conjunto de scripts.

  3. Si el archivo comprimido contiene cualquier paquete de R que aún no esté instalado en Machine Learning Studio (clásico), debe instalar el paquete de R como parte del código personalizado en el módulo Ejecutar script R. Todos los archivos que se encuentran en el archivo ZIP están disponibles durante el tiempo de ejecución del experimento.

    Si el archivo del conjunto de scripts contiene una estructura de directorios, esta se conserva. Sin embargo, debe modificar el código para anteponer el directorio src a la ruta de acceso.

Generación de imágenes, modelos y otros objetos

Si necesita generar una imagen o cualquier otro objeto de R arbitrario, puede serializarlo en una matriz de bytes y, a continuación, como data.frame, como se muestra en este ejemplo:

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

Graph marcos de datos de la https://igraph.org/r/ biblioteca no admiten la serialización como trama de datos. En su lugar, use la get.data.frame función del igraph paquete para colocar la información de borde y vértice en una trama de datos.

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

Después, podría devolver el objeto de grafo como data.frame que puede obtener del módulo Ejecutar script R .

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

Lectura de la entrada y escritura en la salida

En el ejemplo siguiente se muestra cómo usar los puertos de entrada y salida. Lee los datos de entrada como una tabla y anexa una copia de la tabla a sí misma, duplicando eficazmente el tamaño de la tabla. El resultado se envía al puerto de salida.

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

Leer un archivo ZIP como entrada

En este ejemplo se muestra cómo agregar un conjunto de datos a Machine Learning Studio (clásico) en formato comprimido y, a continuación, usar los datos como entrada para el módulo Ejecutar script R.

  1. Cree el archivo de datos en formato CSV y asígnele el nombre "mydatafile.csv".
  2. Cree un archivo .ZIP y agregue el archivo CSV al archivo.
  3. Upload el archivo comprimido en el área de trabajo de Machine Learning tal y como se describe aquí: Desempaquetar conjuntos de datos comprimidos.
  4. Conecte el conjunto de datos resultante en la entrada ScriptBundle del módulo Ejecutar script R. ¡En otras palabras, no desempaquela aún!
  5. Con el código siguiente, lea los datos CSV del archivo comprimido. Especifique la codificación que se usa en el archivo de datos si es necesario, para evitar errores más adelante.
mydataset=read.csv("src/newdata.csv",encoding="UTF-8");  
nrow(mydataset);  
ncol(mydataset);  
# Map new dataset to the first output port  
maml.mapOutputPort("mydataset");  

Nota

Todos los datos pasados al módulo Ejecutar script R se convierten en el formato para su uso con el data.frame código de R. Esto se aplica a los datos compatibles con los DataTable format usados por Machine Learning, incluidos los archivos CSV, los archivos ARFF, etc.

Replicar filas

En este ejemplo se muestra cómo replicar las muestras positivas en un conjunto de datos en un factor de 20 para equilibrar la muestra.

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

Llamar a un aprendiz personalizado basado en el paquete Arules

Puede instalar nuevos paquetes de R en el área de trabajo de Machine Learning cargandolos como un archivo .ZIP, como se describe aquí. En el código siguiente se muestra cómo usar el paquete cargado.

  1. Suponga que los arules paquetes y arulesViz ya se han agregado al área de trabajo.

  2. Conectar el archivo .ZIP cargado en el tercer puerto de entrada del módulo Ejecutar script R.

  3. En el cuadro de texto Script de R , use lo siguiente para llamar al algoritmo de reglas de asociación a priori proporcionado por el paquete Arulesde lenguaje R y aplicar el aprendiz en una tarea de análisis de cesta de la compra.

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)

Llamar a un aprendiz naïve bayes personalizado

En este ejemplo se muestra cómo llamar a una biblioteca de R que no está incluida en Studio (clásico).

  1. Upload un archivo comprimido que contiene la biblioteca en el e1071 área de trabajo.

  2. Conectar el archivo .ZIP cargado en el tercer puerto de entrada del módulo Ejecutar script R.

  3. En el cuadro de texto Script de R , use el código siguiente para implementar el aprendiz Naïve Bayes.

    library(e1071)  
    features <- get.feature.columns(dataset)  
    labels   <- get.label.column(dataset)  
    train.data <- data.frame(features, labels)  
    feature.names <- get.feature.column.names(dataset)  
    names(train.data) <- c(feature.names, "Class")  
    model <- naiveBayes(Class ~ ., train.data)    
    

Llamar a un marcador Naïve Bayes personalizado

Si tiene un modelo existente creado por la e1071 biblioteca, puede llamar a un marcador personalizado proporcionado por la e1071 biblioteca.

Sin embargo, para realizar la puntuación en una instancia independiente del módulo Ejecutar script R , debe proporcionar el archivo comprimido que contiene la e1071 biblioteca como entrada también para el módulo de puntuación y cargar la biblioteca. Esto se debe a que cada módulo se ejecuta de forma independiente en un contenedor.

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

Todos los módulos de R que se incluyen dentro de un único experimento deben usar la misma versión del entorno de ejecución de R. No se pueden mezclar versiones de R, como el uso de CRANR en un módulo y Microsoft R Open en otro.

Escribir un archivo de gráficos

Aunque Studio (clásico) admite la visualización de archivos PNG mediante el puerto de salida del dispositivo R, es posible que desee generar los resultados como un archivo PDF en un blob en Azure Storage usar para los informes.

En este ejemplo se muestra cómo usar execute R Script para generar un gráfico como un archivo PDF.

  1. Agregue el script Execute R (Ejecutar script R) al experimento.

  2. Cree el archivo PDF básico como parte del script de R y devuelva la cadena codificada en Base64 del archivo PDF desde el módulo Ejecutar script R .

    d <- maml.mapInputPort(1)  
    d$dteday <- as.numeric(d$dteday)  
    pdf()  
    plot(d)  
    dev.off()  
    library(caTools)  
    b64ePDF <- function(filename) {  
                maxFileSizeInBytes <- 5 * 1024 * 1024 # 5 MB  
                return(base64encode(readBin(filename, "raw", n = maxFileSizeInBytes)))  
    }  
    
    d2 <- data.frame(pdf = b64ePDF("Rplots.pdf"))  
    
    maml.mapOutputPort("d2");    
    
  3. Pase esta salida a un módulo Exportar datos y guarde los valores binarios en Azure Blob Storage.

Pasar objetos R entre módulos Ejecutar script R

Puede pasar objetos R entre instancias del módulo Ejecutar script R mediante el mecanismo de serialización interno. En este ejemplo se da por supuesto que quiere mover el objeto de R denominado A entre dos módulos Ejecutar script R.

  1. Agregue el primer módulo Execute R Script (Ejecutar script R) al experimento y escriba el código siguiente en el cuadro de texto Script de R para crear un objeto A serializado como columna en la tabla de datos de salida del módulo:

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

    La conversión explícita al tipo entero es necesaria porque la función de serialización genera datos en el formato RRaw, que no es compatible con Machine Learning.

  2. Agregue una segunda instancia del módulo Ejecutar script R y conéctelo al puerto de salida del módulo anterior.

  3. Escriba el siguiente código en el cuadro de texto Script de R para extraer el objeto A de la tabla de datos de entrada.

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

Instalación de paquetes de R adicionales

Puede agregar paquetes de R que no están instalados de forma predeterminada en Machine Learning. La adición de nuevos paquetes requiere estos pasos:

  • Obtenga los archivos binarios de Windows para el paquete, en formato comprimido.
  • Comprima el paquete deseado y las dependencias en un archivo de archivo comprimido nuevo con la extensión .ZIP.
  • Upload el archivo comprimido como un conjunto de datos en el área de trabajo.
  • Conectar el nuevo conjunto de datos al módulo Ejecutar script de R.
  • Instale el paquete mediante el script de R en un módulo.

El procedimiento siguiente agrega un nuevo paquete junto con sus dependencias.

  1. Descargue el archivo comprimido del paquete que desea importar a Machine Learning. Asegúrese de obtener la versión Windows del archivo comprimido.

    Nota

    Si ya ha extraído el paquete de R que desea usar en el área de trabajo, debe volver a comprimir el paquete o proporcionar el archivo ZIP original cuando pueda cargar el paquete de R en Studio (clásico).

  2. Compruebe si hay dependencias y si el paquete necesita otros paquetes que aún no están en Azure ML Studio (clásico), descárguelos en formato comprimido y agréguelos al archivo de archivo.

  3. Haga clic con el botón derecho en el archivo comprimido del paquete que desea cargar, así como sus dependencias, haga clic en Enviar a y, a continuación, seleccione Carpeta comprimida (comprimida).

    Sugerencia

    La carpeta comprimida debe contener al menos un archivo comprimido con el paquete de destino, además de archivos ZIP adicionales que contengan paquetes necesarios.

  4. Upload el único archivo ZIP que contiene todos los paquetes (así como los archivos de código de R o archivos de datos opcionales) en el área de trabajo de Studio (clásico).

    Esto le gustaría cargar un conjunto de datos: haga clic en Nuevo, haga clic en Conjunto de datos y, a continuación, seleccione Desde archivo local y la opción Archivo Zip .

  5. Abra la lista Conjuntos de datos guardados , haga clic en Mis conjuntos de datos y compruebe que el archivo comprimido está disponible.

  6. Arrástrelo al experimento, haga clic con el botón derecho en el conjunto de datos y seleccione Visualizar para ver los archivos incluidos en la carpeta comprimida. Los nombres de archivo que ve en la lista Contenido son los nombres a los que debe hacer referencia al instalar el paquete.

    Por ejemplo, supongamos que ha cargado un archivo denominado NewRPackage.zip, que contiene tres paquetes de R denominados 001.zip, 002.zipy 003.zip. En la lista Conjuntos de datos , el nombre del conjunto de datos sería NewRPackage.zip, con el contenido 001.zip, 002.zipy 003.zip.

  7. Conectar el conjunto de datos (NewRPackage.zip) al puerto de entrada del conjunto de scripts.

    En este momento, la carpeta externa comprimida se extrae en el espacio aislado del área de trabajo, en la ruta de acceso src. Ahora tendría los siguientes paquetes disponibles:

    • src\001.zip
    • src\002.zip
    • src\003.zip
  8. Para instalar los paquetes de R, extraiga cada paquete de su archivo ZIP y, a continuación, cargue la biblioteca independiente.

    Por ejemplo, suponiendo que el archivo src\001.zip contiene el paquete code001de R personalizado, ejecutaría el siguiente script:

    # 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. Repita el proceso de instalación para los paquetes necesarios.

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

    Nota

    Si hay dependencias entre varios paquetes que se están instalando, asegúrese de instalar primero los paquetes necesarios, o puede que reciba un error.

La instalación de todos los paquetes de R debe realizarse como parte del experimento para asegurarse de que todos los paquetes necesarios se incluyen en el área de trabajo que se envía a la cola de trabajos de Azure cuando se ejecuta el experimento.

Los paquetes de un área de trabajo no se conservan después de que el experimento se haya ejecutado o después de cerrar la sesión. Sin embargo, los paquetes que haya cargado como archivos comprimidos se pueden extraer y usar rápidamente al volver a ejecutar el experimento.

Notas técnicas

Optimización del rendimiento de R en Studio (clásico)

La memoria predeterminada actual es 14 GB. Puede que aparezca un mensaje de error de memoria insuficiente si trata de manipular tramas de datos muy grandes con el módulo Ejecutar script de R.

Para aumentar la cantidad de memoria utilizada por el script de R, puede usar una línea similar a la siguiente al principio del script:

memory.limit(56000)  

El código de R especificado por el usuario se ejecuta mediante un intérprete de R de 64 bits que se ejecuta en Azure mediante una máquina virtual A8 con 56 GB de RAM. Para aumentar la velocidad del código de R, puede usar el compilador Just-In-Time proporcionado en el paquete compilador preinstalado.

Conversión de tipos de datos entre R y Studio (clásico)

En la tabla siguiente se muestra cómo los tipos de datos de R corresponden a los tipos de datos de Machine Learning:

Tipo de R Tipo de Studio (clásico)
Entero Entero
Double Double
Complex Complex

Este tipo solo es compatible con un subconjunto de los módulos.
Lógicos Booleano
Carácter String
Raw No compatible
Difftime TimeSpan
factor categorías
data.frame dataset

Las columnas del tipo de datos lists de R no se pueden convertir porque los elementos de estas columnas pueden ser de distintos tipos y tamaños. Por ejemplo, se produce un error en el siguiente código de R válido si se usa en el módulo Ejecutar script R :

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

Conversión de valores datetime

Machine Learning Studio (clásico) usa diferentes tipos de fecha y hora que R. Si los datos que está analizando contienen datos de fecha u hora, debe tener en cuenta los siguientes requisitos de conversión al migrar código de R existente a Studio (clásico):

Conversión de Machine Learning Studio (clásico) a R

Las columnas de DateTime se convierten en vectores POSIXct. Sin embargo, cada elemento individual del vector resultante es un número de segundos desde 1970-01-01T00:00:00.

No se realizan ajustes de zona horaria en esta conversión.

Conversión de R a Studio (clásico)

Los vectores POSIXct se convierten en columnas de DateTime de la zona horaria UTC.

Por ejemplo, 2011-03-27 01:30:00 en la hora de verano del Pacífico se convertirá en 2011-03-27T08:30:00Z, donde la Z indica que la hora está en UTC.

Sugerencia

Al usar horas dentro del módulo Ejecutar script de R, debe especificar explícitamente las marcas de tiempo. El intérprete de R hospedado en el módulo Ejecutar script de R no tiene acceso a las definiciones de zona horaria locales.

Redes

Por motivos de seguridad, toda la comunicación por red entrante o saliente del código R en los módulos Ejecutar script de R está bloqueada por Azure. Además, con muy pocas excepciones, el acceso a los puertos locales desde el módulo Ejecutar script de R está bloqueado.

Ejecución en paralelo

Actualmente, no se admite la ejecución en paralelo con varios subprocesos.

Entradas esperadas

Nombre Tipo Descripción
DataSet1 Tabla de datos Conjunto de datos de entrada 1
Dataset2 Tabla de datos Conjunto de datos de entrada 2
Paquete de scripts Zip Conjunto de orígenes de R

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Script R Any StreamReader Especifique un StreamReader que apunte a los orígenes de scripts de R.
Valor de inicialización aleatorio >=0 Entero Definir un valor de inicialización aleatorio para usar dentro del entorno de R.

Equivalente a \"set.seed(value)\".

Este parámetro es opcional.

Salidas

Nombre Tipo Descripción
Conjunto de datos de resultado Tabla de datos Conjunto de datos de salida
Dispositivo de R Tabla de datos Dispositivo de salida de la consola y gráficos PNG del intérprete de R

Consulte también

Módulos del lenguaje R
Crear modelo R
Categorías y descripciones de módulos
Módulos de lenguaje Python