Executar Script R

Importante

O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Executa um script R de uma experiência Machine Learning Studio (clássica)

Categoria: Módulos de Linguagem R

Nota

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

Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.

Visão geral do módulo

Este artigo descreve como usar o módulo Execut R Script em Machine Learning Studio (clássico), para ligar e executar código R nas suas experiências.

Ao adicionar código R a este módulo, pode executar uma variedade de tarefas personalizadas que não estão disponíveis no Studio (clássico). Por exemplo:

  • Criar transformações de dados personalizadas
  • Use as suas próprias métricas para avaliar previsões
  • Construa modelos usando algoritmos que não são implementados como módulos autónomos em Studio (clássico)

Versões R suportadas em Studio (clássico)

O Estúdio (clássico) suporta tanto a distribuição típica de R que está disponível na CRAN, como o Microsoft R Open (MRO), que inclui todos os pacotes base R, além dos pacotes Revo.

Pode especificar qual versão de R usar numa experiência. No entanto, não é possível instalar qualquer outra versão de R no seu espaço de trabalho.

Recomendamos que determine quais os pacotes de que necessita antes de escolher uma distribuição de R. Alguns pacotes não são compatíveis com cran r e Microsoft R Open.

Nota

Atualmente, o módulo Create R Model está limitado a versão específica de R. Portanto, se utilizar um R modelo personalizado na sua experiência, quaisquer módulos Execut R Script na mesma experiência também devem usar a mesma versão R. Encontre a versão R suportada no seguinte artigo, R Packages Suportado por Machine Learning Studio (clássico).

Supported R packages (Pacotes R suportados)

O ambiente R em Machine Learning tem mais de 500 pacotes R já instalados. Claro que nem todos são carregados por defeito, mas pode facilmente carregá-los como parte do seu código R.

Para obter uma lista de todos os pacotes atuais, adicione o seguinte código a um módulo executar script R e execute o módulo.

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

Este tópico lista os pacotes suportados em Machine Learning, e a sua compatibilidade com CRAN R e Microsoft R Open, ver R Packages Suportado por Machine Learning Studio (clássico).

Instalação de novos pacotes R

Instala novos pacotes R no seu espaço de trabalho utilizando o módulo Execut R Script . As embalagens devem ser carregadas em formato zipped. Quando a sua experiência é carregada num ambiente de tempo de execução Azure, as embalagens são desembaladas e adicionadas ao ambiente R no seu espaço de trabalho de experiência. Para mais informações, consulte Como instalar novos pacotes R

Os pacotes que foram desembalados não persistem no espaço de trabalho quando a experiência não está a decorrer. Por esta razão, quaisquer pacotes R adicionais que planeie utilizar devem estar disponíveis no seu espaço de trabalho, ou no armazenamento Azure, em formato zipped.

Os pacotes não podem ser partilhados em instâncias separadas do módulo Execut R Script , porque cada módulo pode ser carregado em um recipiente diferente no tempo de execução. No entanto, pode partilhar objetos R entre módulos expondo-os como conjuntos de dados. Para obter mais informações, consulte os objetos do Passe R entre os módulos.

Experimentações de exemplo

Existem muitos exemplos de script r personalizado na Galeria Azure AI:

  • Desempenho do aluno: Utiliza script R personalizado para combinar os resultados de avaliações de vários modelos num único conjunto de dados. Esta amostra também utiliza código R no módulo Execut R Script para calcular 16 colunas dependentes do tempo.

  • Cancro da mama: Utiliza código personalizado no módulo Execut R Script para replicar exemplos positivos e combinar métricas.

  • Previsão de séries de tempo: Esta amostra utiliza executar o Script R para gerar métricas personalizadas e, em seguida, combina-as numa única tabela utilizando o módulo Add Rows .

Como configurar executar executar o script R

Para configurar o módulo Executar R Script , fornece um conjunto de entradas opcionais e o código R que deve ser executado no espaço de trabalho.

Também pode adicionar ficheiros que contenham código R adicional, se os preparar num ficheiro de arquivo com fecho para anexo à entrada do pacote Script .

Para instalar quaisquer pacotes adicionais, inclua-os no ficheiro de arquivo com fecho.

  1. Adicione o módulo executar o script R à sua experiência. Você pode encontrar este módulo em Machine Learning Studio (clássico), no grupo de Módulos de Linguagem R.

  2. Ligação quaisquer entradas necessárias pelo guião. As entradas podem incluir dados, pacotes R que adicionou ao seu espaço de trabalho em formato de ficheiro zipped e código R adicional.

    • Dataset1: A primeira entrada é onde anexa o seu conjunto de dados principal (opcional). O conjunto de dados de entrada deve ser formatado como um ficheiro CSV, TSV ou ARFF, ou pode ligar um conjunto de dados Machine Learning.

    • Dataset2: A segunda entrada (opcional) suporta a adição de um segundo conjunto de dados. Este conjunto de dados também deve ser formatado como um ficheiro CSV, TSV ou ARFF, ou pode ligar um conjunto de dados Machine Learning.

    • Script Bundle: A terceira entrada, que é opcional, toma um ficheiro no formato .ZIP. O ficheiro com fecho pode conter vários ficheiros e vários tipos de ficheiros. Por exemplo, o arquivo zipped pode conter código R num ficheiro de script, objetos R para utilização pelo script, um pacote R que por si só foi incluído no formato .ZIP, ou conjuntos de dados em um dos formatos suportados.

  3. Script do tipo R na caixa de texto do Script R . Esta é a maneira mais fácil de trabalhar com os conjuntos de dados nos nós de entrada.

    Para ajudá-lo a começar, a caixa de texto do Script R é pré-preparada com o seguinte código de amostra, que pode editar ou substituir.

    # 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 obter mais informações sobre como utilizar entradas e escrever para saídas, consulte as amostras de código R neste tópico.

    Nota

    O código R que funciona bem em ferramentas externas pode precisar de pequenas alterações para ser executado numa experiência ML Azure. Por exemplo, os dados de entrada que fornece no formato CSV devem ser explicitamente convertidos para um conjunto de dados antes de poder usá-lo no seu código. Os tipos de dados e colunas utilizados na língua R também diferem de algumas formas dos tipos de dados e colunas utilizados em Machine Learning. Para mais informações, consulte a secção Notas Técnicas .
    O módulo executante R Script está a funcionar numa caixa de areia de ambiente R, não é recomendado configurar ligações HTTP/SQL neste módulo.

  4. Semente aleatória: Digite um valor a utilizar dentro do ambiente R como o valor de sementes aleatórias. Este parâmetro equivale a chamar set.seed(value) o código R.

  5. Versão R: Selecione a versão de R para carregar no espaço de trabalho.

    • CRAN R 3.1.0: O web site da Rede De Arquivo R Abrangente é o repositório para a língua R open source. Para mais informações, consulte o web site da CRAN.

    • Microsoft R Open 3.2.2: MRO é a distribuição melhorada de R da Microsoft Corporation. É uma plataforma open source baseada no motor R open source e totalmente compatível com todos os pacotes R, scripts e aplicações que funcionam com a mesma versão de R. No entanto, a MRO proporciona um melhor desempenho em comparação com a distribuição R padrão devido à sua utilização de bibliotecas matemáticas multi-roscadas de alto desempenho. Para mais informações, consulte o Microsoft R Open.

    • Não é possível instalar qualquer outra versão de R no seu espaço de trabalho.

    • Machine Learning suporta várias versões de R, mas apenas uma versão pode ser usada em qualquer experiência.

  6. Execute a experiência ou selecione o módulo Executar R Script e clique em Executar selecionado.

Resultados

O módulo pode devolver várias saídas.

  • Para obter um conjunto de dados de volta, o seu código R deve devolver um único quadro de dados R.
  • Pode exibir imagens no dispositivo gráfico R, que é exibido na área de registo do Machine Learning Studio (clássico).
  • Para persistir nas imagens, pode escrevê-las num ficheiro ou serializá-las para um formato tabular.
  • Pode guardar objetos para o seu espaço de trabalho.
  • Mensagens padrão e erros de R são devolvidos ao registo do módulo.

(1) Conjunto de dados de resultados

Esta saída contém o quadro de dados que é gerado pelo código R no módulo.

Só pode fazer a saída de um quadro de dados. Outros objetos tabulares devem ser convertidos num quadro de dados utilizando funções R. A saída do quadro de dados pelo código R do módulo é automaticamente convertida para o formato interno da Tabela de Dados .

  • Para verificar se o objeto devolvido é compatível com o Studio (clássico), use is.data.frame, que deve devolver True.

  • Para devolver outros objetos R, tente serializar o objeto numa matriz de byte ou utilize uma função que retorne os dados pretendidos como um data.frame.

(2) Dispositivo R

O dispositivo R suporta a saída da consola (saída padrão e erro padrão) e a exibição de gráficos PNG utilizando o intérprete R.

  • Para visualizar as mensagens enviadas para a consola R (Padrão de saída e erro padrão), clique com o botão direito no módulo depois de ter terminado de correr, selecione Dispositivo R e selecione Visualize.

  • Para visualizar gráficos gerados na porta dispositivo R, clique com o botão direito no módulo depois de ter terminado de correr, selecione Dispositivo R e selecione Visualize.

Por exemplo, a imagem a seguir é gerada por apenas algumas linhas de código R.

Example word cloud

Pode encontrar esta e amostras relacionadas na Galeria Azure AI.

  • Para guardar imagens geradas pelo módulo Executar O Script R , clique com o direito na imagem e guarde uma cópia local. Ou, pode utilizar uma chamada para uma das funções do dispositivo gráfico R para escrever o ficheiro de imagem na conta de armazenamento de blob Azure associada à experiência, como descrito neste exemplo.

Guiões de amostra R e dicas R

Existem muitas maneiras de prolongar a sua experiência usando script R personalizado. Esta secção fornece código de amostra para algumas tarefas comuns.

Adicione um script R como entrada

O módulo Execut R Script suporta a utilização de ficheiros de script R arbitrários como entradas, desde que sejam preparados com antecedência e enviados para o seu espaço de trabalho como parte do ficheiro ZIP.

  1. Para fazer o upload de um ficheiro ZIP contendo código R para o seu espaço de trabalho, clique em Novo, clique em Conjunto de Dados e, em seguida, selecione From local file and the Zip file option.

  2. Depois de ter carregado o pacote zipped para Studio (clássico), verifique se o ficheiro zipped está disponível na lista de Conjuntos de Dados Guardados e, em seguida, ligue o conjunto de dados à porta de entrada do Script Bundle .

  3. Se o seu ficheiro com fecho de correr contiver qualquer pacote R que ainda não esteja instalado no Machine Learning Studio (clássico), deve instalar o pacote R como parte do código personalizado no módulo Execut R Script. Todos os ficheiros que estão contidos no ficheiro ZIP estão disponíveis durante o tempo de execução da experiência.

    Se o ficheiro do pacote de scripts contiver uma estrutura de diretório, a estrutura é preservada. No entanto, tem de alterar o seu código para preparar o diretório do diretório para o caminho.

Gerar imagens, modelos e outros objetos

Se precisar gerar uma imagem, ou qualquer outro objeto R arbitrário, pode serializá-la numa matriz byte e, em seguida, como um quadro de dados como mostrado neste exemplo:

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

Graph quadros de dados da biblioteca não suportam a https://igraph.org/r/ serialização como quadro de dados. Em vez disso, utilize a get.data.frame função na igraph embalagem para colocar a informação de borda e vértice num quadro de dados.

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

Em seguida, pode devolver o objeto gráfico como um data.frame que pode obter a partir do módulo Execut R Script .

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

Leia a partir da entrada e escreva para a saída

O exemplo a seguir demonstra como utilizar as portas de entrada e saída. Lê os dados de entrada como uma tabela, e anexa uma cópia da tabela para si mesma, efetivamente duplicando o tamanho da tabela. O resultado é então enviado para a porta de saída.

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

Leia um ficheiro ZIP como entrada

Este exemplo demonstra como adicionar um conjunto de dados ao Machine Learning Studio (clássico) em formato zipped e, em seguida, usar os dados como entrada para o módulo Execut R Script.

  1. Crie o ficheiro de dados em formato CSV e nomeie-o como "mydatafile.csv".
  2. Crie um ficheiro .ZIP e adicione o ficheiro CSV ao arquivo.
  3. Faça o upload do ficheiro com fecho para o seu espaço de trabalho Machine Learning conforme descrito aqui: Desembalar conjuntos de dados zipped.
  4. Ligação o conjunto de dados resultante para a entrada ScriptBundle do seu módulo executo R Script. Por outras palavras, não desempacotar ainda!
  5. Utilizando o seguinte código, leia os dados do CSV a partir do ficheiro zipped. Especifique a codificação que é utilizada no ficheiro de dados, se necessário, para evitar erros posteriores.
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 os dados transmitidos para o módulo Execut R Script são convertidos para o data.frame formato para utilização com o seu código R. Isto aplica-se a quaisquer dados compatíveis com os DataTable format utilizados por Machine Learning, incluindo ficheiros CSV, ficheiros ARFF, e assim por diante.

Replicar linhas

Esta amostra mostra como replicar as amostras positivas num conjunto de dados por um fator de 20, para equilibrar a amostra.

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

Chame um aprendiz personalizado com base no pacote Arules

Pode instalar novos pacotes R no seu espaço de trabalho Machine Learning, enviando-os como um ficheiro .ZIP, como descrito aqui. O seguinte código demonstra como utilizar o pacote carregado.

  1. Assuma que os arules pacotes e arulesViz pacotes já foram adicionados ao espaço de trabalho.

  2. Ligação o ficheiro de .ZIP carregado para a terceira porta de entrada do módulo Execut R Script.

  3. Na caixa de texto R Script , use o seguinte para chamar o algoritmo de regras de associação a priori fornecido pelo pacote Arulesde linguagem R , e aplique o aluno numa tarefa de análise de cesto de mercado.

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)

Chame um aprendiz personalizado de Naïve Bayes

Este exemplo mostra como chamar uma biblioteca R que não está incluída no Studio (clássico).

  1. Faça o upload de um ficheiro com fecho de correr contendo a biblioteca para o e1071 seu espaço de trabalho.

  2. Ligação o ficheiro de .ZIP carregado para a terceira porta de entrada do módulo Execut R Script.

  3. Na caixa de texto R Script , utilize o seguinte código para implementar o aprendiz de 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)    
    

Chame um marcador personalizado de Naïve Bayes

Se tiver um modelo existente criado pela e1071 biblioteca, pode chamar um marcador personalizado fornecido pela e1071 biblioteca.

No entanto, para efetuar a pontuação numa instância separada do módulo Execut R Script , deve fornecer o ficheiro com fecho que contém a e1071 biblioteca como entrada para o módulo de pontuação e carregar a biblioteca. Isto porque cada módulo funciona independentemente num recipiente.

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

Todos os módulos R incluídos dentro de uma única experiência devem utilizar a mesma versão do tempo de execução R. Não é possível misturar versões de R, como utilizar o CRANR num módulo e o Microsoft R Open noutro.

Escreva um arquivo gráfico

Embora o Studio (clássico) suporte a exibição de ficheiros PNG utilizando a porta de saída do Dispositivo R, é possível que queira gerar os resultados como um ficheiro PDF numa bolha em Azure Armazenamento a utilizar para reportar.

Este exemplo demonstra como usar o Execut r Script para gerar um gráfico como um ficheiro PDF.

  1. Adicione o Script Execute R à experiência.

  2. Crie o ficheiro PDF básico como parte do seu script R e devolva a cadeia codificada Base64 do ficheiro PDF a partir do módulo Execut R Script .

    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. Passe esta saída para um módulo de Dados de Exportação e guarde os valores binários para o armazenamento de bolhas Azure.

Passe objetos R entre os módulos executo R Script

Pode passar objetos R entre instâncias do módulo Executar O Script R utilizando o mecanismo de serialização interna. Este exemplo pressupõe que pretende mover o objeto R nomeado A entre dois módulos executar script R.

  1. Adicione o primeiro módulo executo R script à sua experiência e digite o seguinte código na caixa de texto do Script R para criar um objeto A serializado como coluna na tabela de dados de saída do módulo:

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

    A conversão explícita para o tipo inteiro é necessária porque a função de serialização produz dados no formato RRaw, que não é suportado por Machine Learning.

  2. Adicione uma segunda instância do módulo Execut R Script e conecte-o à porta de saída do módulo anterior.

  3. Digite o seguinte código na caixa de texto do Script R para extrair o objeto A da tabela de dados de entrada.

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

Instalar novos pacotes de R

Pode adicionar pacotes R que não são instalados por padrão em Machine Learning. A adição de novos pacotes requer estes passos:

  • Obtenha os binários Windows para a embalagem, em formato zipped.
  • Feche o pacote pretendido e quaisquer dependências num novo ficheiro de arquivo comprimido único com a extensão .ZIP.
  • Faça o upload do ficheiro com fecho de correr como um conjunto de dados para o seu espaço de trabalho.
  • Ligação o novo conjunto de dados para o módulo executo R Script.
  • Instale a embalagem utilizando o script R num módulo.

O procedimento a seguir adiciona um novo pacote juntamente com as suas dependências.

  1. Descarregue o ficheiro com fecho para o pacote que pretende importar para Machine Learning. Certifique-se de obter a versão Windows do ficheiro com fecho.

    Nota

    Se já extraiu o pacote R que pretende utilizar no seu espaço de trabalho, deve voltar a fechar o pacote ou fornecer o ficheiro ZIP original quando puder carregar o pacote R para o Studio (clássico).

  2. Verifique se existem dependências e se o pacote precisa de outros pacotes que ainda não estejam no Azure ML Studio (clássico), descarregue-os em formato zipped e adicione-os ao arquivo.

  3. Clique com o botão direito para o pacote que pretende carregar, bem como as suas dependências, clique em Enviar e, em seguida, selecione a pasta Comprimida (com fecho).

    Dica

    A pasta comprimido deve conter pelo menos um ficheiro com fecho com o pacote-alvo, além de ficheiros zip adicionais que contenham pacotes necessários.

  4. Faça o upload do único ficheiro ZIP contendo todos os pacotes (bem como quaisquer ficheiros de código R ou ficheiros de dados opcionais) para o seu espaço de trabalho Studio (clássico).

    Faça isto como se fizesse o upload de um conjunto de dados: Clique em Novo, clique em Dataset e, em seguida, selecione From Local file and the Zip file option.

  5. Abra a lista de conjuntos de dados guardados , clique em Meus Conjuntos de Dados e verifique se o ficheiro com fecho está disponível.

  6. Arraste-o para a sua experiência, clique com o botão direito do conjunto de dados e selecione Visualize para visualizar os ficheiros incluídos na pasta com fecho. Os nomes de ficheiros que vê na lista de Conteúdos são os nomes que deve referir quando instalar a encomenda.

    Por exemplo, suponha que você tinha carregado um ficheiro chamado NewRPackage.zip, que contém três pacotes R chamados 001.zip, 002.zipe 003.zip. Na lista de Conjuntos de Dados, o nome do conjunto de dados 001.zipseria NewRPackage.zip, com conteúdo , 002.zipe 003.zip.

  7. Ligação o conjunto de dados (NewRPackage.zip) para a porta de entrada do Pacote script.

    Neste ponto, a pasta com fecho exterior é extraída para a caixa de areia do espaço de trabalho, no caminho src. Dispor-se-ia agora dos seguintes pacotes:

    • src\001.zip
    • src\002.zip
    • src\003.zip
  8. Para instalar as embalagens R, extrai cada embalagem do seu ficheiro zip e, em seguida, carregue a biblioteca contida.

    Por exemplo, assumindo que o ficheiro src\001.zip contém o pacote code001R personalizado, executaria o seguinte 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 o processo de instalação para as embalagens necessárias.

    # 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

    Se houver alguma dependência entre vários pacotes instalados, certifique-se de instalar as encomendas necessárias primeiro, ou poderá obter um erro.

A instalação de todos os pacotes R deve ser realizada como parte da experiência, para garantir que todos os pacotes necessários sejam incluídos no espaço de trabalho que é enviado para a fila de trabalho Azure quando a sua experiência é executada.

Os pacotes num espaço de trabalho não são persistidos após a experiência ter sido executada ou depois de ter encerrado a sua sessão. No entanto, quaisquer pacotes que tenha carregado como ficheiros zipped podem ser rapidamente extraídos e utilizados quando reencando a experiência.

Notas técnicas

Otimização do desempenho de R em Studio (clássico)

A memória padrão atual é de 14 GB. Pode encontrar uma mensagem de erro fora de memória se tentar manipular quadros de dados muito grandes utilizando o módulo Execut R Script .

Para aumentar a quantidade de memória que é usada pelo script R, pode utilizar uma linha semelhante a esta no início do script:

memory.limit(56000)  

O código R especificado pelo utilizador é executado por um intérprete R de 64 bits que funciona em Azure utilizando uma máquina virtual A8 com 56 GB de RAM. Para aumentar a velocidade do seu código R, pode utilizar o compilador just-in-time fornecido no pacote Compilador pré-instalado.

Conversão de tipos de dados entre R e Estúdio (clássico)

A tabela a seguir mostra como os tipos de dados em R correspondem aos tipos de dados Machine Learning:

Tipo R Tipo estúdio (clássico)
Número inteiro Número inteiro
Double (Duplo) Double (Duplo)
Complex Complex

Este tipo é suportado apenas por um subconjunto de módulos.
Lógico Booleano
Caráter String
Não processado Não suportado
Difusão TimeSpan
factor categórico
data.frame conjunto de dados

Colunas de tipo lists de dados em R não podem ser convertidas porque os elementos nessas colunas potencialmente são de diferentes tipos e tamanhos. Por exemplo, o seguinte código R válido falha se for utilizado no módulo Executar Script R :

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

Conversão de valores de data

Machine Learning Studio (clássico) usa diferentes tipos de data do que R. Se os dados que está a analisar contiverem dados de data ou hora, deve estar ciente dos seguintes requisitos de conversão ao depor o código R existente em Studio (clássico):

Convertendo de Machine Learning Studio (clássico) para R

As colunas DateTime são convertidas em vetores POSIXct. No entanto, cada elemento individual do vetor resultante é um número de segundos desde 1970-01-01T00:00:00.

Não são efetuados ajustes de fuso horário nesta conversão.

Conversão de R para Estúdio (clássico)

Os vetores POSIXct são convertidos para colunas DateTime no fuso horário UTC.

Por exemplo, 2011-03-27 01:30:00 PDT será convertido para 2011-03-27T08:30:00Z, onde o Z indica que a hora é na UTC.

Dica

Ao utilizar os tempos dentro do módulo Executar O Script R , deve especificar explicitamente as estações de tempo. O intérprete R alojado no módulo Execut R Script não tem acesso às definições de fuso horário local.

Rede

Por razões de segurança, todas as redes de ou para código R nos módulos Execut R Script são bloqueadas pela Azure. Além disso, com poucas exceções, o acesso às portas locais a partir do Executo R Script está bloqueado.

Execução paralela

Atualmente, a execução paralela com múltiplos fios não é suportada.

Entradas esperadas

Nome Tipo Description
Conjunto de dados1 Tabela de Dados Conjunto de dados de entrada 1
Conjunto de dados2 Tabela de Dados Conjunto de dados de entrada 2
Pacote de script Zip Conjunto de fontes R

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Description
Script do R Qualquer StreamReader Especifique um StreamReader que aponta para as fontes de script R.
Semente aleatória >=0 Número inteiro Defina um valor de semente aleatória para utilização dentro do ambiente R.

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

Este parâmetro é opcional.

Saídas

Nome Tipo Description
Conjunto de dados de resultados Tabela de Dados Conjunto de dados de saída
Dispositivo R Tabela de Dados Saída da consola e dispositivo gráfico PNG do intérprete R

Ver também

Módulos de Linguagem R
Criar Modelo R
Categorias e Descrições de Módulos
Python Módulos linguísticos