Compartir a través de


Creación de una estructura y modelo de red neuronal (Tutorial intermedio de minería de datos)

Para crear un modelo de minería de datos, primero debe usar el Asistente para minería de datos para crear una nueva estructura de minería de datos basada en la nueva vista del origen de datos. En esta tarea, usará el asistente para crear una estructura de minería de datos y, al mismo tiempo, creará un modelo de minería de datos asociado basado en el algoritmo de red neuronal de Microsoft.

Dado que las redes neuronales son extremadamente flexibles y pueden analizar muchas combinaciones de entradas y salidas, debe experimentar con varias formas de procesar los datos para obtener los mejores resultados. Por ejemplo, puede que desee adaptar la manera en que el objetivo numérico de calidad del servicio está clasificado o agrupado para atender a requisitos empresariales específicos. Para ello, agregará una nueva columna a la estructura de minería de datos que agrupa datos numéricos de otra manera y, a continuación, creará un modelo que use la nueva columna. Usted usará estos modelos de minería de datos para realizar cierta exploración.

Por último, cuando haya aprendido del modelo de red neuronal, qué factores tienen el mayor impacto para la pregunta empresarial, creará un modelo independiente para la predicción y la puntuación. Usará el algoritmo de regresión logística de Microsoft, que se basa en el modelo de redes neuronales, pero está optimizado para encontrar una solución basada en entradas específicas.

Pasos

Crea la estructura y el modelo de minería predeterminados

Utiliza la discretización para agrupar la columna predecible

Copie la columna y cambie el método de discretización de un modelo diferente.

Cree un alias para la columna de predicción para poder comparar modelos.

Procesar todos los modelos

Crear la estructura predeterminada del centro de llamadas

  1. En el Explorador de soluciones de SQL Server Data Tools (SSDT), haga clic con el botón derecho en Estructuras de minería de datos y seleccione Nueva estructura de minería de datos.

  2. En la página Bienvenido al Asistente para minería de datos, haga clic en Siguiente.

  3. En la página Seleccionar el Método de Definición, compruebe que Desde base de datos relacional o almacén de datos existente está seleccionado, y a continuación, haga clic en Siguiente.

  4. En la página Crear la estructura de minería de datos, compruebe que la opción Crear estructura de minería de datos con un modelo de minería está seleccionada.

  5. Haga clic en la lista desplegable de la opción ¿Qué técnica de minería de datos desea usar? y seleccione Redes neuronales de Microsoft.

    Dado que los modelos de regresión logística se basan en las redes neuronales, puede reutilizar la misma estructura y agregar un nuevo modelo de minería de datos.

  6. Haga clic en Next.

    Aparece la página Seleccionar vista del origen de datos .

  7. En Vistas de origen de datos disponibles, seleccione Call Centery haga clic en Siguiente.

  8. En la página Especificar tipos de tabla , active la casilla Case situada junto a la tabla FactCallCenter . No seleccione nada para DimDate. Haga clic en Next.

  9. En la página Especificar los datos de entrenamiento, seleccione Clave junto a la columna FactCallCenterID.

  10. Seleccione las casillas Predict y Entrada.

  11. Active las casillas Clave, Entrada y Predict , como se muestra en la tabla siguiente:

    Tablas y columnas Clave/Entrada/Predicción
    AutomaticResponses Entrada
    TiempoPromedioPorProblema Entrada/predicción
    Llamadas Entrada
    DateKey No lo use
    DíaDeLaSemana Entrada
    FactCallCenterID Clave
    ProblemasPlanteados Entrada
    LevelOneOperators Entrada/predicción
    LevelTwoOperators Entrada
    Órdenes Entrada/predicción
    ServiceGrade Entrada/predicción
    Turno Entrada
    TotalOperators No lo use
    Tipo de Salario Entrada

    Tenga en cuenta que se han seleccionado varias columnas predicibles. Uno de los puntos fuertes del algoritmo de red neuronal es que puede analizar todas las combinaciones posibles de atributos de entrada y salida. No querrá hacerlo para un conjunto de datos de gran tamaño, ya que podría aumentar exponencialmente el tiempo de procesamiento.

  12. En la página Especificar contenido y tipo de datos de columnas , compruebe que la cuadrícula contiene las columnas, los tipos de contenido y los tipos de datos como se muestra en la tabla siguiente y, a continuación, haga clic en Siguiente.

    Columnas Tipo de contenido Tipos de datos
    AutomaticResponses Continuo long
    TiempoPromedioPorProblema Continuo long
    Llamadas Continuo long
    DíaDeLaSemana Discreto Mensaje de texto
    FactCallCenterID Clave long
    Problemas planteados Continuo long
    LevelOneOperators Continuo long
    LevelTwoOperators Continuo long
    Órdenes Continuo long
    ServiceGrade Continuo Doble
    Turno Discreto Mensaje de texto
    Tipo de salario Discreto Mensaje de texto
  13. En la página Crear conjunto de pruebas , desactive el cuadro de texto de la opción Porcentaje de datos para pruebas. Haga clic en Next.

  14. En la página Finalización del Asistente, para el nombre de la estructura de minería, escriba Call Center.

  15. Para el nombre del modelo de minería de datos, escriba Call Center Default NNy, a continuación, haga clic en Finalizar.

    El cuadro Permitir obtención de detalles está deshabilitado porque no se puede explorar en profundidad los datos con modelos de red neuronal.

  16. En el Explorador de soluciones, haga clic con el botón derecho en el nombre de la estructura de minería de datos que acaba de crear y seleccione Procesar.

Usar discretización para binar la columna de destino

De forma predeterminada, cuando se crea un modelo de red neuronal que tiene un atributo de predicción numérico, el algoritmo de red neuronal de Microsoft trata el atributo como un número continuo. Por ejemplo, el atributo ServiceGrade es un número que teóricamente oscila entre 0,00 (todas las llamadas se responden) y 1,00 (todos los llamantes cuelgan). En este conjunto de datos, los valores tienen la siguiente distribución:

distribución de valores de nivel de servicio

Como resultado, al procesar el modelo, las salidas pueden agruparse de forma diferente a la esperada. 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 este: 0,0748051948 - 0,09716216215. Aunque esta agrupación es matemáticamente precisa, es posible que estos intervalos no sean tan significativos para los usuarios empresariales.

En este paso, para que el resultado sea más intuitivo, agrupará los valores numéricos de forma diferente, creando copias de la columna de datos numéricas.

Funcionamiento de la discretización

Analysis Services proporciona una variedad de métodos para la discretización o el procesamiento de datos numéricos. En la tabla siguiente se muestran las diferencias entre los resultados cuando el atributo de salida ServiceGrade se ha procesado de tres maneras diferentes:

  • Tratarlo como un número continuo.

  • Hacer que el algoritmo use el agrupamiento para identificar la mejor disposición de los valores.

  • Especificando que los números se agrupen por el método de Áreas Iguales.

Modelo predeterminado (continuo)

VALOR SOPORTE TÉCNICO
Desaparecido 0
0.09875 120

Binned by clustering (Agrupación en clústeres)

VALOR SOPORTE TÉCNICO
< 0.0748051948 34
0.0748051948 - 0.09716216215 27
0.09716216215 - 0.13297297295 39
0.13297297295 - 0.167499999975 10
>= 0,167499999975 10

Agrupado por áreas iguales

VALOR SOPORTE TÉCNICO
< 0.07 26
0.07 - 0.00 22
0.09 - 0.11 36
>= 0,12 36

Nota:

Puede obtener estas estadísticas del nodo de estadísticas marginales del modelo, una vez procesados todos los datos. Para obtener más información sobre el nodo de estadísticas marginales, vea Contenido del modelo de minería de datos para 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 de ServiceGrade. La columna SOPORTE muestra cuántos casos tenían ese valor o que se encontraban en ese intervalo.

  • Uso de números continuos (valor predeterminado)

    Si usó el método predeterminado, el algoritmo calcularía los resultados de 120 valores distintos, cuyo valor medio es 0,09875. También puede ver el número de valores que faltan.

  • Agrupar por clustering

    Al permitir que el algoritmo de agrupación en clústeres de Microsoft determine la agrupación opcional de valores, el algoritmo agruparía los valores de ServiceGrade en cinco (5) intervalos. El número de casos de cada intervalo no se distribuye uniformemente, como puede ver en la columna de soporte técnico.

  • Organizar por áreas iguales

    Al elegir este método, el algoritmo fuerza los valores en depósitos de igual tamaño, que a su vez cambian los límites superior e inferior de cada rango. Puede especificar el número de cubos, pero quiere evitar tener dos pocos valores en cualquier cubo.

Para obtener más información sobre las opciones de agrupación discreta, consulte Métodos de discretización (Minería de datos).

Como alternativa, en lugar de usar los valores numéricos, puede agregar una columna derivada independiente que clasifique las calificaciones de servicio en intervalos de destino predefinidos, como Best (ServiceGrade <= 0,05), Aceptable (0,10 > ServiceGrade > 0,05) y Pobre (ServiceGrade >= 0,10).

Crear una copia de una columna y cambiar el método de discretización

Realizará una copia de la columna de minería de datos que contiene el atributo de destino, ServiceGrade y cambiará la forma en que se agrupan los números. Puede crear varias copias de cualquier columna de una estructura de minería de datos, incluido el atributo de predicción.

En este tutorial, usará el método Equal Areas de discretización y especificará cuatro cubos. Las agrupaciones resultantes de este método están bastante cerca de los valores objetivo de interés para los usuarios de negocios.

Para crear una copia personalizada de una columna en la estructura de minería de datos

  1. En el Explorador de soluciones, haga doble clic en la estructura de minería de datos que acaba de crear.

  2. En la pestaña Estructura de minería de datos, haga clic en Agregar una columna de estructura de minería de datos.

  3. En el cuadro de diálogo Seleccionar columna , seleccione ServiceGrade en la lista de la columna Origen y, a continuación, haga clic en Aceptar.

    Se agrega una nueva columna a la lista de columnas de la estructura de minería. De forma predeterminada, la nueva columna de minería de datos tiene el mismo nombre que la columna existente, con un postfijo 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.

  4. Haga clic con el botón derecho en ServiceGrade 1 y seleccione Propiedades.

  5. En la ventana Propiedades , busque la propiedad Name y cambie el nombre a Service Grade Binned .

  6. 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.

  7. En la ventana Propiedades , busque la sección Tipo de datos y expándala si es necesario.

  8. Cambie el valor de la propiedad Content de Continuous a Discretized.

    Ahora están disponibles las siguientes propiedades. Cambie los valores de las propiedades 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 realmente 0, lo que significa que el algoritmo determina automáticamente el número óptimo de cubos. Por lo tanto, si desea restablecer el valor de esta propiedad a su valor predeterminado, escriba 0.

  9. 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 una estructura de minería, 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 usarí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 ocultar otras relaciones.

Agregar un nuevo modelo de minería de datos a la estructura de minería de datos

Ahora que ha creado una nueva agrupación para el atributo de destino, debe agregar un nuevo modelo de minería de datos que use la columna discretizada. Cuando haya terminado, la estructura de minería de datos callCenter tendrá dos modelos de minería de datos:

  • El modelo de minería de datos, NN predeterminado del centro de llamadas, controla los valores de ServiceGrade como un intervalo continuo.

  • Creará un nuevo modelo de minería de datos, NN binned del centro de llamadas, que usa como resultado de destino los valores de la columna ServiceGrade, distribuidos en cuatro cubos de igual tamaño.

Para agregar un modelo de minería de datos basado en la nueva columna discretizada

  1. En el Explorador de soluciones, haga clic con el botón derecho en la estructura de minería de datos que acaba de crear y seleccione Abrir.

  2. Haga clic en la pestaña Modelos de minería.

  3. Haga clic en Crear un modelo de minería de datos relacionado.

  4. En el cuadro de diálogo Nuevo Modelo de Minería, en Nombre del modelo, escriba Call Center Binned NN. En la lista desplegable Nombre del algoritmo , seleccione Red neuronal de Microsoft.

  5. En la lista de columnas contenidas en el nuevo modelo de minería de datos, busque ServiceGrade y cambie el uso de Predict a Ignore.

  6. Del mismo modo, busque ServiceGrade Binned y cambie el uso de Ignore a Predict.

Crear un alias para la columna de destino

Normalmente, no se pueden comparar modelos de minería de datos que usan atributos de predicción diferentes. Sin embargo, puede crear un alias para una columna de modelo de minería. Es decir, puede cambiar el nombre de la columna ServiceGrade Binned en el modelo de minería de datos para 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 discretizan de forma diferente.

Para agregar un alias para una columna de estructura de minería de datos en un modelo de minería de datos

  1. En la pestaña Modelos de minería de datos , en Estructura, seleccione ServiceGrade Binned.

    Tenga en cuenta que la ventana Propiedades muestra las propiedades del objeto, columna ScalarMiningStructure.

  2. En la columna del modelo de minería, ServiceGrade Binned NN, haga clic en la celda correspondiente a la columna ServiceGrade Binned.

    Tenga en cuenta que ahora la ventana Propiedades muestra las propiedades del objeto MiningModelColumn.

  3. Busque la propiedad Name y cambie el valor a ServiceGrade.

  4. Busque la propiedad Description y escriba Alias de columna temporal.

    La ventana Propiedades debe contener la siguiente información:

    Propiedad Importancia
    Descripción Alias de columna temporal
    IDENTIFICACIÓN ServiceGrade Binned
    Banderas de modelado
    Nombre Nivel de servicio
    SourceColumn ID Nivel de servicio 1
    Uso Predecir
  5. Haga clic en cualquier lugar de la pestaña Modelo de Minería.

    La cuadrícula se actualiza para mostrar el nuevo alias de columna temporal, ServiceGrade, junto al uso de la columna. La cuadrícula que contiene la estructura de minería de datos y dos modelos de minería de datos debe ser similar a la siguiente:

    Estructura NN predeterminado del centro de llamadas Centro de llamadas NN binned
    Red neuronal de Microsoft Red neuronal de Microsoft
    AutomaticResponses Entrada Entrada
    TiempoPromedioPorIncidencia Predecir Predecir
    Llamadas Entrada Entrada
    DíaDeLaSemana Entrada Entrada
    FactCallCenterID Clave Clave
    IssuesRaised Entrada Entrada
    LevelOneOperators Entrada Entrada
    LevelTwoOperators Entrada Entrada
    Órdenes Entrada Entrada
    ServceGrade Binned Ignorar Predict (ServiceGrade)
    ServiceGrade Predecir Ignorar
    Turno Entrada Entrada
    Operadores totales Entrada Entrada
    Tipo de remuneración Entrada Entrada

Procesar todos los modelos

Por último, para asegurarse de que los modelos que ha creado se puedan comparar fácilmente, establecerá el parámetro de semilla para los modelos predeterminados y los modelos agrupados. Establecer un valor de inicialización garantiza que cada modelo empiece a procesar los datos desde el mismo punto.

Nota:

Si no especifica un valor numérico para el parámetro de inicialización, SQL Server Analysis Services generará una inicialización basada en el 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 la semilla y procesar los modelos

  1. En la pestaña Modelo de minería de datos, haga clic con el botón derecho en la columna del modelo denominado Centro de llamadas - LR y seleccione Establecer parámetros de algoritmo.

  2. En la fila del parámetro HOLDOUT_SEED, haga clic en la celda vacía en Valor y escriba 1. Haz clic en Aceptar. Repita este paso para cada modelo asociado a la estructura.

    Nota:

    El valor que elija como inicialización no importa, siempre y cuando use la misma inicialización para todos los modelos relacionados.

  3. En el menú Modelos de minería de datos , seleccione Procesar estructura de minería de datos y Todos los modelos. Haga clic en para implementar el proyecto de minería de datos actualizado en el servidor.

  4. En el cuadro de diálogo Modelo de minería de procesos, haga clic en Ejecutar.

  5. Haga clic en Cerrar para cerrar el cuadro de diálogo Progreso del proceso y, a continuación, haga clic en Cerrar de nuevo en el cuadro de diálogo Modelo de minería de datos de procesos .

Ahora que ha creado los dos modelos de minería de datos relacionados, explorará los datos para detectar relaciones en los datos.

Siguiente tarea de la lección

Exploración del modelo del centro de llamadas (Tutorial intermedio de minería de datos)

Véase también

Estructuras de minería (Servicios de Análisis - Minería de Datos)