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