MicrosoftML (pacote R em SQL Server Machine Learning Services)

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

O MicrosoftML é um pacote R da Microsoft que fornece algoritmos de aprendizagem automática de alto desempenho. Inclui funções para treino e transformações, pontuação, análise de texto e imagem, e extração de características para derivar valores a partir de dados existentes. O pacote está incluído na SQL Server Machine Learning Services e SQL Server R Services 2016 e suporta alto desempenho em big data, utilizando processamento multicore e fluxo rápido de dados. O MicrosoftML inclui também inúmeras transformações para processamento de texto e imagem.

Documentação de referência completa

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

Versões e plataformas

O pacote MicrosoftML baseia-se no R 3.5.2 e está disponível apenas quando instalar um dos seguintes produtos Microsoft ou descarregar:

Note

As versões completas do produto são apenas para Windows no SQL Server 2017. Tanto o Windows como o Linux são suportados para MicrosoftML no SQL Server 2019.

Dependências do pacote

Algoritmos em MicrosoftML dependem do RevoScaleR para:

  • Objetos fonte de dados. Os dados consumidos pelas funções MicrosoftML são criados usando funções RevoScaleR .
  • Computação remota (transferir a 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, vais carregar os pacotes juntos sempre que estiveres a usar o MicrosoftML.

Funções por categoria

Esta secção lista as funções por categoria para lhe dar uma ideia de como cada uma é utilizada. Também pode usar o índice para encontrar funções por ordem alfabética.

1-Algoritmos de aprendizagem automática

Nome da função Description
rxFastTrees Uma implementação do FastRank, uma implementação eficiente do algoritmo de aumento de gradiente MART.
rxFastForest Uma implementação de floresta aleatória e de floresta de regressão quantílica com rxFastTrees.
rxLogisticRegression Regressão logística usando L-BFGS.
rxOneClassSvm Máquinas de vetores de suporte de classe única.
rxNeuralNet Rede neuronal binária, multiclasse e de regressão.
rxFastLinear Otimização estocástica de subida de coordenadas duplas para classificação binária linear e regressão.
rxEnsemble Treina vários modelos de vários tipos para obter melhor desempenho preditivo do que o que poderia ser obtido a partir de um único modelo.

2-Funções de transformação

Nome da função Description
concat Transformação para criar uma única coluna vetorial a partir de várias colunas.
categórico Crie um vetor indicador usando transformada categórica com dicionário.
categoricalHash Converte o valor categórico numa matriz de indicadores através de hashing.
featurizeText Produz um saco de contagens de sequências de palavras consecutivas, chamadas n-gramas, a partir de um dado corpus de texto. Oferece deteção de linguagem, tokenização, remoção de palavras-chave, normalização de texto e geração de funcionalidades.
getSentiment Atribui uma pontuação a texto de linguagem natural e cria uma coluna que contém as probabilidades de os sentimentos expressos no texto serem positivos.
Ngram permite definir argumentos para extração de características baseadas em contagem e hash.
selectColumns Seleciona um conjunto de colunas para re-treinar, eliminando todas as outras.
selectFeatures Seleciona características das variáveis especificadas usando um modo especificado.
loadImage Carrega dados de imagem.
redimensionarImagem Redimensiona uma imagem para uma dimensão especificada usando um método de redimensionamento especificado.
extractPixels Extrai os valores dos píxeis de uma imagem.
featurizeImage Caracteriza uma imagem usando um modelo de rede neural profunda pré-treinado.

3-Funções de pontuação e treino

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

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

Nome da função Description
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 logs.
DobradiçaPerda Especificações para a função de perda de classificação hinge.
smoothHingeLoss Especificações para a função de perda de classificação suave da dobradiça.
PoissonLoss Especificações para a função de perda de regressão de Poisson.
squaredLoss Especificações para a função de perda por regressão quadrática.

5-Funções de seleção de funcionalidades

Nome da função Description
minCount Especificação para seleção de funcionalidades em modo contagem.
mutualInformation Especificação para seleção de funcionalidades em modo de informação mútua.

6-Funções de modelação em conjunto

Nome da função Description
fastTrees Cria uma lista contendo o nome da função e argumentos para treinar um modelo Fast Tree com rxEnsemble.
fastForest Cria uma lista contendo o nome da função e argumentos para treinar um modelo Fast Forest com rxEnsemble.
fastLinear Cria uma lista contendo o nome da função e argumentos para treinar um modelo Linear Rápido com rxEnsemble.
regressão logística Cria uma lista contendo o nome da função e argumentos para treinar um modelo de Regressão Logística com rxEnsemble.
oneClassSvm Cria uma lista contendo o nome da função e argumentos para treinar um modelo OneClassSvm com rxEnsemble.

7-Funções de redes neuronais

Nome da função Description
Otimizador Especifica algoritmos de otimização para o algoritmo de aprendizagem automática rxNeuralNet .

Funções de estado de 8 pacotes

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

Como usar o MicrosoftML

As funções no MicrosoftML são chamáveis em código R encapsulado em procedimentos armazenados. A maioria dos programadores constrói soluções MicrosoftML localmente e depois migra código R finalizado para procedimentos armazenados como exercício de implementação.

O pacote MicrosoftML para R vem pré-instalado no SQL Server 2017.

O pacote não é carregado por defeito. Como primeiro passo, carregue o pacote MicrosoftML e depois carregue o RevoScaleR se precisar de usar contextos de computação remota ou conectividade relacionada ou objetos fonte de dados. Depois, faz referência às funções individuais de que precisas.

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