MicrosoftML (paquete de R en SQL Server Machine Learning Services)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

MicrosoftML es un paquete de R de Microsoft que proporciona algoritmos de aprendizaje automático de alto rendimiento. Incluye funciones para el entrenamiento y las transformaciones, la puntuación, el análisis de texto y de imágenes, y la extracción de características para derivar valores a partir de datos existentes. El paquete se incluye en SQL Server Machine Learning Services y SQL Server 2016 R y admite un alto rendimiento en macrodatos, mediante el procesamiento de varios núcleos y un flujo de datos rápido. MicrosoftML también incluye numerosas transformaciones para el procesamiento de texto e imágenes.

Documentación de referencia completa

El paquete MicrosoftML se distribuye en varios productos de Microsoft, pero el uso es el mismo independientemente de si se obtiene el paquete en SQL Server o en otro producto. Dado que las funciones son las mismas, la documentación de las funciones individuales de RevoScaleR se publica en una sola ubicación en la referencia de R. Si existe algún comportamiento específico del producto, las discrepancias se anotarán en la página de ayuda de la función.

Versiones y plataformas

El paquete MicrosoftML se basa en R 3.5.2 y solo está disponible cuando se instala uno de los siguientes productos o descargas de Microsoft:

Nota

En SQL Server 2017, las versiones completas del producto son solo para Windows. Para MicrosoftML en SQL Server 2019, se admiten tanto Windows como Linux.

Dependencias de paquetes

Los algoritmos de MicrosoftML dependen de RevoScaleR para:

  • Objetos de origen de datos. Los datos consumidos por las funciones de MicrosoftML se crean mediante las funciones de RevoScaleR.
  • Informática remota (cambio de la ejecución de la función a una instancia de SQL Server remota). El paquete RevoScaleR proporciona funciones para crear y activar un contexto de cálculo remoto para SQL Server.

En la mayoría de los casos, los paquetes se cargarán juntos siempre que se use MicrosoftML.

Funciones por categoría

En esta sección se enumeran las funciones por categoría, para darle una idea del uso de cada una de ellas. También puede usar la tabla de contenido para ver las funciones en orden alfabético.

1- Algoritmos de aprendizaje automático

Nombre de función Descripción
rxFastTrees Una implementación de FastRank, una implementación eficaz del algoritmo de potenciación del gradiente MART.
rxFastForest Un bosque aleatorio y una implementación de bosque de regresión por cuantiles mediante rxFastTrees.
rxLogisticRegression Regresión logística mediante L-BFGS.
rxOneClassSvm Máquinas de vectores de soporte de una clase.
rxNeuralNet Red neuronal binaria, de varias clases y de regresión.
rxFastLinear Optimización del ascenso estocástico dual de coordenadas para la regresión y clasificación binaria lineal.
rxEnsemble Entrena varios modelos de diversos tipos para obtener un mejor rendimiento predictivo que el que se podría obtener a partir de un único modelo.

2- Funciones de transformación

Nombre de función Descripción
concat Transformación para crear una columna de valor vectorial única a partir de varias columnas.
categorical Cree un vector indicador mediante la transformación categórica con el diccionario.
categoricalHash Convierte el valor categórico en una matriz indicadora mediante un código hash.
featurizeText Genera un contenedor de recuentos de secuencias de palabras consecutivas, denominadas n-gramas, a partir de un corpus de texto determinado. Ofrece detección de idioma, tokenización, eliminación de palabras irrelevantes, normalización de texto y generación de características.
getSentiment Puntúa el texto en lenguaje natural y crea una columna que contiene las probabilidades de que las opiniones del texto sean positivas.
ngram Permite definir argumentos para la extracción de características basada en recuentos y en hash.
selectColumns Selecciona un conjunto de columnas para volver a entrenar, y elimina todas las demás.
selectFeatures Selecciona las características de las variables especificadas mediante un modo especificado.
loadImage Carga los datos de la imagen.
resizeImage Cambia el tamaño de una imagen a una dimensión especificada mediante un método de cambio de tamaño determinado.
extractPixels Extrae los valores de píxeles de una imagen.
featurizeImage Caracteriza una imagen mediante un modelo de red neuronal profunda previamente entrenado.

3- Funciones de puntuación y aprendizaje

Nombre de función Descripción
rxPredict.mlModel Ejecuta la biblioteca de puntuación desde SQL Server, mediante el procedimiento almacenado, o bien desde código R, lo que permite una puntuación en tiempo real para proporcionar un rendimiento de predicción mucho más rápido.
rxFeaturize Transforma los datos de un conjunto de datos de entrada en un conjunto de datos de salida.
mlModel Proporciona un resumen de un modelo de Machine Learning de Microsoft R.

4- Funciones de pérdida para clasificación y regresión

Nombre de función Descripción
expLoss Especificaciones de la función de pérdida de clasificación exponencial.
logLoss Especificaciones de la función de pérdida de clasificación de registros.
hingeLoss Especificaciones de la función de pérdida de clasificación de bisagra.
smoothHingeLoss Especificaciones de la función de pérdida de clasificación de bisagra uniforme.
poissonLoss Especificaciones de la función de pérdida de regresión de Poisson.
squaredLoss Especificaciones de la función de pérdida de regresión cuadrada.

5- Funciones de selección de características

Nombre de función Descripción
minCount Especificación de la selección de características en el modo de recuento.
mutualInformation Especificación de la selección de características en el modo de información mutua.

6- Funciones de modelado de conjuntos

Nombre de función Descripción
fastTrees Crea una lista que contiene el nombre de la función y los argumentos para entrenar un modelo de árbol rápido con rxEnsemble.
fastForest Crea una lista que contiene el nombre de la función y los argumentos para entrenar un modelo de bosque rápido con rxEnsemble.
fastLinear Crea una lista que contiene el nombre de la función y los argumentos para entrenar un modelo de lineal rápido con rxEnsemble.
logisticRegression Crea una lista que contiene el nombre de la función y los argumentos para entrenar un modelo de regresión logística con rxEnsemble.
oneClassSvm Crea una lista que contiene el nombre de la función y los argumentos para entrenar un modelo de OneClassSvm con rxEnsemble.

7- Funciones de red neuronal

Nombre de función Descripción
optimizer Especifica los algoritmos de optimización para el algoritmo de aprendizaje automático rxNeuralNet.

8- Funciones de estado del paquete

Nombre de función Descripción
rxHashEnv Objeto de entorno que se usa para almacenar el estado de todo el paquete.

Cómo usar MicrosoftML

Las funciones de MicrosoftML se pueden llamar en código R encapsulado en procedimientos almacenados. La mayoría de los desarrolladores compilan soluciones de MicrosoftML localmente y, después, migran el código R final a los procedimientos almacenados como un ejercicio de implementación.

El paquete de MicrosoftML para R está instalado de forma preconfigurada en SQL Server 2017.

El paquete no se carga de forma predeterminada. Como primer paso, cargue el paquete de MicrosoftML y, después, cargue RevoScaleR si necesita usar contextos de cálculo remotos o conectividad u objetos de origen de datos relacionados. Después, haga referencia a las funciones individuales que necesite.

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

Consulte también