MicrosoftML (pacote de R nos Serviços de Machine Learning do SQL Server)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

O MicrosoftML é um pacote de R da Microsoft que fornece algoritmos de machine learning de alto desempenho. Ele inclui funções para treinamento e transformações, pontuação, análise de texto e imagem e extração de recursos para obtenção de valores dos dados existentes. O pacote está incluído nos Serviços de Machine Learning do SQL Server e no SQL Server 2016 R Services e dá suporte ao alto desempenho em Big Data usando o processamento de vários núcleos e o streaming de dados rápido. O MicrosoftML também inclui várias transformações para processamento de texto e imagem.

Documentação de referência completa

O pacote MicrosoftML é distribuído em vários produtos da Microsoft, mas o uso é o mesmo com o pacote no SQL Server ou em outro produto. Como as funções são as mesmas, a documentação para funções individuais do RevoScaleR é publicada em apenas uma localização na referência do R. Se existirem comportamentos específicos do produto, as discrepâncias serão indicadas na página de ajuda da função.

Versões e plataformas

O pacote do MicrosoftML é baseado no R 3.5.2 e está disponível somente quando você instala um dos seguintes produtos ou downloads da Microsoft:

Observação

As versões completas do produto são somente Windows no SQL Server 2017. Há suporte no Windows e no Linux para o MicrosoftML no SQL Server 2019.

Dependências do pacote

Os algoritmos no MicrosoftML dependem do RevoScaleR para:

  • Objetos de fonte de dados. Os dados consumidos pelas funções do MicrosoftML são criados usando funções do RevoScaleR.
  • Computação remota (mudança da execução da função para uma instância remota do SQL Server). O pacote RevoScaleR fornece funções para criar e ativar um contexto de computação remota para o SQL Server.

Na maioria dos casos, você carregará os pacotes juntos sempre que estiver usando o MicrosoftML.

Funções por categoria

Esta seção lista as funções por categoria para dar uma ideia de como cada uma é usada. Use também o sumário para localizar as funções em ordem alfabética.

1 – Algoritmos de aprendizado de máquina

Nome da função Descrição
rxFastTrees Uma implementação de FastRank, uma implementação eficiente do algoritmo de gradient boosting MART.
rxFastForest Uma implementação de floresta de regressão aleatória e de floresta quantil usando rxFastTrees.
rxLogisticRegression Regressão logística usando L-BFGS.
rxOneClassSvm Computador de vetor com suporte para uma classe.
rxNeuralNet Rede neural de regressão binária e multiclasse.
rxFastLinear Otimização ascendente de coordenada dupla estocástica para classificação e regressão binárias lineares.
rxEnsemble Treina diversos modelos de vários tipos para obter um melhor desempenho de previsão do que poderia ser obtido de um único modelo.

2 – Funções de transformação

Nome da função Descrição
concat Transformação para criar uma coluna com valor de vetor única com base em várias colunas.
categorical Criar vetor de indicador usando transformação categórica com dicionário.
categoricalHash Converte o valor categórico em uma matriz de indicadores por hash.
featurizeText Produz uma bolsa de contagens de sequências de palavras consecutivas, chamadas n-grams, de um determinado corpus de texto. Oferece detecção de idioma, geração de tokens, remoção de palavras irrelevantes, normalização de texto e criação de recursos.
getSentiment Classifica o texto em idioma natural e cria uma coluna que contém probabilidades de que os sentimentos no texto sejam positivos.
ngram permite definir argumentos para extração de recursos com base em contagem e em hash.
selectColumns Seleciona um conjunto de colunas para treinar novamente, descartando todas as outras.
selectFeatures Seleciona os recursos das variáveis especificadas usando um modo especificado.
loadImage Carrega dados de imagem.
resizeImage Redimensiona uma imagem para uma dimensão especificada usando um método de redimensionamento especificado.
extractPixels Extrai os valores de pixel de uma imagem.
featurizeImage Aplica recursos a uma imagem usando um modelo de rede neural profunda pré-treinado.

3 – Funções de pontuação e de treinamento

Nome da função Descrição
rxPredict.mlModel Executa a biblioteca de pontuação do SQL Server usando o procedimento armazenado ou do código R habilitando a pontuação em tempo real para fornecer um desempenho de previsão muito mais rápido.
rxFeaturize Transforma dados de um conjunto de dados de entrada em um conjunto de dados de saída.
mlModel Fornece um resumo de um modelo de machine learning do Microsoft R.

4 – Funções de perda para classificação e regressão

Nome da função Descrição
expLoss Especificações para a função de perda de classificação exponencial.
logLoss Especificações para a função de perda de classificação de log.
hingeLoss Especificações para a função de perda de classificação de hinge.
smoothHingeLoss Especificações para a função de perda de classificação de smooth hinge.
poissonLoss Especificações da função de perda de regressão Poisson.
squaredLoss Especificações da função de perda de regressão quadrada.

5 – Funções de seleção de recurso

Nome da função Descrição
minCount Especificação para seleção de recursos no modo de contagem.
mutualInformation Especificação para seleção de recursos no modo de informações mútuo.

6 – Funções de modelagem do conjunto

Nome da função Descrição
fastTrees Cria uma lista que contém o nome e os argumentos da função para treinar um modelo de Árvore Rápida com rxEnsemble.
fastForest Cria uma lista que contém o nome e os argumentos da função para treinar um modelo de Floresta Rápida com rxEnsemble.
fastLinear Cria uma lista que contém o nome e os argumentos da função para treinar um modelo Linear Rápido com rxEnsemble.
logisticRegression Cria uma lista que contém o nome e os argumentos da função para treinar um modelo de regressão logística com rxEnsemble.
oneClassSvm Cria uma lista que contém o nome e os argumentos da função para treinar um modelo OneClassSvm com rxEnsemble.

7 – Funções de rede neural

Nome da função Descrição
optimizer Especifica algoritmos de otimização para o algoritmo de aprendizado de máquina rxNeuralNet.

8 – Funções de estado do pacote

Nome da função Descrição
rxHashEnv Um objeto do ambiente usado para armazenar o estado de todo o pacote.

Como usar o MicrosoftML

As funções do MicrosoftML podem ser chamadas no código R encapsulado em procedimentos armazenados. A maioria dos desenvolvedores cria soluções do MicrosoftML localmente e, em seguida, migra o código do R concluído para procedimentos armazenados como um exercício de implantação.

O pacote MicrosoftML para R é instalado "pronto para uso" no SQL Server 2017.

O pacote não é carregado por padrão. Como uma primeira etapa, carregue o pacote MicrosoftML e carregue o RevoScaleR caso precise usar contextos de computação remota ou conectividade relacionada ou objetos de fonte de dados. Em seguida, faça referência às funções individuais de que você precisa.

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

Confira também