Compartir a través de


Ejemplos de consultas del modelo de regresión logística

Al crear una consulta en un modelo de minería de datos, puede crear una consulta de contenido, que proporciona detalles sobre los patrones detectados en el análisis, o bien puede crear una consulta de predicción, que usa los patrones del modelo para realizar predicciones mediante nuevos datos.

En esta sección se explica cómo crear consultas para modelos basados en el algoritmo de regresión logística de Microsoft.

Consultas de contenido

Recuperación de parámetros de modelo mediante el conjunto de filas de esquema de minería de datos

Búsqueda de detalles adicionales sobre el modelo mediante DMX

Consultas de predicción

Realizar predicciones para un valor continuo

Realizar predicciones para un valor discreto

Obtención de información sobre el modelo de regresión logística

Los modelos de regresión logística se crean mediante el algoritmo de red neuronal de Microsoft con un conjunto especial de parámetros; por lo tanto, un modelo de regresión logística tiene parte de la misma información que un modelo de redes neuronales, pero es menos complejo. Para comprender la estructura del contenido del modelo y qué tipos de nodo almacenan qué tipo de información, consulte el Contenido del modelo de minería para modelos de regresión logística (Analysis Services - minería de datos).

Para seguir los escenarios de consulta, puede crear un modelo de regresión logística como se describe en la sección siguiente del Tutorial intermedio de minería de datos: Lección 5: Compilar modelos de red neuronal y regresión logística (Tutorial intermedio de minería de datos).

También puede usar la estructura de minería de datos, Correo dirigido, desde el Tutorial básico de minería de datos.

ALTER MINING STRUCTURE [Targeted Mailing]  
ADD MINING MODEL [TM_Logistic Regression]  
([Customer Key],  
[Age],  
[Bike Buyer] PREDICT,  
[Yearly Income] PREDICT,  
[Commute Distance],  
[English Education],  
Gender,  
[House Owner Flag],  
[Marital Status],  
[Number Cars Owned],  
[Number Children At Home],  
[Region],  
[Total Children]  
)  
USING Microsoft_Logistic_Regression  

Consulta de ejemplo 1: Recuperación de parámetros del modelo mediante el conjunto de filas de esquema de minería de datos

Al consultar el conjunto de filas del esquema de minería de datos, puede encontrar metadatos sobre el modelo, como cuando se creó, cuando se procesó por última vez el modelo, el nombre de la estructura de minería de datos en la que se basa el modelo y el nombre de la columna usada como atributo de predicción. En el ejemplo siguiente se devuelven los parámetros que se usaron cuando se creó el modelo por primera vez, junto con el nombre y el tipo del modelo, y la fecha en que se creó.

SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Call Center_LR'  

Resultados de ejemplo:

MODEL_NAME SERVICE_NAME Fecha de creación PARÁMETROS_DE_MINERÍA
Centro de Llamadas_LR Regresión_Logística_Microsoft 04/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000

Consulta de ejemplo 2: Búsqueda de detalles adicionales sobre el modelo mediante DMX

La consulta siguiente devuelve información básica sobre el modelo de regresión logística. Un modelo de regresión logística es similar a un modelo de red neuronal de muchas maneras, incluida la presencia de un nodo estadístico marginal (NODE_TYPE = 24) que describe los valores usados como entradas. En esta consulta de ejemplo se utiliza el modelo de correo dirigido, y se obtienen los valores de todas las entradas al recuperarlos de la tabla anidada, NODE_DISTRIBUTION.

SELECT FLATTENED NODE_DISTRIBUTION AS t  
FROM [TM_Logistic Regression].CONTENT   

Resultados parciales:

t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SOPORTE t.PROBABILIDAD t.VARIANZA t.TIPODEVALOR
Edad Desaparecido 0 0 0 1
Edad 45.43491192 17484 1 126.9544114 3
Comprador de Bicicletas Desaparecido 0 0 0 1
Comprador de Bicicletas 0 8869 0.507263784 0 4
Comprador de Bicicletas 1 8615 0.492736216 0 4
Distancia de viaje Desaparecido 0 0 0 1
Distancia de viaje 5-10 Millas 3033 0.173472889 0 4

La consulta real devuelve muchas más filas; Sin embargo, en este ejemplo se muestra el tipo de información que se proporciona sobre las entradas. Para las entradas discretas, cada valor posible se muestra en la tabla. Para las entradas de valor continuo, como Age, una lista completa es imposible, por lo que la entrada se discretiza como media. Para obtener más información sobre cómo usar la información en el nodo de estadísticas marginales, vea Contenido del modelo de minería para modelos de regresión logística (Analysis Services - Data Mining).

Nota:

Los resultados se han aplanado para facilitar la visualización, pero puede devolver la tabla anidada como una sola columna si el proveedor admite estructuras de filas jerárquicas.

Consultas de predicción en un modelo de regresión logística

Puede usar la función Predict (DMX) con cada tipo de modelo de minería de datos para proporcionar nuevos datos al modelo y realizar predicciones basadas en los nuevos valores. También puede usar funciones para devolver información adicional sobre la predicción, como la probabilidad de que una predicción sea correcta. En esta sección se proporcionan algunos ejemplos de consultas de predicción en un modelo de regresión logística.

Consulta de ejemplo 3: Realizar predicciones para un valor continuo

Dado que la regresión logística admite el uso de atributos continuos para la entrada y la predicción, es fácil crear modelos que correlacionan varios factores en los datos. Puede usar consultas de predicción para explorar la relación entre estos factores.

El ejemplo de consulta siguiente se basa en el modelo del Centro de Llamadas, desde el Tutorial intermedio, y crea una consulta singleton que predice el grado de servicio para el turno de viernes de la mañana. La función PredictHistogram (DMX) devuelve una tabla anidada que proporciona estadísticas relevantes para comprender la validez del valor previsto.

SELECT  
  Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,  
  PredictHistogram([Call Center_LR].[Service Grade]) as [Results],  
FROM  
  [Call Center_LR]  
NATURAL PREDICTION JOIN  
(SELECT 'Friday' AS [Day Of Week],  
  'AM' AS [Shift]) AS t  

Resultados de ejemplo:

Nivel de servicio previsto: 0,102601830123659

Resultados

Nivel de servicio $SOPORTE $PROBABILITY $PROBABILIDADAJUSTADA $VARIANCE $STDEV
0.102601830123659 83.0232558139535 0.988372093023256 0 0.00120552660600087 0.034720694203902
0.976744186046512 0.0116279069767442 0.0116279069767442 0 0

Para obtener más información sobre los valores de probabilidad, soporte y desviación estándar en la tabla de NODE_DISTRIBUTION anidada, consulte Contenido del Modelo de Minería de Datos para Modelos de Regresión Logística (Analysis Services - Minería de Datos).

Consulta de ejemplo 4: Realizar predicciones para un valor discreto

La regresión logística se usa normalmente en escenarios en los que desea analizar los factores que contribuyen a un resultado binario. Aunque el modelo usado en el tutorial predice un valor continuo, ServiceGrade, en un escenario de vida real, es posible que quiera configurar el modelo para predecir si el nivel de servicio cumple algún valor de destino discreto. Como alternativa, podría generar las predicciones con un valor continuo, pero más adelante agrupar los resultados previstos en Buenos, Justos o Pobres.

En el ejemplo siguiente se muestra cómo cambiar la forma en que se agrupa el atributo de predicción. Para ello, crea una copia de la estructura de minería y, a continuación, cambia el método de discretización de la columna de destino para que los valores se agrupen en lugar de ser continuos.

En el procedimiento siguiente se describe cómo cambiar la agrupación de valores de Nivel de servicio en los datos del Centro de llamadas.

Para crear una versión discretizada de los modelos y la estructura de minería de datos del Centro de llamadas
  1. En SQL Server Data Tools (SSDT), en el Explorador de Soluciones despliéguese Estructuras de minería.

  2. Haga clic con el botón derecho en Centro de llamadas.dmm y seleccione Copiar.

  3. Haga clic con el botón derecho en Estructuras de minería y seleccione Pegar. Se agrega una nueva estructura de minería, denominada Centro de llamadas 1.

  4. Haga clic con el botón derecho en la nueva estructura de minería de datos y seleccione Cambiar nombre. Escriba el nuevo nombre, Centro de llamadas discretizado.

  5. Haga doble clic en la nueva estructura de minería para abrirla en el diseñador. Tenga en cuenta que también se han copiado todos los modelos de minería, y que todos tienen la extensión 1. Deje los nombres tal como está por ahora.

  6. En la pestaña Estructura de minería, haga clic con el botón derecho en la columna de Nivel de servicio y seleccione Propiedades.

  7. Cambie la Content propiedad de Continuous a Discretized. Cambie la DiscretizationMethod propiedad a Clusters. En BucketCount de discretización, escriba 3.

    Nota:

    Estos parámetros solo se usan para ilustrar el proceso y no producen necesariamente un modelo válido,

  8. En el menú Modelo de minería de datos, seleccione Estructura de procesos y todos los modelos.

La consulta de ejemplo siguiente se basa en este modelo discretizado y predice el grado de servicio para el día especificado de la semana, junto con las probabilidades de cada resultado previsto.

SELECT  
  (PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]  
FROM  
  [Call Center_LR 1]  
NATURAL PREDICTION JOIN  
(SELECT 'Saturday' AS [Day Of Week]) AS t    

Resultados esperados:

Predicciones

Nivel de servicio $SOPORTE $PROBABILITY $PROBABILIDADAJUSTADA $VARIANZA $STDEV
0.10872718383125 35.7246504770641 0.425293458060287 0.0170168360030293 0 0
0.05855769230625 31.7098880800703 0.377498667619885 0.020882020060454 0 0
0.170169491525 15.6109159883202 0.185844237956192 0.0661386571386049 0 0
0.954545454545455 0.0113636363636364 0.0113636363636364 0 0

Tenga en cuenta que los resultados previstos se han agrupado en tres categorías, tal como se especifica; sin embargo, estas agrupaciones se basan en la agrupación en clústeres de valores reales de los datos, no en valores arbitrarios que podría establecer como objetivos empresariales.

Lista de funciones de predicción

Todos los algoritmos de Microsoft admiten un conjunto común de funciones. Sin embargo, el algoritmo de regresión logística de Microsoft admite las funciones adicionales enumeradas en la tabla siguiente.

Función de predicción Uso
IsDescendant (DMX) Determina si un nodo es un elemento secundario de otro nodo del modelo.
PredictAdjustedProbability (DMX) Devuelve la probabilidad ajustada de un estado especificado.
PredictHistogram (DMX) Devuelve un valor predicho, o un conjunto de valores, para una columna especificada.
PredictProbability (DMX) Devuelve la probabilidad de un estado especificado.
PredictStdev (DMX) Devuelve la desviación estándar del valor previsto.
PredictSupport (DMX) Devuelve el valor de compatibilidad para un estado especificado.
PredictVariance (DMX) Devuelve la varianza de una columna especificada.

Para obtener una lista de las funciones que son comunes a todos los algoritmos de Microsoft, consulte Funciones de predicción general (DMX). Para obtener la sintaxis de funciones específicas, vea Referencia de funciones de Extensiones de Minería de Datos (DMX).

Nota:

En el caso de los modelos de red neuronal y regresión logística, la función PredictSupport (DMX) devuelve un valor único que representa el tamaño del conjunto de entrenamiento para todo el modelo.

Véase también

Consultas de minería de datos
Algoritmo de regresión logística de Microsoft
Referencia técnica del algoritmo de regresión logística de Microsoft
Contenido del modelo de minería de datos para modelos de regresión logística (Analysis Services - Minería de datos)
Lección 5: Creación de modelos de red neuronal y regresión logística (Tutorial intermedio de minería de datos)