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