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