Módulos del lenguaje R

En este artículo se enumeran los módulos de Azure Machine Learning Studio (clásico) que admiten la ejecución de código de R. Estos módulos hacen que sea más fácil publicar modelos de R en producción y usar la experiencia de la comunidad del lenguaje R para solucionar problemas del mundo real.

Nota

Se aplica a: machine learning Studio (clásico)

Este contenido solo pertenece a Studio (clásico). Se han agregado módulos similares de arrastrar y colocar al diseñador de Azure Machine Learning. Obtenga más información en este artículo comparativa de las dos versiones.

En este artículo también se describen algunos requisitos generales para usar R en Machine Language Studio (clásico) y se enumeran los problemas conocidos y las sugerencias.

Lista de módulos

La categoría módulos de lenguaje R incluye los siguientes módulos:

Requisitos al usar R

Antes de usar el script de R en Machine Learning Studio (clásico), observe los siguientes requisitos:

  • Si ha importado datos que usan CSV u otros formatos, no podrá leer los datos directamente en formato CSV desde el código de R. En su lugar, use convertir en conjunto de datos para preparar los datos, antes de usarlo como entrada para un módulo de R.

  • Al adjuntar cualquier conjunto de datos de Machine Learning como entrada a un módulo de R, el conjunto de datos se carga automáticamente en el área de trabajo de R como una trama de datos, con el nombre de variable DataSet.

    Sin embargo, puede definir tramas de datos adicionales o cambiar el nombre de la variable de conjunto de datos predeterminada en el script de R.

  • Los módulos de R se ejecutan en un entorno protegido y aislado dentro de su área de trabajo privada. En el área de trabajo, puede crear tramas de datos y variables para usarlas en varios módulos.

    Sin embargo, no puede cargar tramas de datos de R desde un área de trabajo diferente o leer variables creadas en otra área de trabajo, incluso si esa área de trabajo está abierta en una sesión de Azure. Además, no puede usar módulos que tengan una dependencia de Java o que requieran acceso directo a la red.

Optimización de las tareas de puntuación de R

La implementación de R en el entorno de Machine Learning Studio (clásico) y del área de trabajo incluye dos componentes principales. Un componente coordina la ejecución del script y el otro proporciona acceso a datos de alta velocidad y puntuación. El componente de puntuación está optimizado para mejorar la escalabilidad y el rendimiento.

Por lo tanto, las áreas de trabajo de R en Machine Learning Studio (clásico) también admiten dos tipos de tareas de puntuación, cada una optimizada para requisitos diferentes. Normalmente, se usa la puntuación para cada archivo al compilar un experimento. Normalmente, se usa el servicio de solicitud-respuesta (RRS) para una puntuación muy rápida, cuando se tiene una puntuación como parte de un servicio Web.

Compatibilidad con paquetes y versiones de R

Machine Learning Studio (clásico) incluye más de 500 de los paquetes de R más populares. Los paquetes de R que puede seleccionar dependen de la versión de R que seleccione para el experimento:

  • CRAN R
  • Microsoft R Open (MRO 3.2.2 o MRO 3.4.4)

Siempre que cree un experimento, debe elegir una única versión de R en la que se ejecutará para todos los módulos del experimento.

Lista de paquetes por versión

Para obtener una lista de los paquetes que se admiten actualmente en Machine Learning, consulte paquetes de R admitidos por Azure machine learning.

También puede Agregar el código siguiente a un módulo Ejecutar script de R en el experimento y ejecutarlo para obtener un conjunto de elementos que contenga los nombres y las versiones de los paquetes. Asegúrese de establecer la versión de R en las propiedades del módulo para generar la lista correcta para el entorno deseado.

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

Importante

Los paquetes que se admiten en Machine Language Studio (clásico) cambian con frecuencia. Si tiene dudas sobre si se admite un paquete de R, use el ejemplo de código R proporcionado para obtener la lista completa de paquetes en el entorno actual.

Extender experimentos mediante el lenguaje R

Hay muchas maneras por las que puede ampliar su experimento mediante el script de R personalizado o agregando paquetes de R. Estas son algunas ideas para comenzar:

  • Usar código de R para realizar operaciones matemáticas personalizadas. Por ejemplo, hay paquetes de R para resolver ecuaciones diferenciales, generar números aleatorios o ejecutar simulaciones de Monte Carlo.

  • Aplicar transformaciones personalizadas a los datos. Por ejemplo, puede usar un paquete de R para realizar la interpolación en los datos de serie temporal o realizar un análisis lingüístico.

  • Trabajar con orígenes de datos diferentes. Los módulos de scripts de R admiten un conjunto adicional de entradas, que pueden incluir archivos de datos, en formato comprimido. Puede usar archivos de datos comprimidos, junto con paquetes de R diseñados para estos orígenes de datos, con el fin de simplificar los datos jerárquicos en una tabla de datos sin formato. También puede usarlos para leer datos de Excel y otros formatos de archivo.

  • Usar métricas personalizadas para la evaluación. Por ejemplo, en lugar de usar las funciones proporcionadas en evaluar, puede importar un paquete de R y, a continuación, aplicar sus métricas.

En el ejemplo siguiente se muestra el proceso general de cómo puede instalar nuevos paquetes y usar código R personalizado en el experimento.

División de columnas mediante R

A veces, los datos requieren una manipulación extensa para extraer características. Supongamos que tiene un archivo de texto que contiene un ID. seguido de valores y notas, separados por espacios. O bien, supongamos que el archivo de texto contiene caracteres que no son compatibles con Machine Language Studio (clásico).

Hay varios paquetes de R que proporcionan funciones especializadas para estas tareas. El paquete de biblioteca splitstackshape contiene varias funciones útiles para dividir varias columnas, aunque cada columna tenga un delimitador diferente.

En el ejemplo siguiente se muestra cómo instalar los paquetes necesarios y separar las columnas. Agregaría este código al módulo Ejecutar script de R .

#install dependent packages  
install.packages("src/concat.split.multiple/data.table_1.9.2.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.data.table <- library("data.table", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
install.packages("src/concat.split.multiple/plyr_1.8.1.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.plyr <- library("plyr", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
install.packages("src/concat.split.multiple/Rcpp_0.11.2.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.Rcpp <- library("Rcpp", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
install.packages("src/concat.split.multiple/reshape2_1.4.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.reshape2 <- library("reshape2", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
#install actual packages  
install.packages("src/concat.split.multiple/splitstackshape_1.2.0.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.splitstackshape <- library("splitstackshape", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
#Load installed library  
library(splitstackshape)  
  
#Use library method to split & concat  
data <- concat.split.multiple(maml.mapInputPort(1), c("TermsAcceptedUserClientIPAddress", "EmailAddress"), c(".", "@"))  
  
#Print column names to console  
colnames(data)  
  
#Redirect data to output port  
maml.mapOutputPort("data")  

Recursos adicionales

Comience con este tutorial que describe cómo crear un módulo de R personalizado:

En este artículo se describen detalladamente las diferencias entre los dos motores de puntuación y se explica cómo puede elegir un método de puntuación al implementar el experimento como un servicio Web:

Este experimento en el Azure AI Gallery muestra cómo puede crear un módulo de R personalizado que realiza el entrenamiento, la puntuación y la evaluación:

En este artículo, publicado en R-bloggers, se muestra cómo puede crear su propio método de evaluación en Machine Learning:

Más ayuda con R

Este sitio proporciona una lista clasificada de paquetes que se pueden buscar por palabras clave:

Para ver ejemplos de código de R adicionales y recibir ayuda relacionada con R y sus aplicaciones, consulte estos recursos:

Vea también