Выполнение сценария R

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

Выполняет скрипт R из эксперимента Машинное обучение Studio (классическая модель)

Категория: языковые модули R

Примечание

Область применения: только Машинное обучение Studio (классическая версия)

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

В этой статье описывается использование модуля «Выполнение скрипта R» в Машинное обучение Studio (классическая модель) для вызова и запуска кода R в экспериментах.

Добавив код R в этот модуль, вы можете выполнять различные настраиваемые задачи, недоступные в Студии (классическая модель). Пример:

  • создание настраиваемых преобразований данных;
  • Использование собственных метрик для оценки прогнозов
  • Создание моделей с использованием алгоритмов, которые не реализованы как автономные модули в Студии (классическая модель)

Версии R, поддерживаемые в Студии (классическая версия)

Студия (классическая версия) поддерживает как типичный дистрибутив R, доступный в CRAN, так и Microsoft R Open (MRO), который включает все базовые пакеты R, а также пакеты Revo.

Вы можете указать, какая версия R будет использоваться в эксперименте. Однако вы не можете установить любую другую версию R в рабочую область.

Перед выбором дистрибутива R рекомендуется определить необходимые пакеты. Некоторые пакеты несовместимы как с CRAN R, так и с Microsoft R Open.

Примечание

В настоящее время модуль создания модели R ограничен определенной версией R. Таким образом, если в эксперименте используется пользовательская модель R, все модули execute R Script в одном эксперименте также должны использовать ту же версию R. Найдите поддерживаемую версию R в следующей статье: пакеты R, поддерживаемые Машинное обучение Studio (классическая версия).

Поддерживаемые пакеты R

Среда R в Машинное обучение уже установлена более 500 пакетов R. Конечно, не все загружаются по умолчанию, но их можно легко загрузить как часть кода R.

Чтобы получить список всех текущих пакетов, добавьте следующий код в модуль execute R Script и запустите модуль.

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

В этом разделе перечислены пакеты, поддерживаемые в Машинное обучение, а также их совместимость с CRAN R и Microsoft R Open, см. статью "Пакеты R, поддерживаемые Машинное обучение Studio (классическая модель)".

Установка новых пакетов R

Вы устанавливаете новые пакеты R в рабочую область с помощью модуля «Выполнение скрипта R ». Пакеты должны быть отправлены в zip-формате. Когда эксперимент загружается в среду выполнения Azure, пакеты распаковываются и добавляются в среду R в рабочей области эксперимента. Дополнительные сведения см. в разделе "Установка новых пакетов R"

Пакеты, которые были распакованы , не сохраняются в рабочей области, если эксперимент не запущен. По этой причине все дополнительные пакеты R, которые планируется использовать, должны быть доступны в рабочей области или в хранилище Azure в zip-формате.

Пакеты нельзя совместно использовать в отдельных экземплярах модуля «Выполнение скрипта R », так как каждый модуль может быть загружен в другой контейнер во время выполнения. Однако объекты R можно совместно использовать между модулями, предоставляя их в виде наборов данных. Дополнительные сведения см. в разделе "Передача объектов R между модулями".

Примеры экспериментов

Существует множество примеров пользовательского скрипта R в коллекции ИИ Azure:

  • Производительность учащихся: использует пользовательский сценарий R для объединения результатов оценки для нескольких моделей в один набор данных. В этом примере также используется код R в модуле Выполнение скрипта R для вычисления 16 столбцов, зависящих от времени.

  • Рак молочной железы: использует пользовательский код в модуле «Выполнение скрипта R » для репликации положительных примеров и объединения метрик.

  • Прогнозирование временных рядов. В этом примере используется выполнение скрипта R для создания пользовательских метрик, а затем объединяет их в одну таблицу с помощью модуля добавления строк .

Настройка выполнения скрипта R

Чтобы настроить модуль Выполнение скрипта R, нужно предоставить набор необязательных входных данных и код R, который будет выполняться в рабочем пространстве.

Кроме того, можно добавить файлы, содержащие дополнительный код R, если подготовить их в zip-файле архива для вложения во входные данные пакета скриптов .

Чтобы установить дополнительные пакеты, добавьте их в ZIP-файл архива.

  1. Добавьте модуль «Выполнение скрипта R » в эксперимент. Этот модуль можно найти в Машинное обучение Studio (классическая модель) в группе языковых модулей R.

  2. Подключение любые входные данные, необходимые скрипту. Входные данные могут включать данные, пакеты R, добавленные в рабочую область, в формате ZIP-файла и дополнительный код R.

    • Набор данных1. Первый вход — это подключение основного набора данных (необязательно). Входной набор данных должен быть отформатирован как CSV-файл, TSV или ARFF- или можно подключить набор данных Машинное обучение.

    • Набор данных2. Второй входной (необязательный) поддерживает добавление второго набора данных. Этот набор данных также должен быть отформатирован как CSV-файл, TSV или ARFF или можно подключить Машинное обучение набор данных.

    • Пакет скриптов: третий вход, который является необязательным, принимает файл в формате .ZIP. Zippped-файл может содержать несколько файлов и несколько типов файлов. Например, zip-архив может содержать код R в файле скрипта, объекты R для использования скриптом, пакет R, который сам был включен в формат .ZIP или наборы данных в одном из поддерживаемых форматов.

  3. Введите скрипт R в текстовое поле "Скрипт R ". Это самый простой способ работы с наборами данных на входных узлах.

    Чтобы приступить к работе, текстовое поле скрипта R предварительно заполнено следующим примером кода, который можно изменить или заменить.

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

    Дополнительные сведения об использовании входных данных и записи в выходные данные см. в примерах кода R в этом разделе.

    Примечание

    Код R, который выполняется хорошо во внешних средствах, может потребовать небольших изменений для выполнения в эксперименте ML Azure. Например, входные данные, которые предоставляются в формате CSV, должны быть явно преобразованы в набор данных, прежде чем его можно будет использовать в коде. Типы данных и столбцов, используемые на языке R, также отличаются от типов данных и столбцов, используемых в Машинное обучение. Дополнительную информацию см. в разделе Технические примечания.
    Модуль "Выполнение скрипта R" выполняется в песочнице среды R, не рекомендуется настраивать подключения HTTP/SQL в этом модуле.

  4. Случайное начальное значение: введите значение для использования в среде R в качестве случайного начального значения. Действие этого параметра эквивалентно вызову set.seed(value) в коде R.

  5. Версия R: выберите версию R для загрузки в рабочую область.

    • CRAN R 3.1.0. Веб-сайт комплексной сети архивации R — это репозиторий для языка открытый код R. Дополнительные сведения см. на веб-сайте CRAN.

    • Microsoft R Open 3.2.2: MRO — это расширенное распространение R от корпорации Майкрософт. Это платформа открытый код на основе ядра R открытый код и полностью совместима со всеми пакетами R, скриптами и приложениями, работающими с одной и той же версией R. Однако MRO обеспечивает повышенную производительность по сравнению со стандартным распределением R из-за использования высокопроизводительных многопоточных математических библиотек. Дополнительные сведения см. в статье Microsoft R Open.

    • Вы не можете установить любую другую версию R в рабочую область.

    • Машинное обучение поддерживает несколько версий R, но в любом эксперименте можно использовать только одну версию.

  6. Запустите эксперимент или выберите модуль «Выполнение скрипта R» и нажмите кнопку «Выполнить».

Результаты

Модуль может возвращать несколько выходных данных.

  • Чтобы получить набор данных обратно, код R должен возвращать один R data.frame.
  • Изображения можно отобразить на графическом устройстве R, которое отображается в области журнала Машинное обучение Studio (классическая модель).
  • Для сохранения изображений их можно записать в файл или сериализовать их в табличный формат.
  • Объекты можно сохранить в рабочей области.
  • Стандартные сообщения и ошибки из R возвращаются в журнал модуля.

(1) Результирующий набор данных

Эти выходные данные содержат кадр данных, созданный кодом R в модуле.

Вы можете выводить только один кадр данных. Другие табличные объекты необходимо преобразовать в кадр данных с помощью функций R. Выходные данные кадра данных кода R модуля автоматически преобразуются в внутренний формат таблицы данных .

  • Чтобы убедиться, что возвращенный объект совместим со Студией (классическая модель), используйте is.data.frameзначение true, которое должно возвращать значение True.

  • Чтобы вернуть другие объекты R, попробуйте сериализовать необходимый объект в массив байтов или используйте функцию, которая возвращает необходимые данные в качестве data.frame.

(2) Устройство R

Устройство R поддерживает вывод консоли (стандартную выходную и стандартную ошибку) и отображение графики PNG с помощью интерпретатора R.

  • Чтобы просмотреть сообщения, отправляемые в консоль R (стандартная выходная и стандартная ошибка), щелкните модуль правой кнопкой мыши после завершения работы, выберите устройство R и выберите "Визуализировать".

  • Чтобы просмотреть графику, созданную на порту устройства R, щелкните модуль правой кнопкой мыши после завершения работы, выберите устройство R и выберите "Визуализировать".

Например, следующее изображение создается всего несколькими строками кода R.

Example word cloud

Эти и связанные примеры можно найти в коллекции ИИ Azure.

  • Чтобы сохранить изображения, созданные модулем "Выполнение скрипта R ", щелкните его правой кнопкой мыши и сохраните локальную копию. Кроме того, можно использовать вызов одной из функций графического устройства R для записи файла изображения в учетную запись хранения BLOB-объектов Azure, связанную с экспериментом, как описано в этом примере.

Примеры скриптов R и советы по R

Существует несколько способов для расширения эксперимента с помощью пользовательского скрипта R. В этом разделе приведен пример кода для некоторых распространенных задач.

Добавление скрипта R в качестве входных данных

Модуль «Выполнение скрипта R » поддерживает использование произвольных файлов скриптов R в качестве входных данных, если они подготавливаются заранее и передаются в рабочую область в составе ZIP-файла.

  1. Чтобы отправить ZIP-файл, содержащий код R в рабочую область, нажмите кнопку "Создать", выберите "Набор данных", а затем выберите " Из локального файла " и " Zip-файл ".

  2. После отправки zip-пакета в Студию (классическая модель) убедитесь, что zippped-файл доступен в списке сохраненных наборов данных , а затем подключите набор данных к порту ввода пакета скриптов .

  3. Если zip-файл содержит любой пакет R, который еще не установлен в Машинное обучение Studio (классическая версия), необходимо установить пакет R в составе пользовательского кода в модуле «Выполнение скрипта R». Все файлы, содержащиеся в ZIP-файле, доступны во время выполнения эксперимента.

    Если файл пакета скрипта содержит структуру каталогов, структура сохраняется. Однако необходимо изменить код, чтобы добавить каталог src в путь.

Создание изображений, моделей и других объектов

Если необходимо создать изображение или любой другой произвольный объект R, его можно сериализовать в массив байтов, а затем в виде data.frame, как показано в следующем примере:

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

Graph кадры данных из библиотеки https://igraph.org/r/ не поддерживают сериализацию в качестве кадра данных. Вместо этого используйте get.data.frame функцию в пакете igraph , чтобы поместить сведения о ребрах и вершинах в кадр данных.

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

Затем можно вернуть объект графа в виде data.frame, который можно получить из модуля «Выполнение скрипта R ».

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

Чтение из входных данных и запись в выходные данные

В следующем примере показано, как использовать порты ввода и вывода. Он считывает входные данные как таблицу и добавляет копию самой таблицы, эффективно удвояя размер таблицы. Затем результат отправляется на выходной порт.

# 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-файла в качестве входных данных

В этом примере показано, как добавить набор данных в Машинное обучение Studio (классическая модель) в zip-формате, а затем использовать данные в качестве входных данных в модуль «Выполнение скрипта R».

  1. Создайте файл данных в формате CSV и назовите его "mydatafile.csv".
  2. Создайте файл .ZIP и добавьте CSV-файл в архив.
  3. Отправьте ZIP-файл в рабочую область Машинное обучение, как описано здесь: Распаковка zippped Datasets.
  4. Подключите результирующий набор данных ко входу ScriptBundle модуля выполнения скрипта R. Другими словами, еще не распаковывайте его!
  5. Используя следующий код, считывает данные CSV из ZIP-файла. При необходимости укажите кодировку, используемую в файле данных, чтобы избежать ошибок позже.
mydataset=read.csv("src/newdata.csv",encoding="UTF-8");  
nrow(mydataset);  
ncol(mydataset);  
# Map new dataset to the first output port  
maml.mapOutputPort("mydataset");  

Примечание

Все данные, передаваемые модулю «Выполнение скрипта R », преобразуются data.frame в формат для использования с кодом R. Это относится к любым данным, совместимым с DataTable format используемыми Машинное обучение, включая CSV-файлы, ARFF-файлы и т. д.

Репликация записей

В этом примере показано, как реплицировать положительные выборки в наборе данных на 20, чтобы сбалансировать выборку.

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

Вызов пользовательского учащегося на основе пакета Arules

Новые пакеты R можно установить в рабочую область Машинное обучение, отправив их в виде файла .ZIP, как описано здесь. В следующем коде показано, как использовать отправленный пакет.

  1. Предположим, что пакеты arulesarulesViz уже добавлены в рабочую область.

  2. Подключение переданный файл .ZIP на третий входной порт модуля «Выполнение скрипта R».

  3. В текстовом поле "Скрипт R " используйте следующую команду, чтобы вызвать алгоритм правил сопоставления приоритетов , предоставляемый языковым пакетом ArulesR, и применить учащегося в задаче анализа корзины рынка.

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)

Вызов пользовательского обучающегося Наивного Байеса

В этом примере показано, как вызвать библиотеку R, которая не включена в Студию (классическая модель).

  1. Отправьте zip-файл, содержащий библиотеку, в e1071 рабочую область.

  2. Подключение переданный файл .ZIP на третий входной порт модуля «Выполнение скрипта R».

  3. В текстовом поле "Скрипт R " используйте следующий код для реализации обучающегося наивного байеса.

    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)    
    

Вызов пользовательского наивного бомбардира Байеса

Если у вас есть существующая модель, созданная библиотекой e1071 , можно вызвать пользовательский scorer, предоставляемый библиотекой e1071 .

Однако для оценки в отдельном экземпляре модуля «Выполнение скрипта R » необходимо предоставить zip-файл, содержащий библиотеку e1071 , в качестве входных данных для модуля оценки и загрузить библиотеку. Это связано с тем, что каждый модуль выполняется независимо в контейнере.

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

Все модули R, включенные в один эксперимент, должны использовать одну и ту же версию среды выполнения R. Нельзя смешивать версии R, такие как использование CRANR в одном модуле и Microsoft R Open в другом.

Написание графического файла

Хотя Studio (классическая модель) поддерживает отображение PNG-файлов с помощью порта вывода устройства R, может потребоваться создать результаты в виде PDF-файла в большом двоичном объекте в служба хранилища Azure использовать для создания отчетов.

В этом примере показано, как с помощью скрипта Execute R создать диаграмму в виде PDF-файла.

  1. Добавьте сценарий Execute R в эксперимент.

  2. Создайте базовый PDF-файл как часть скрипта R и верните строку PDF-файла в кодировке Base64 из модуля «Выполнение скрипта 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. Передайте эти выходные данные в модуль экспорта данных и сохраните двоичные значения в хранилище BLOB-объектов Azure.

Передача объектов R между модулями выполнения скрипта R

Вы можете передавать объекты R между экземплярами модуля Выполнение скрипта R с помощью внутреннего механизма сериализации. В этом примере предполагается, что требуется переместить объект R с именем A между двумя модулями «Выполнение скрипта R ».

  1. Добавьте первый модуль «Выполнение скрипта R » в эксперимент и введите следующий код в текстовом поле скрипта R , чтобы создать сериализованный объект A в виде столбца в выходной таблице данных модуля:

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

    Явное преобразование в целочисленный тип является обязательным, так как функция сериализации выводит данные в формате RRaw, который не поддерживается Машинное обучение.

  2. Добавьте второй экземпляр модуля выполнение скрипта R и подключите его к порту вывода предыдущего модуля.

  3. Введите следующий код в текстовом поле скрипта R , чтобы извлечь объект A из входной таблицы данных.

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

Установка новых пакетов R

Пакеты R, которые не установлены по умолчанию, можно добавить в Машинное обучение. Для добавления новых пакетов необходимо выполнить следующие действия.

  • Получите двоичные файлы Windows для пакета в zip-формате.
  • Запакуйте нужный пакет и все зависимости в новый сжатый архивный файл с расширением .ZIP.
  • Отправьте zip-файл в виде набора данных в рабочую область.
  • Подключение новый набор данных в модуль «Выполнение скрипта R».
  • Установите пакет с помощью скрипта R в модуле.

Следующая процедура добавляет новый пакет вместе со своими зависимостями.

  1. Скачайте ZIP-файл для пакета, который необходимо импортировать в Машинное обучение. Обязательно получите Windows версию ZIP-файла.

    Примечание

    Если вы уже извлекли пакет R, который вы хотите использовать в рабочей области, необходимо повторно запаковать пакет или указать исходный ZIP-файл, если вы можете отправить пакет R в Студию (классическую).

  2. Проверьте наличие зависимостей и если пакету нужны другие пакеты, которые еще не находятся в Azure ML Studio (классическая модель), скачайте их в zip-формате и добавьте их в архивный файл.

  3. Щелкните правой кнопкой мыши ZIP-файл для пакета, который требуется отправить, а также его зависимости, нажмите кнопку "Отправить" и выберите папку "Сжатые (сжатые) (zippped).

    Совет

    Сжатая папка должна содержать по крайней мере один ZIP-файл с целевым пакетом, а также дополнительные ZIP-файлы, содержащие необходимые пакеты.

  4. Отправьте один ZIP-файл, содержащий все пакеты (а также любые необязательные файлы кода R или файлы данных) в рабочую область Студии (классическая модель).

    Вы хотите отправить набор данных: нажмите кнопку " Создать", выберите "Набор данных", а затем выберите " Из локального файла " и " Zip-файл ".

  5. Откройте список сохраненных наборов данных , щелкните "Мои наборы данных" и убедитесь, что zip-файл доступен.

  6. Перетащите его в эксперимент, щелкните набор данных правой кнопкой мыши и выберите "Визуализировать" , чтобы просмотреть файлы, включенные в zip-папку. Имена файлов, отображаемые в списке "Содержимое" , — это имена, которые необходимо ссылаться при установке пакета.

    Например, предположим, что вы загрузили файл с именем NewRPackage.zip, который содержит три пакета R с именем 001.zip, 002.zipи 003.zip. В списке наборов данных имя набора данных будет такимNewRPackage.zip: с содержимым 001.zip002.zipи 003.zip.

  7. Подключение набор данных (NewRPackage.zip) в порт ввода пакета скриптов.

    На этом этапе внешняя zip-папка извлекается в песочницу рабочей области в пути src. Теперь у вас будут доступны следующие пакеты:

    • src\001.zip
    • src\002.zip
    • src\003.zip
  8. Чтобы установить пакеты R, извлеките каждый пакет из zip-файла и загрузите автономную библиотеку.

    Например, если файл src\001.zip содержит пользовательский пакет code001R, необходимо выполнить следующий сценарий:

    # 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. Повторите процесс установки для всех необходимых пакетов.

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

    Примечание

    Если между несколькими пакетами установлены какие-либо зависимости, сначала установите необходимые пакеты или может возникнуть ошибка.

Установка всех пакетов R должна выполняться в рамках эксперимента, чтобы все необходимые пакеты были включены в рабочую область, которая отправляется в очередь заданий Azure при выполнении эксперимента.

Пакеты в рабочей области не сохраняются после запуска эксперимента или после закрытия сеанса. Однако все пакеты, отправленные в виде zip-файлов, можно быстро извлечь и использовать при повторном запуске эксперимента.

Технические примечания

Оптимизация производительности R в Студии (классическая модель)

Текущий объем памяти по умолчанию: 14 ГБ. При попытке работы с блоками данных очень большого объема с помощью модуля Выполнение скрипта R вы можете получить сообщение об ошибке нехватки памяти.

Чтобы увеличить объем памяти, используемый R-сценарием, можно использовать строку, такую же как начальная строка сценария:

memory.limit(56000)  

Указанный пользователем код R выполняется 64-разрядным интерпретатором R, который выполняется в Azure с помощью виртуальной машины A8 с 56 ГБ ОЗУ. Чтобы увеличить скорость кода R, можно использовать JIT-компилятор, предоставленный в предустановленном пакете компилятора .

Преобразование типов данных между R и Studio (классическая модель)

В следующей таблице показано, как типы данных в R соответствуют типам данных в Машинное обучение:

Тип на языке R Тип Студии (классическая модель)
Целочисленный тип Целое число
Double Double
Complex Complex

Этот тип поддерживает только подмножество модулей.
Логические Логическое
Символ Строка
Raw Не поддерживается
Difftime TimeSpan
Показатель categorical
data.frame набор данных

Столбцы типа данных lists на языке R нельзя преобразовать, так как элементы в таких столбцах потенциально отличаются по типу и размеру. Например, следующий допустимый код R завершается ошибкой, если используется в модуле «Выполнение скрипта R »:

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

Преобразование значений datetime

Машинное обучение Studio (классическая модель) использует разные типы даты и времени, чем R. Если анализируемые данные содержат данные даты или времени, следует учитывать следующие требования к преобразованию при переносе существующего кода R в Студию (классическая модель):

Преобразование из Машинное обучение Studio (классическая модель) в R

Столбцы DateTime преобразовываются в векторы POSIXct. Однако каждый отдельный элемент результирующего вектора представляет собой число секунд с 1970-01-01T00:00:00.

При выполнении такого преобразования корректировка часовых поясов не выполняется.

Преобразование из R в Студию (классическая модель)

Векторы POSIXct преобразовываются в столбцы DateTime в часовом поясе в формате UTC.

Например, 2011-03-27 01:30:00 по дневному тихоокеанскому времени будет преобразовано в 2011-03-27T08:30:00Z, где Z означает, что время указано в формате UTC.

Совет

При использовании времени в модуле Выполнение скрипта R необходимо явно указать метки времени. У интерпретатора R, размещенного в модуле Выполнение скрипта R, нет доступа к определениям местных часовых поясов.

Сеть

В целях безопасности все сетевые подключения кода R или к нему в модулях Выполнение скрипта R блокируются Azure. Кроме того, за редкими исключениями, блокируется доступ к локальным портам из модуля Выполнение скрипта R.

Параллельное выполнение

В настоящее время параллельное выполнение нескольких потоков не поддерживается.

Ожидаемые входные данные

Имя Тип Описание
Набор данных 1 Таблица данных Входной набор данных 1
Набор данных 2 Таблица данных Входной набор данных 2
Пакет скриптов Почтовый индекс Набор источников R

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Сценарий R Любой StreamReader Укажите StreamReader, указывающий на источники R-сценариев.
Случайное начальное значение >=0 Целочисленный тип Определите начальное случайное значение для среды R.

Эквивалент \"set.seed(value)\".

Это необязательный параметр.

Выходные данные

Имя Тип Описание
Результирующий набор данных Таблица данных Выходной набор данных
Устройство R Таблица данных Вывод на консоль и графическое устройство PNG с помощью интерпретатора R

См. также раздел

Модули языка R
Создание R-модели
Категории и описания модулей
Модули языка Python