Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: SQL Server 2016 (13.x) и более поздним версиям
Azure SQL Managed Instance
В этом кратком руководстве вы узнаете, как использовать математические и служебные функции R в Службах машинного обучения SQL Server или Кластерах больших данных. Зачастую статистические функции, которые сложно реализовать в T-SQL, выполняются в R всего парой строк кода.
В этом кратком руководстве вы узнаете, как использовать математические и служебные функции R в Службах машинного обучения SQL Server. Зачастую статистические функции, которые сложно реализовать в T-SQL, выполняются в R всего парой строк кода.
В этом кратком руководстве вы узнаете, как использовать математические и служебные функции R в службах SQL Server R Services. Зачастую статистические функции, которые сложно реализовать в T-SQL, выполняются в R всего парой строк кода.
В этом кратком руководстве вы узнаете, как использовать структуры и типы данных при работе с R в Службах машинного обучения управляемого экземпляра SQL Azure. Вы узнаете о том, как перемещать данные между R и Управляемым экземпляром SQL, и о типичных проблемах, возникающих при этом процессе.
Необходимые компоненты
Для работы с этим кратким руководством необходимо следующее.
- Службы машинного обучения SQL Server. Сведения об установке служб машинного обучения см. в руководстве по установке для Windows или руководстве по установке для Linux. Можно также включить Службы машинного обучения в кластерах больших данных SQL Server.
- Службы машинного обучения SQL Server. Сведения об установке служб машинного обучения см. в руководстве по установке для Windows.
- Службы R для SQL Server 2016. Сведения об установке служб R Services см. в руководстве по установке для Windows.
- Службы машинного обучения в Управляемом экземпляре SQL Azure. Дополнительные сведения см. в статье Общие сведения о службах машинного обучения в управляемом экземпляре SQL Azure.
- Инструмент для выполнения SQL-запросов, содержащих сценарии R. В этом кратком руководстве используется Azure Data Studio.
Создание хранимой процедуры для формирования случайных чисел
Для простоты давайте воспользуемся пакетом R stats, который устанавливается и загружается по умолчанию. Он содержит сотню функций для общих статистических задач, в том числе функцию rnorm, которая формирует указанное количество случайных чисел с нормальным распределением при заданном среднем значении и стандартном отклонении.
Например, следующий код R возвращает 100 чисел со средним значением 50 и стандартным отклонением 3.
as.data.frame(rnorm(100, mean = 50, sd = 3));
Чтобы вызвать строку кода R из T-SQL, добавьте функцию R в параметр скрипта R sp_execute_external_script, как показано ниже:
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
OutputDataSet <- as.data.frame(rnorm(100, mean = 50, sd =3));'
, @input_data_1 = N' ;'
WITH RESULT SETS (([Density] float NOT NULL));
Как упростить формирование другого набора случайных чисел?
С помощью T-SQL это несложно. Вы определяете хранимую процедуру, которая получает предоставленные пользователем аргументы и передает их в качестве переменных в скрипт R.
CREATE PROCEDURE MyRNorm (
@param1 INT
, @param2 INT
, @param3 INT
)
AS
EXECUTE sp_execute_external_script @language = N'R'
, @script = N'
OutputDataSet <- as.data.frame(rnorm(mynumbers, mymean, mysd));'
, @input_data_1 = N' ;'
, @params = N' @mynumbers int, @mymean int, @mysd int'
, @mynumbers = @param1
, @mymean = @param2
, @mysd = @param3
WITH RESULT SETS(([Density] FLOAT NOT NULL));
В первой строке определяется каждый из входных параметров SQL, необходимых при выполнении хранимой процедуры.
Строка, начинающаяся с
@params, определяет все переменные, используемые в коде R, и соответствующие типы данных SQL.Следующие строки сопоставляют имена параметров SQL с соответствующими именами переменных R.
Теперь, когда функция R упакована в хранимой процедуре, вы можете легко вызвать функцию и передать различные значения, как показано ниже.
EXECUTE MyRNorm @param1 = 100,@param2 = 50, @param3 = 3
Использование служебных функций R для устранения неполадок
Установленный по умолчанию пакет utils предоставляет широкий набор служебных функций для изучения текущей среды R. Они могут оказаться полезными, если вы нашли несоответствия в выполнении кода R в SQL Server и внешних средах.
Например, можно использовать функции системного времени в R, такие как system.time и proc.time, чтобы фиксировать время, затрачиваемое процессами R, и анализировать проблемы производительности. Например, см. руководство Создание характеристик данных, где функции времени R внедрены в решение.
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
library(utils);
start.time <- proc.time();
# Run R processes
elapsed_time <- proc.time() - start.time;'
Сведения о других полезных функциях см. в статье Использование функций профилирования кода R для повышения производительности.
Следующие шаги
Сведения о создании модели машинного обучения с использованием R и машинного обучения SQL приведены в следующем кратком руководстве: