Ejemplos de consultas de modelos de regresión logística
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. En el ejemplo siguiente se devuelven los parámetros que se usaron 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 |
|
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 de datos discretos de la estructura de minería de datos y los modelos del centro de llamadas
En SQL Server Data Tools (SSDT), en el Explorador de soluciones, expanda Estructuras de minería de datos.
Haga clic con el botón secundario en Call Center.dmm y seleccione Copiar.
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.
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 de datos discretos.
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.
En la pestaña Estructura de minería de datos, haga clic con el botón secundario en la columna de Service Grade y seleccione Properties.
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.
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 de 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 |
||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
Función de predicción |
Uso |
Determina si un nodo es un elemento secundario de otro nodo del modelo. |
|
Devuelve la probabilidad ajustada de un estado especificado. |
|
Devuelve un valor o un conjunto de valores predichos para una columna especificada. |
|
Devuelve la probabilidad de un estado especificado. |
|
Devuelve la desviación estándar del valor predicho. |
|
Devuelve el valor de soporte de un estado especificado. |
|
Devuelve la varianza de una columna especificada. |
Para consultar una lista de las funciones comunes a todos los algoritmos de Microsoft, vea Funciones de predicción generales (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.
Vea también
Referencia
Referencia técnica del algoritmo de regresión logística de Microsoft