RevoScaleR (paquete de R en SQL Server Machine Learning Services)
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores
RevoScaleR es un paquete de R de Microsoft que admite computación distribuida, contextos de cálculo remoto y algoritmos de ciencia de datos de alto rendimiento. También admite la importación de datos, la transformación de datos, el resumen, la visualización y el análisis. El paquete se incluye en SQL Server Machine Learning Services y en SQL Server 2016 R Services.
A diferencia de las funciones base de R, las operaciones de RevoScaleR se pueden realizar en conjuntos de datos grandes, en paralelo y en sistemas de archivos distribuidos. Las funciones pueden operar en conjuntos de valores que no caben en la memoria mediante fragmentación y reensamblado de los resultados cuando se completan las operaciones.
Las funciones de RevoScaleR se indican con un prefijo rx** o RX para que sean fáciles de identificar.
RevoScaleR sirve como plataforma para la ciencia de datos distribuidos. Por ejemplo, puede usar las transformaciones y contextos de cálculo de RevoScaleR con los algoritmos de última generación de MicrosoftML. También puede usar rxExec para ejecutar funciones base de R en paralelo.
Documentación de referencia completa
El paquete de RevoScaleR se distribuye en varios productos de Microsoft, pero el uso es el mismo, se obtenga 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 de RevoScaleR se basa en R 3.4.3 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 RevoScaleR en SQL Server 2019, se admiten tanto Windows como Linux.
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- Origen de datos y cálculo
RevoScaleR incluye funciones para crear orígenes de datos y establecer la ubicación, o el contexto de proceso, de dónde se realizan los cálculos. Un objeto de origen de datos es un contenedor que especifica una cadena de conexión, junto con el conjunto de datos que quiera, definido como una tabla, una vista o una consulta. No se admiten llamadas a procedimientos almacenados. En la tabla siguiente se enumeran las funciones relevantes para los escenarios de SQL Server.
En algunos casos, SQL Server y R usan tipos de datos diferentes. Para obtener una lista de las asignaciones entre los tipos de datos de SQL y R, vea tipos de datos entre R y SQL.
Función | Descripción |
---|---|
RxInSqlServer | Cree un objeto de contexto de proceso de SQL Server para enviar los cálculos a una instancia remota. Varias funciones de RevoScaleR toman el contexto de proceso como argumento. |
rxGetComputeContext / rxSetComputeContext | Obtenga o establezca el contexto de proceso activo. |
RxSqlServerData | Cree un objeto de datos basado en una consulta o una tabla de SQL Server. |
RxOdbcData | Cree un origen de datos basado en una conexión ODBC. |
RxXdfData | Cree un origen de datos basado en un archivo XDF local. Los archivos XDF a menudo se usan para descargar en el disco los datos en memoria. Un archivo XDF puede ser útil al trabajar con más datos de los que se pueden transferir desde la base de datos en un lote o con más datos de los que caben en la memoria. Por ejemplo, si suele mover grandes cantidades de datos de una base de datos a una estación de trabajo local, en lugar de consultar la base de datos varias veces para cada operación de R, puede usar el archivo XDF a modo de memoria caché para guardar los datos localmente y, después, trabajar con ellos en el área de trabajo de R. |
Sugerencia
Si no está familiarizado con la idea de los orígenes de datos o los contextos de cálculo, le recomendamos que comience con el artículo Computación distribuida.
Ejecutar instrucciones DDL
Puede ejecutar instrucciones de DDL de R si tiene los permisos necesarios en la instancia y la base de datos. Las siguientes funciones usan las llamadas ODBC para ejecutar instrucciones DDL o recuperar el esquema de la base de datos.
Función | Descripción |
---|---|
rxSqlServerTableExists y rxSqlServerDropTable | Elimine una tabla SQL Server o compruebe la existencia de un objeto o una tabla de base de datos. |
rxExecuteSQLDDL | Ejecute un comando de lenguaje de definición de datos (DDL) que defina o manipule objetos de base de datos. Esta función no puede devolver datos y solo se usa para recuperar o modificar el esquema de objetos o los metadatos. |
2- Manipulación de datos (ETL)
Después de crear un objeto de origen de datos, puede usar el objeto para cargar datos en él, transformar los datos o escribir otros nuevos en el destino especificado. En función del tamaño de los datos en el origen, también puede definir el tamaño del lote como parte del origen de datos y mover los datos en fragmentos.
Función | Descripción |
---|---|
rxOpen-methods | Compruebe si un origen de datos está disponible, abre o cierra un origen de datos, lee los datos de un origen, escribe datos en el destino y cierra un origen de datos. |
rxImport | Mueva los datos desde un origen de datos al almacenamiento de archivos o a una trama de datos. |
rxDataStep | Transforme los datos mientras los mueve entre orígenes de datos. |
3- Funciones de creación de gráficos
Nombre de función | Descripción |
---|---|
rxHistogram | Crea un histograma a partir de los datos. |
rxLinePlot | Crea un gráfico de líneas a partir de los datos. |
rxLorenz | Calcula una curva de Lorenz que se puede mostrar como un trazado. |
rxRocCurve | Calcula y traza curvas ROC a partir de los datos reales y previstos. |
4- Estadísticas descriptivas
Nombre de función | Descripción |
---|---|
rxQuantile * | Calcula los cuantiles aproximados para archivos .xdf y tramas de datos sin ordenar. |
rxSummary * | Estadísticas de resumen básico de datos, incluidos los cálculos por grupo. No se admite la escritura de cálculos de grupo en el archivo .xdf. |
rxCrossTabs * | Tabulación cruzada basada en fórmulas de los datos. |
rxCube * | Tabulación cruzada basada en fórmulas alternativa diseñada para la representación eficaz que devuelve resultados del cubo. No se admite la escritura de resultados en el archivo .xdf. |
rxMarginals | Resúmenes marginales de las tabulaciones cruzadas. |
as.xtabs | Convierte los resultados de tabulación cruzada en un objeto xtabs. |
rxChiSquaredTest | Realiza una prueba χ2 en un objeto xtabs. Se usa con conjuntos de datos pequeños y no fragmenta los datos. |
rxFisherTest | Realiza una prueba de exacto de Fisher en un objeto xtabs. Se usa con conjuntos de datos pequeños y no fragmenta los datos. |
rxKendallCor | Calcula el coeficiente de correlación por rangos tau de Kendall mediante un objeto xtabs. |
rxPairwiseCrossTab | Aplica una función a combinaciones por pares de filas y columnas de un objeto xtabs. |
rxRiskRatio | Calcula el riesgo relativo de un objeto xtabs de dos por dos. |
rxOddsRatio | Calcula el coeficiente de probabilidades de un objeto xtabs de dos por dos. |
* Indica las funciones más populares de esta categoría.
5- Funciones de predicción
Nombre de función | Descripción |
---|---|
rxLinMod * | Ajusta un modelo lineal a los datos. |
rxLogit * | Ajusta un modelo de regresión logística a los datos. |
rxGlm * | Ajusta un modelo lineal generalizado a los datos. |
rxCovCor * | Calcula la covarianza, correlación o la matriz de suma de cuadrados o producto vectorial de un conjunto de variables. |
rxDTree * | Ajusta un árbol de clasificación o regresión a los datos. |
rxBTrees * | Ajusta un bosque de decisión de clasificación o regresión a los datos mediante un algoritmo de potenciación del gradiente estocástico. |
rxDForest * | Ajusta un bosque de decisión de clasificación o regresión a los datos. |
rxPredict * | Calcula predicciones para los modelos ajustados. La salida debe ser un origen de datos XDF. |
rxKmeans * | Lleva a cabo la agrupación en clústeres k-means. |
rxNaiveBayes * | Realiza una clasificación de Naive Bayes. |
rxCov | Calcula la matriz de covarianza de un conjunto de variables. |
rxCor | Calcula la matriz de correlación de un conjunto de variables. |
rxSSCP | Calcula la matriz de suma de cuadrados o producto vectorial de un conjunto de variables. |
rxRoc | Cálculos de una característica operativa del receptor (ROC) con los valores reales y previstos de un sistema clasificador binario. |
* Indica las funciones más populares de esta categoría.
Cómo trabajar con RevoScaleR
Las funciones de RevoScaleR se pueden llamar en código R encapsulado en procedimientos almacenados. La mayoría de los desarrolladores compilan soluciones de RevoScaleR localmente y, después, migran el código R final a los procedimientos almacenados como un ejercicio de implementación.
Cuando se ejecuta localmente, normalmente se ejecuta un script de R desde la línea de comandos o desde un entorno de desarrollo de R, y se especifica un contexto de proceso de SQL Server mediante una de las funciones de RevoScaleR. Puede usar el contexto de proceso remoto para todo el código o para funciones individuales. Por ejemplo, puede que quiera descargar el entrenamiento del modelo en el servidor para usar los datos más recientes y evitar el movimiento de datos.
Cuando esté preparado para encapsular el script de R dentro de un procedimiento almacenado, sp_execute_external_script, se recomienda que vuelva a escribir el código como una sola función que tenga las entradas y salidas definidas con claridad.