MicrosoftML (пакет R в Службах машинного обучения SQL Server)

Область применения: SQL Server 2016 (13.x) и более поздних версий

MicrosoftML — это пакет R от Майкрософт, предоставляющий высокопроизводительные алгоритмы машинного обучения. Он включает в себя функции для обучения и преобразований, оценки, анализа текста и изображений, а также извлечения компонентов для получения значений из существующих данных. Пакет входит в Службы машинного обучения SQL Server и службы SQL Server 2016 R и поддерживает высокую производительность при работе с большими данными, используя многоядерную обработку и быструю потоковую передачу данных. MicrosoftML также включает многочисленные преобразования для обработки текста и изображений.

Полная справочная документация

Пакет MicrosoftML распространяется в нескольких продуктах Майкрософт, но его использование не зависит от того, получили ли вы его в SQL Server или в другом продукте. Благодаря сходству функций документация по отдельным функциям RevoScaleR опубликована только в одном разделе в справочнике по R. Если для конкретных продуктов функции будут действовать иначе, выявленные расхождения будут приведены на странице справки по функциям.

Версии и платформы

Пакет MicrosoftML основан на R 3.5.2 и доступен только при установке одного из следующих продуктов или скачиваемых файлов Майкрософт:

Примечание.

В SQL Server 2017 полные версии выпусков продуктов доступны только для Windows. В SQL Server 2019 библиотека MicrosoftML поддерживает Windows и Linux.

Зависимости пакетов

Алгоритмы в MicrosoftML зависят от RevoScaleR в следующем:

  • Объекты источников данных. Данные, потребляемые функциями MicrosoftML, создаются с помощью функций RevoScaleR.
  • Удаленное вычисление (перенос выполнения функций в удаленный экземпляр SQL Server). Пакет RevoScaleR предоставляет функции для создания и активации удаленного контекста вычислений для SQL Server.

В большинстве случаев при использовании MicrosoftML пакеты будут загружаться вместе.

Функции по категориям

Чтобы можно было понять, как использовать каждую функцию, в этом разделе приводится описание функций по категориям. Для поиска функций в алфавитном порядке можно воспользоваться оглавлением.

1. Алгоритмы машинного обучения

Имя функции Описание
rxFastTrees Реализация FastRank — эффективной реализации алгоритма градиентного бустинга MART.
rxFastForest Реализация случайного леса и леса регрессии квантилей с помощью rxFastTrees.
rxLogisticRegression Логистическая регрессия с использованием L-BFGS.
rxOneClassSvm Одноклассовые машины опорных векторов.
rxNeuralNet Бинарная, многоклассовая и регрессионная нейронная сеть.
rxFastLinear Метод стохастического подъёма по двойственным координатам для линейной бинарной классификации и регрессии.
rxEnsemble Обучает несколько моделей разных типов, чтобы добиться более высокого качества прогнозирования, чем при использовании одной модели.

2. Функции преобразования

Имя функции Описание
concat Преобразование для создания одного столбца с векторным значением из нескольких столбцов.
категориальный Создание вектора индикатора с помощью преобразования категорий с использованием словаря.
categoricalHash Преобразует значение категории в массив индикаторов с помощью хэширования.
featurizeText Формирует набор счетчиков последовательных слов, называемых n-граммами, из заданной совокупности текста. Обеспечивает определение языка, разметку, удаление стоп-слов, нормализацию текста и создание компонентов.
getSentiment Анализирует текст на естественном языке и создает столбец, содержащий вероятности того, что тональность текста является положительной.
ngram Позволяет определять аргументы для извлечения компонентов на основе подсчета и хэширования.
selectColumns Выбирает набор столбцов для повторного обучения, исключая все остальные.
selectFeatures Выбирает компоненты из указанных переменных в указанном режиме.
loadImage Загружает данные изображения.
resizeImage Изменяет размер изображения до указанного с помощью заданного метода изменения размера.
extractPixels Извлекает значения пикселей из изображения.
featurizeImage Извлекает признаки из изображения с помощью предварительно обученной модели глубокой нейронной сети.

3. Функции оценки и обучения

Имя функции Описание
rxPredict.mlModel Запускает библиотеку оценки либо из SQL Server с помощью хранимой процедуры либо из кода R, обеспечивая оценку в реальном времени, чтобы повысить скорость прогнозирования.
rxFeaturize Преобразует данные из набора входных данных в набор выходных данных.
mlModel Предоставляет сводные сведения о модели Microsoft R Машинное обучение.

4. Функции потери для классификации и регрессии

Имя функции Описание
expLoss Спецификации экспоненциальной функции потерь для классификации.
logLoss Спецификация функции логарифмических потерь для классификации.
hingeLoss Спецификации шарнирной функции потерь для классификации.
smoothHingeLoss Спецификация функции сглаженных шарнирных потерь для классификации.
poissonLoss Спецификации функции потерь для пуассоновской регрессии.
squaredLoss Спецификации квадратичной функции потерь для регрессии.

5. Функции выбора компонентов

Имя функции Описание
minCount Спецификация выбора компонентов в режиме подсчета.
взаимная информация Спецификация выбора компонентов в режиме взаимной информации.

6. Ансамблейные функции моделирования

Имя функции Описание
fastTrees Создает список, содержащий имя функции и аргументы, для обучения модели быстрого дерева с rxEnsemble.
fastForest Создает список, содержащий имя функции и аргументы для обучения модели Fast Forest с помощью rxEnsemble.
fastLinear Создает список, содержащий имя функции и аргументы, для обучения быстрой линейной модели с rxEnsemble.
logisticRegression Создает список, содержащий имя функции и аргументы, для обучения модели логистической регрессии с помощью rxEnsemble.
oneClassSvm Создает список, содержащий имя функции и аргументы, для обучения модели OneClassSvm с rxEnsemble.

7. Функции нейронных сетей

Имя функции Описание
optimizer Задает алгоритмы оптимизации для алгоритма машинного обучения rxNeuralNet

8. Функции состояния пакета

Имя функции Описание
rxHashEnv Объект среды, используемый для хранения состояния всего пакета.

Как использовать MicrosoftML

Функции в MicrosoftML вызываются в коде R, инкапсулированном в хранимые процедуры. Большинство разработчиков создают решения MicrosoftML локально, а затем переносят готовый код R в хранимые процедуры, отрабатывая, таким образом, процедуру развертывания.

Пакет MicrosoftML для R устанавливается как встроенный в SQL Server 2017.

Пакет не загружается по умолчанию. В качестве первого шага загрузите пакет MicrosoftML, а затем загрузите RevoScaleR, если необходимо использовать удаленные контексты вычислений либо связанные объекты подключения и источники данных. Затем можно обратиться к отдельным функциям, которые вам нужны.

library(microsoftml);
library(RevoScaleR);
logisticRegression(args);