Crear una estructura y un modelo de red neuronal (Tutorial intermedio de minería de datos)
Para crear un modelo de minería de datos, debe usar en primer lugar el Asistente para minería de datos con el objeto de crear una nueva estructura de minería de datos basada en la nueva vista del origen de datos. En esta tarea, utilizará el asistente para crear una estructura de minería de datos y al mismo tiempo crear el modelo inicial de minería de datos que se basa en el algoritmo de red neuronal de Microsoft.
Dado que las redes neuronales son extremadamente flexibles y pueden analizar diferentes combinaciones de entradas y salidas, debe realizar pruebas con diferentes métodos de procesamiento de los datos para obtener los mejores resultados. Por ejemplo, puede que desee personalizar la manera en que se discretiza, o agrupa, el destino numérico de calidad de servicio para satisfacer requisitos empresariales específicos del destino. Para ello, agregará una columna nueva a la estructura de minería de datos que agrupa los datos numéricos de una manera diferente y, a continuación, creará un modelo que use la columna nueva. Utilizará estos modelos de minería de datos para hacer una exploración.
Finalmente, cuando haya aprendido del modelo de red neuronal qué factores tienen el mayor impacto para su cuestión comercial, construirá un modelo independiente para la predicción y evaluación. Usará el algoritmo de regresión logística de Microsoft, que se basa en el modelo de redes neuronales, pero está optimizado para buscar una solución basada en entradas concretas.
Pasos
Crear la estructura de minería de datos básica usando valores predeterminados
Crear una copia de la columna de predicción y modificarla discretizando los valores
Agregar un modelo nuevo y usar la nueva columna como salida para el modelo
Cree un alias para el atributo de predicción modificado
Asignar un valor para procesar los modelos de la misma manera; procesar ambos modelos
Crear la estructura de centro de llamadas predeterminada
Para crear la estructura y el modelo de minería de datos de red neuronal predeterminados
En el Explorador de soluciones de SQL Server Data Tools (SSDT), haga clic con el botón secundario en Estructuras de minería de datos y seleccione Nueva estructura de minería de datos.
En la página de inicio del Asistente para minería de datos, haga clic en Siguiente.
En la página Seleccionar el método de definición, compruebe que la opción A partir de una base de datos relacional o del almacenamiento de datos se ha seleccionado y, a continuación, haga clic en Siguiente.
En la página Crear la estructura de minería de datos, compruebe que la opción Crear la estructura de minería de datos con un modelo de minería de datos está seleccionada.
Haga clic en la lista desplegable para la opción ¿Qué técnica de minería de datos desea utilizar? y seleccione Redes neuronales de Microsoft.
Dado que los modelos de regresión logística se basan en las redes neuronales, puede volver a usar la misma estructura y agregar un nuevo modelo de minería de datos.
Haga clic en Siguiente.
Aparecerá la página Seleccionar vista del origen de datos.
En Vistas del origen de datos disponibles, seleccione Call Center y haga clic en Siguiente.
En la página Especificar tipos de tablas, active la casilla Escenario, situada junto a la tabla FactCallCenter. No seleccione nada para DimDate. Haga clic en Siguiente.
En la página Especificar los datos de aprendizaje, active la casilla Clave situada junto a la columna FactCallCenterID.
Active las casillas Predicción y Entrada.
Active las casillas Clave, Entrada y Predicción, tal como se muestra en la tabla siguiente:
Tablas y columnas
Clave/Entrada/Predicción
AutomaticResponses
Entrada
AverageTimePerIssue
Entrada/Predicción
Calls
Entrada
DateKey
No debe usarse
DayOfWeek
Entrada
FactCallCenterID
Clave
IssuesRaised
Entrada
LevelOneOperators
Entrada/Predicción
LevelTwoOperators
Entrada
Orders
Entrada/Predicción
ServiceGrade
Entrada/Predicción
Shift
Entrada
TotalOperators
No debe usarse
WageType
Entrada
Observe que se han seleccionado varias columnas de predicción. Uno de los puntos fuertes del algoritmo de red neuronal es que puede analizar todas las posibles combinaciones de atributos de entrada y salida. Esto no sería aconsejable para un conjunto de datos grande, ya que podría aumentar exponencialmente el tiempo de procesamiento.
En la página Especificar el contenido y el tipo de datos de las columnas, compruebe que la cuadrícula contiene las columnas, tipos de contenido y tipos de datos que se muestran en la tabla siguiente y, a continuación, haga clic en Siguiente.
Columnas
Tipo de contenido
Tipos de datos
AutomaticResponses
Continuo
Long
AverageTimePerIssue
Continuo
Long
Calls
Continuo
Long
DayOfWeek
Discreto
Text
FactCallCenterID
Clave
Long
IssuesRaised
Continuo
Long
LevelOneOperators
Continuo
Long
LevelTwoOperators
Continuo
Long
Orders
Continuo
Long
ServiceGrade
Continuo
Double
Shift
Discreto
Text
WageType
Discreto
Text
En la página Crear conjunto de pruebas, borre el cuadro de texto de la opción Porcentaje de datos para pruebas. Haga clic en Siguiente.
En la página Finalización del asistente, como Nombre de la estructura de minería de datos, escriba Call Center.
En Nombre del modelo de minería de datos, escriba Call Center Default NN y, a continuación, haga clic en Finalizar.
La casilla Permitir obtención de detalles está deshabilitada porque no puede obtener detalles de los datos con modelos de red neuronal.
En el Explorador de soluciones, haga clic con el botón secundario en el nombre de la estructura de minería de datos recién creada y seleccione Procesar.
Descripción de la discretización
De forma predeterminada, cuando crea un modelo de red neuronal que incluye un atributo de predicción numérico, el algoritmo de red neuronal de Microsoft lo trata como un número continuo. Por ejemplo, el atributo ServiceGrade es un número que, en teoría, abarca desde 0.00 (se responden todas las llamadas) a 1.00 (cuelgan todos los que han llamado). En este conjunto de datos, los valores tienen la siguiente distribución:
Como resultado, al procesar el modelo los resultados pueden aparecer de forma diferente a la que se espera. Por ejemplo, si usa la agrupación en clústeres para identificar los mejores grupos de valores, el algoritmo divide los valores de ServiceGrade en intervalos como éste: 0,0748051948 - 0,09716216215. Aunque esta agrupación es matemáticamente precisa, tales intervalos podrían no ser significativos para los usuarios empresariales. Para agrupar los valores numéricos de manera diferente, puede crear una o varias copias de la columna de datos numéricos y especificar cómo debería procesar los valores el algoritmo de minería de datos. Por ejemplo, podría especificar que el algoritmo divida los valores en menos de seis contenedores.
Analysis Services proporciona varios métodos para discretizar o procesar los datos numéricos. En la tabla siguiente se muestran las diferencias entre los resultados cuando el atributo ServiceGrade de salida se ha procesado de tres maneras diferentes:
Se trata como un número continuo.
Se hace que el algoritmo use la agrupación en clústeres para identificar la mejor organización de valores.
Se especifica que los números se discreticen mediante el método de áreas iguales.
Modelo predeterminado (continuo) |
Discretizado mediante agrupación en clústeres |
Discretizado mediante áreas iguales |
||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
[!NOTA]
Puede obtener estas estadísticas a partir del nodo de estadísticas marginales del modelo una vez que se hayan procesado todos los datos. Para obtener más información acerca del nodo de estadísticas marginales, vea Contenido del modelo de minería de datos para los modelos de red neuronal (Analysis Services - Minería de datos).
En esta tabla, la columna VALUE muestra cómo se ha controlado el número para ServiceGrade. La columna SUPPORT muestra cuántos casos tenían ese valor o pertenecían a ese rango.
Usar números continuos (predeterminado)
Si usa el método predeterminado, el algoritmo calcula los resultados de 120 valores distintos, cuyo valor medio es 0,09875. También puede ver el número de valores que faltan.
Discretizar mediante agrupación en clústeres
Cuando permite que el algoritmo de clústeres de Microsoft determine la agrupación opcional de valores, el algoritmo agrupa los valores de ServiceGrade en cinco (5) rangos. El número de escenarios de cada rango no se distribuye por igual, como puede ver en la columna.
Discretizar mediante áreas iguales
Si elige este método, el algoritmo exige que los valores de los depósitos sean del mismo tamaño, lo que a su vez cambia los límites superior e inferior de cada rango. Puede especificar el número de depósitos, pero es conveniente evitar que haya muy pocos valores en un depósito.
Para obtener más información acerca de las opciones de discretización, vea Métodos de discretización (minería de datos).
De forma alternativa, en lugar de usar valores numéricos, podría agregar una columna derivada independiente que clasifique las calificaciones del servicio en rangos de destino predefinidos, como Excelente (ServiceGrade <= 0,05), Aceptable (0,10 > ServiceGrade > 0,05) y Deficiente (ServiceGrade >= 0,10).
Crear una copia de una columna y cambiar el método de discretización
En minería de datos de Analysis Services, puede cambiar con facilidad la manera en que los datos numéricos se discretizan dentro de una estructura de minería de datos agregando una copia de la columna que contiene los datos de destino y cambiando el método de discretización.
El procedimiento siguiente describe cómo realizar una copia de la columna de minería de datos que contiene el atributo de destino, ServiceGrade. Puede crear varias copias de cualquier columna de una estructura de minería de datos, incluido el atributo de predicción.
A continuación, personalizará la agrupación de los valores numéricos en la columna copiada para reducir la complejidad de las agrupaciones. En este tutorial utilizará el método de discretización de áreas iguales y especificará cuatro depósitos. Las agrupaciones que resultan de este método están bastante cerca de los valores objetivo que interesan a los usuarios empresariales.
[!NOTA]
Durante la exploración inicial de los datos, también puede experimentar con varios métodos de discretización o probar primero a agrupar los datos en clústeres.
Para crear una copia personalizada de una columna de la estructura de minería de datos
En el Explorador de soluciones, haga doble clic en la estructura de minería de datos recién creada.
En la pestaña Estructura de minería de datos, haga clic en Agregar una columna de estructura de minería de datos.
En el cuadro de diálogo Seleccionar columna, seleccione ServiceGrade en la lista Columna de origen y, a continuación, haga clic en Aceptar.
Se agrega una columna nueva a la lista de columnas de la estructura de minería de datos. De forma predeterminada, la nueva columna de minería de datos tiene el mismo nombre que la columna existente, con un sufijo numérico: por ejemplo, ServiceGrade 1. Puede cambiar el nombre de esta columna para que sea más descriptivo.
También especificará el método de discretización.
Haga clic con el botón secundario en ServiceGrade 1 y seleccione Propiedades.
En la ventana Propiedades, localice la propiedad Nombre y cambie el nombre a Service Grade Binned.
Aparece un cuadro de diálogo en el que se pregunta si desea realizar el mismo cambio en el nombre de todas las columnas del modelo de minería de datos relacionadas. Haga clic en No.
En la ventana Propiedades, localice la sección Tipo de datos y expándala si es necesario.
Cambie el valor de la propiedad Content de Continuous a Discretized.
Ahora están disponibles las propiedades siguientes. Cambie los valores de las propiedades tal como se muestra en la tabla siguiente:
Propiedad
Valor predeterminado
Valor nuevo
DiscretizationMethod
Continuous
EqualAreas
DiscretizationBucketCount
Sin valor
4
[!NOTA]
El valor predeterminado de DiscretizationBucketCount es 0, que indica que el algoritmo determina automáticamente el número óptimo de depósitos. Por tanto, si desea restablecer el valor predeterminado de esta propiedad, escriba 0.
En el Diseñador de minería de datos, haga clic en la pestaña Modelos de minería de datos.
Observe que al agregar una copia de una columna de la estructura de minería de datos, la marca de uso de la copia se establece automáticamente en Ignore. Normalmente, al agregar una copia de una columna a una estructura de minería de datos, no utilizaría la copia para el análisis junto con la columna original o el algoritmo encontrará una correlación fuerte entre las dos columnas que podrían disimular otras relaciones.
Agregar un modelo de minería de datos nuevo a la estructura de minería de datos
Ahora que ha creado una nueva agrupación para el atributo de destino, necesita agregar un nuevo modelo de minería de datos que use la columna de datos discretos. Cuando lo haya hecho, la estructura de minería de datos CallCenter tendrá dos modelos de minería de datos:
El modelo de minería de datos, Call Center Default NN, controla los valores de ServiceGrade como un rango continuo.
Creará un nuevo modelo de minería de datos, Call Center Binned NN, que usa como resultados de destino los valores de la columna ServiceGrade, distribuidos en cuatro depósitos del mismo tamaño.
Para agregar un modelo de minería de datos basado en la nueva columna de datos discretos
En el Explorador de soluciones, haga clic con el botón secundario en la estructura de minería de datos recién creada y seleccione Abrir.
Haga clic en la pestaña Modelos de minería de datos.
Haga clic en Crear un modelo de minería de datos relacionado.
En el cuadro de diálogo Nuevo modelo de minería de datos, en Nombre del modelo, escriba Call Center Binned NN. En la lista desplegable Nombre del algoritmo, seleccione Red neuronal de Microsoft.
En la lista de columnas contenida en el nuevo modelo de minería de datos, busque ServiceGrade y cambie el uso de Predict a Ignore.
De igual forma, busque ServiceGrade Binned y cambie el uso de Ignore a Predict.
Normalmente, no puede comparar modelos de minería de datos que usen atributos de predicción diferentes. Sin embargo, puede crear un alias para una columna del modelo de minería de datos. Es decir, puede cambiar el nombre de la columna, ServiceGrade Binned, en el modelo de minería de datos de modo que tenga el mismo nombre que la columna original. A continuación, puede comparar directamente estos dos modelos en un gráfico de precisión, aunque los datos se discreticen de manera diferente.
Para agregar un alias para una columna de una estructura de minería de datos de un modelo de minería de datos
En la pestaña Modelos de minería de datos, en Estructura, seleccione ServiceGrade Binned.
Observe que la ventana Propiedades muestra las propiedades del objeto, columna ScalarMiningStructure.
En la columna del modelo de minería de datos, ServiceGrade Binned NN, haga clic en la celda correspondiente a la columna ServiceGrade Binned.
Observe que ahora la ventana Propiedades muestra las propiedades del objeto MiningModelColumn.
Busque la propiedad Name y cambie el valor por ServiceGrade.
Busque la propiedad Description y escriba Alias de columna temporal.
La ventana Propiedades debería contener la información siguiente:
Propiedad
Valor
Descripción
Alias de columna temporal
Identificador
ServiceGrade Binned
Marcas de modelado
Nombre
Service Grade
SourceColumn ID
Service Grade 1
Uso
Predicción
Haga clic en cualquier parte de la pestaña Modelo de minería de datos.
La cuadrícula se actualiza para mostrar el nuevo alias de la columna temporal, ServiceGrade, al lado del uso de la columna. La cuadrícula que contiene la estructura de minería de datos y dos modelos de minería de datos debería tener una apariencia similar a la siguiente:
Estructura
Call Center Default NN
Call Center Binned NN
Red neuronal de Microsoft
Red neuronal de Microsoft
AutomaticResponses
Entrada
Entrada
AverageTimePerIssue
Predicción
Predicción
Calls
Entrada
Entrada
DayOfWeek
Entrada
Entrada
FactCallCenterID
Clave
Clave
IssuesRaised
Entrada
Entrada
LevelOneOperators
Entrada
Entrada
LevelTwoOperators
Entrada
Entrada
Orders
Entrada
Entrada
ServiceGrade Binned
Omitir
Predicción (ServiceGrade)
ServiceGrade
Predicción
Omitir
Mayús
Entrada
Entrada
Total Operators
Entrada
Entrada
WageType
Entrada
Entrada
Procesar el modelo
Finalmente, para asegurarse de que los modelos que ha creado se pueden comparar fácilmente, establecerá el parámetro de inicialización del modelo discretizado y del predeterminado. Al establecer un valor de inicialización se garantiza que cada modelo comienza el procesamiento de los datos desde el mismo punto.
[!NOTA]
Si no se especifica un valor numérico para el parámetro de inicialización, SQL Server Analysis Services lo generará a partir del nombre del modelo. Dado que los modelos siempre tienen nombres diferentes, debe establecer un valor de inicialización para asegurarse de que procesan los datos en el mismo orden.
Para especificar el valor de inicialización y procesar los modelos
En la pestaña Modelo de minería de datos, haga clic con el botón secundario en la columna del modelo denominado Call Center - LR y seleccione Establecer parámetros de algoritmo.
En la fila correspondiente al parámetro HOLDOUT_SEED, haga clic en la celda vacía que está situada bajo Valor y escriba 1. Haga clic en Aceptar. Repita este paso para cada modelo asociado a la estructura.
[!NOTA]
El valor de inicialización que elija no es importante siempre y cuando use el mismo para todos los modelos relacionados.
En el menú Modelos de minería de datos, seleccione Procesar estructura de minería de datos y todos los modelos. Haga clic en Sí para implementar el proyecto de minería de datos actualizado en el servidor.
En el cuadro de diálogo Modelo de minería de datos, haga clic en Ejecutar.
Haga clic en Cerrar para cerrar el cuadro de diálogo Progreso del proceso y, a continuación, haga clic de nuevo en Cerrar en el cuadro de diálogo Procesar modelo de minería de datos.
Ahora que ha creado los dos modelos de minería de datos relacionados, explorará los datos para detectar relaciones.
Siguiente tarea de la lección
Explorar el modelo de centro de llamadas (Tutorial intermedio de minería de datos)
Vea también
Conceptos
Estructuras de minería de datos (Analysis Services - Minería de datos)