Módulos de Linguagem R

Este artigo lista os módulos no Azure Machine Learning Studio (clássico) que suportam a execução do código R. Estes módulos facilitam a publicação de modelos R em produção e a utilização da experiência da comunidade linguística R para resolver problemas no mundo real.

Nota

Aplica-se a: Machine Learning Studio (clássico)

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Este artigo também descreve alguns requisitos gerais para a utilização de R no Machine Language Studio (clássico), e lista questões e dicas conhecidas.

Lista de módulos

A categoria módulos de linguagem R inclui os seguintes módulos:

  • Executar R Script: Executa um script R a partir de uma experiência de Machine Learning.
  • Criar Modelo R: Cria um modelo R utilizando recursos personalizados.

Requisitos ao utilizar R

Antes de utilizar o script R no Machine Learning Studio (clássico), respeite os seguintes requisitos:

  • Se importou dados que utilizam CSV ou outros formatos, não é possível ler os dados diretamente no formato CSV a partir do seu código R. Em vez disso, utilize converter para conjunto de dados para preparar os dados, antes de os utilizar como entrada para um módulo R.

  • Quando anexa qualquer conjunto de dados de Machine Learning como entrada num módulo R, o conjunto de dados é automaticamente carregado no espaço de trabalho R como um quadro de dados, com o conjunto de dadosde nome variável .

    No entanto, pode definir quadros de dados adicionais ou alterar o nome da variável de conjunto de dados padrão dentro do seu script R.

  • Os módulos R funcionam num ambiente protegido e isolado dentro do seu espaço de trabalho privado. Dentro do seu espaço de trabalho, pode criar quadros de dados e variáveis para utilização por vários módulos.

    No entanto, não é possível carregar quadros de dados R de um espaço de trabalho diferente, ou ler variáveis criadas num espaço de trabalho diferente, mesmo que esse espaço de trabalho esteja aberto numa sessão de Azure. Além disso, não é possível utilizar módulos que tenham uma dependência java, ou que exijam acesso direto à rede.

Otimização para tarefas de pontuação R

A implementação de R no Machine Learning Studio (clássico) e ambiente de espaço de trabalho inclui dois componentes principais. Um componente coordena a execução do script, e o outro fornece acesso de dados de alta velocidade e pontuação. O componente de pontuação está otimizado para aumentar a escalabilidade e o desempenho.

Por isso, os espaços de trabalho R no Machine Learning Studio (clássico) também suportam dois tipos de tarefas de pontuação, cada uma otimizada para diferentes requisitos. Normalmente, usa-se a pontuação numa base de ficheiro por ficheiro quando está a construir uma experiência. Normalmente, utiliza o serviço de resposta a pedidos (RRS) para uma pontuação muito rápida, quando está a pontuar como parte de um serviço web.

Suporte ao pacote R e à versão

O Machine Learning Studio (clássico) inclui mais de 500 dos pacotes R mais populares. Os pacotes R que pode selecionar dependem da versão R selecionada para a sua experiência:

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

Sempre que criar uma experiência, deve escolher uma única versão R para executar, para todos os módulos da sua experiência.

Lista de pacotes por versão

Para obter uma lista dos pacotes que são atualmente suportados em Machine Learning, consulte os pacotes R Suportados pela Azure Machine Learning.

Também pode adicionar o seguinte código a um módulo executo R Script na sua experiência, e executá-lo para obter um conjunto de dados contendo nomes de pacotes e versões. Certifique-se de definir a versão R nas propriedades do módulo para gerar a lista correta para o ambiente pretendido.

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

Importante

Os pacotes que são suportados no Machine Language Studio (clássico) mudam frequentemente. Se tiver dúvidas sobre se um pacote R é suportado, utilize a amostra de código R fornecida para obter a lista completa de embalagens no ambiente atual.

Prolongar as experiências utilizando a linguagem R

Existem muitas maneiras de prolongar a sua experiência usando script R personalizado ou adicionando pacotes R. Aqui estão algumas ideias para começar:

  • Use código R para realizar operações de matemática personalizadas. Por exemplo, existem pacotes R para resolver equações diferenciais, gerar números aleatórios ou executar simulações de Monte Carlo.

  • Aplicar transformações personalizadas para dados. Por exemplo, pode utilizar um pacote R para efetuar a interpolação em dados da série de tempo ou realizar análises linguísticas.

  • Trabalhe com diferentes fontes de dados. Os módulos de script R suportam um conjunto adicional de entradas, que podem incluir ficheiros de dados, em formato zipped. Pode utilizar ficheiros de dados com fecho, juntamente com pacotes R concebidos para essas fontes de dados, para aplainar dados hierárquicos numa tabela de dados plana. Pode também usá-los para ler dados do Excel e outros formatos de ficheiros.

  • Use métricas personalizadas para avaliação. Por exemplo, em vez de utilizar as funções fornecidas na Avaliação,pode importar um pacote R e, em seguida, aplicar as suas métricas.

O exemplo a seguir demonstra o processo geral de como pode instalar novos pacotes e utilizar código R personalizado na sua experiência.

Colunas divididas usando R

Por vezes, os dados requerem uma manipulação extensiva para extrair funcionalidades. Suponha que tenha um ficheiro de texto que contenha um ID seguido de valores e notas, todos separados por espaços. Ou suponha que o seu ficheiro de texto contém caracteres que não são suportados pelo Machine Language Studio (clássico).

Existem vários pacotes R que fornecem funções especializadas para tais tarefas. O pacote da biblioteca splitstackshape contém várias funções úteis para dividir várias colunas, mesmo que cada coluna tenha um delimiter diferente.

A amostra que se segue ilustra como instalar as embalagens necessárias e dividir colunas separadas. Adicionaria este código ao módulo executo R Script.

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

Comece com este tutorial que descreve como construir um módulo R personalizado:

Este artigo discute em detalhe as diferenças entre os dois motores de pontuação e explica como pode escolher um método de pontuação quando implementa a sua experiência como serviço web:

Esta experiência na Galeria Azure AI demonstra como pode criar um módulo R personalizado que faz treino, pontuação e avaliação:

Este artigo, publicado no R-Bloggers, demonstra como pode criar o seu próprio método de avaliação em Machine Learning:

Mais ajuda com R

Este site fornece uma lista categorizada de pacotes que pode pesquisar por palavras-chave:

Para amostras adicionais de código R e ajuda com R e suas aplicações, consulte estes recursos:

Ver também