Consultar un modelo de regresión logística (Analysis Services - Minería de datos)

Cuando se crea una consulta en un modelo de minería de datos, puede tratarse de una consulta de contenido, que proporciona detalles de los patrones detectados durante el análisis, o de una consulta de predicción, que utiliza los patrones del modelo para realizar predicciones con los nuevos datos.

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

Consultas de contenido

Recuperar parámetros del modelo utilizando el conjunto de filas de esquema de minería de datos

Buscar información adicional sobre el modelo utilizando DMX

Consultas de predicción

Realizar predicciones para un valor continuo

Realizar predicciones para un valor discreto

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

Los modelos de regresión logística se crean utilizando el algoritmo de red neuronal de Microsoft con un conjunto especial de parámetros; por consiguiente, contienen parte de la misma información que los modelos de redes neuronales, pero son menos complejos. Para entender la estructura del contenido del modelo y qué tipos de nodo almacenan qué tipo de información, vea Contenido del modelo de minería de datos para los modelos de regresión logística (Analysis Services - Minería de datos).

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

También puede utilizar la estructura de minería de datos Targeted Mailing de 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: recuperar parámetros del modelo utilizando el conjunto de filas de esquema de minería de datos

Al consultar el conjunto de filas de esquema de minería de datos, se pueden encontrar metadatos sobre el modelo, como cuándo se creó, cuándo se procesó por última vez, el nombre de la estructura de minería de datos en que se basa el modelo, y el nombre de la columna que se usa como atributo de predicción. El ejemplo siguiente devuelve los parámetros que se utilizaron cuando se creó por primera vez el modelo, 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 del ejemplo:

MODEL_NAME

SERVICE_NAME

DATE_CREATED

MINING_PARAMETERS

Call Center_LR

Microsoft_Logistic_Regression

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

Volver al principio

Consulta de ejemplo 2: buscar información adicional sobre el modelo utilizando 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 en muchos sentidos, por ejemplo en la presencia de un nodo estadístico marginal (NODE_TYPE = 24) que describe los valores que se usan como entradas. En esta consulta de ejemplo se utiliza el modelo de distribución de correo directo y se obtienen los valores de todas las entradas recuperándolos 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.SUPPORT

t.PROBABILITY

t.VARIANCE

t.VALUETYPE

Age

Missing

0

0

0

1

Age

45.43491192

17484

1

126.9544114

3

Bike Buyer

Missing

0

0

0

1

Bike Buyer

0

8869

0.507263784

0

4

Bike Buyer

1

8615

0.492736216

0

4

Commute Distance

Missing

0

0

0

1

Commute Distance

5-10 Miles

3033

0.173472889

0

4

La consulta real devuelve muchas más filas; sin embargo, este ejemplo muestra el tipo de información que se proporciona sobre las entradas. En la tabla se enumera cada valor posible para las entradas discretas. Para entradas de valor continuo como Age, no se puede realizar una lista completa, de modo que la entrada son datos discretos como media. Para obtener más información acerca de cómo utilizar la información en el nodo de estadísticas marginales, vea Contenido del modelo de minería de datos para los modelos de regresión logística (Analysis Services - Minería de datos).

Nota

Los resultados se muestran sin una estructura jerárquica para facilitar la visualización, pero puede devolver la tabla anidada en una sola columna si su proveedor admite conjuntos de filas jerárquicas. Para obtener más información, vea Hierarchical Rowsets en la Guía del programador de OLE DB.

Volver al principio

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

Puede utilizar 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 utilizar 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.

Ejemplo de consulta 3: realizar predicciones para un valor continuo

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

La siguiente consulta de ejemplo se basa en el modelo de centro de llamadas del tutorial intermedio. En ella se crea una consulta singleton que predice el nivel del servicio del turno de la mañana del viernes. La función PredictHistogram (DMX) devuelve una tabla anidada que proporciona las estadísticas pertinentes para conocer la validez del valor predicho.

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 del ejemplo:

Grado de servicio predicho

Resultado

0.102601830123659

Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.10260183012365983.02325581395350.98837209302325600.001205526606000870.034720694203902
0.9767441860465120.01162790697674420.011627906976744200

Para obtener más información sobre los valores de probabilidad, compatibilidad y desviación estándar en la tabla NODE_DISTRIBUTION anidada, vea Contenido del modelo de minería de datos para los modelos de regresión logística (Analysis Services - Minería de datos).

Volver al principio

Ejemplo de consulta 4: realizar predicciones para un valor discreto

La regresión logística se suele usar en los escenarios en los que se desea analizar los factores que contribuyen a un resultado binario. Aunque el modelo utilizado en el tutorial predice un valor continuo, ServiceGrade, en la vida real podría desear configurar el modelo para predecir si el nivel de servicio cumplió un valor esperado de datos discretos. También podría generar las predicciones mediante un valor continuo pero, posteriormente, agrupar los resultados en Bueno, Aceptable o Malo.

En el siguiente ejemplo se muestra cómo cambiar la manera en que se agrupa el atributo predecible. Para hacerlo, debe crear una copia de la estructura de minería de datos y, a continuación, cambiar el método de discretization de la columna de destino para que los valores sean agrupados en lugar de continuos.

En el siguiente procedimiento se describe cómo cambiar la agrupación de los valores de Service Grade de los datos del centro de llamadas.

Para crear una versión con datos discretos de la estructura de minería de datos y los modelos de centro de llamadas

  1. En Business Intelligence Development Studio, en Explorador de soluciones, expanda Estructuras de minería de datos.

  2. Haga clic con el botón secundario en Call Center.dmm y seleccione Copiar.

  3. Haga clic con el botón secundario en Estructuras de minería de datos y seleccione Pegar. Se agrega una nueva estructura de minería de datos, con el nombre Call Center 1.

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

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

  6. En la ficha Estructura de minería de datos, haga clic con el botón secundario en la columna de Service Grade y seleccione Properties.

  7. Cambie la propiedad Content de Continua a Discretizada. Cambie la propiedad DiscretizationMethod a Clústeres. En Discretization BucketCount, escriba 3.

    Nota

    Estos parámetros se utilizan simplemente para ilustrar el proceso y no generan necesariamente un modelo válido.

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

La siguiente consulta del ejemplo está basada en este modelo con datos discretos y predice el nivel de servicio del día de la semana especificado, 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

Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.1087271838312535.72465047706410.4252934580602870.017016836003029300
0.0585576923062531.70988808007030.3774986676198850.02088202006045400
0.17016949152515.61091598832020.1858442379561920.066138657138604900
0.9545454545454550.01136363636363640.011363636363636400

Tenga en cuenta que los resultados previstos se han agrupado en tres categorías como se ha especificado. Sin embargo, estas agrupaciones están basadas en la agrupación en clústeres de valores reales en los datos, no en valores arbitrarios que se podrían establecer como objetivos empresariales.

Volver al principio

Lista de funciones de predicción

Todos los algoritmos de Microsoft admiten un conjunto común de funciones. No obstante, el algoritmo de regresión logística de Microsoft admite las funciones adicionales que se enumeran en la siguiente tabla.

Para consultar una lista de las funciones comunes a todos los algoritmos de Microsoft, vea Asignar funciones a tipos de consulta (DMX). Para obtener más información acerca de la sintaxis de funciones específicas, vea Referencia de funciones de Extensiones de minería de datos (DMX).

Nota

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