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. Алгоритмы машинного обучения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также