Criando uma estrutura e um modelo de rede neural (Tutorial de mineração de dados intermediário)
Para criar um modelo de mineração de dados, primeiro você deve usar o Assistente de Mineração de Dados para criar uma nova estrutura de mineração com base na nova exibição da fonte de dados. Nesta tarefa, você usará o assistente para criar uma estrutura de mineração e, ao mesmo tempo, criar um modelo de mineração associado baseado no algoritmo Microsoft Neural Network.
Como as redes neurais são extremamente flexíveis e podem analisar muitas combinações de entradas e saídas, você deve testar várias maneiras de processar os dados para obter os melhores resultados. Por exemplo, talvez você queira personalizar a maneira como o destino numérico para a qualidade do serviço é binado ou agrupado para atender a requisitos de negócios específicos. Para fazer isso, você adicionará uma nova coluna à estrutura de mineração que agrupa dados numéricos de uma maneira diferente e, em seguida, criará um modelo que usa a nova coluna. Você usará esses modelos de mineração para fazer alguma exploração.
Finalmente, quando você souber, com base no modelo de rede neural, quais fatores têm impacto maior para sua questão comercial, construirá um modelo separado para previsão e marcação. Você usará o algoritmo regressão logística da Microsoft, que é baseado no modelo de redes neurais, mas é otimizado para encontrar uma solução com base em entradas específicas.
Etapas
Criar a estrutura de mineração padrão e modelo
Use a diferenciação guardar a coluna previsível
Copiar a coluna e alterar o método de diferenciação para um modelo diferente
Criar um alias para a coluna previsível de modo que você possa comparar modelos
Criar a estrutura padrão do Call Center
Em Gerenciador de Soluções no SSDT (SQL Server Data Tools), clique com o botão direito do mouse em Estruturas de Mineração e selecione Nova Estrutura de Mineração.
Na página Bem-vindo ao Assistente de Mineração de Dados , clique em Avançar.
Na página Selecionar o Método de Definição , verifique se Do banco de dados relacional ou data warehouse existente está selecionado e clique em Avançar.
Na página Criar a Estrutura de Mineração de Dados , verifique se a opção Criar estrutura de mineração com um modelo de mineração está selecionada.
Clique na lista suspensa da opção Qual técnica de mineração de dados você deseja usar?e selecione Redes Neurais da Microsoft.
Como os modelos de regressão logística se baseiam em redes neurais, você pode reutilizar a mesma estrutura e adicionar um novo modelo de mineração.
Clique em Próximo.
A página Selecionar Exibição da Fonte de Dados é exibida.
Em Exibições de fonte de dados disponíveis, selecione
Call Center
e clique em Avançar.Na página Especificar Tipos de Tabela, selecione a caixa Case marcar ao lado da tabela FactCallCenter. Não selecione nada para DimDate. Clique em Próximo.
Na página Especificar os Dados de Treinamento , selecione Chave ao lado da coluna FactCallCenterID.
Selecione as
Predict
caixas e Entrada marcar.Selecione as caixas Chave, Entrada e
Predict
marcar conforme mostrado na tabela a seguir:Tabelas/Colunas Chave/Entrada/Prever AutomaticResponses Entrada AverageTimePerIssue Entrada/Prever Chamadas Entrada DateKey Não usar DayOfWeek Entrada FactCallCenterID Chave IssuesRaised Entrada LevelOneOperators Entrada/Prever LevelTwoOperators Entrada Pedidos Entrada/Prever ServiceGrade Entrada/Prever Shift Entrada TotalOperators Não usar WageType Entrada Observe que várias colunas previsíveis foram selecionadas. Um dos pontos fortes do algoritmo de rede neural é que ele pode analisar todas as combinações possíveis de atributos de entrada e saída. Você não gostaria de fazer isso para um conjunto de dados grande, pois ele poderia aumentar exponencialmente o tempo de processamento..
Na página Especificar Conteúdo e Tipo de Dados das Colunas , verifique se a grade contém as colunas, os tipos de conteúdo e os tipos de dados, conforme mostrado na tabela a seguir, e clique em Avançar.
Colunas Tipo de conteúdo Tipos de dados AutomaticResponses Contínuo long AverageTimePerIssue Contínuo long Chamadas Contínuo long DayOfWeek Discreto Texto FactCallCenterID Chave long IssuesRaised Contínuo long LevelOneOperators Contínuo long LevelTwoOperators Contínuo long Pedidos Contínuo long ServiceGrade Contínuo Double Shift Discreto Texto WageType Discreto Texto Na página Criar conjunto de testes , desmarque a caixa de texto para a opção Porcentagem de dados para teste. Clique em Próximo.
Na página Concluindo o Assistente , para o nome da estrutura de mineração, digite
Call Center
.Para o nome do modelo de mineração, digite
Call Center Default NN
e clique em Concluir.A caixa Permitir detalhamento está desabilitada porque você não pode analisar dados com modelos de rede neural.
Em Gerenciador de Soluções, clique com o botão direito do mouse no nome da estrutura de mineração de dados que você acabou de criar e selecione Processar.
Use a diferenciação guardar a coluna de destino
Por padrão, quando você cria um modelo de rede neural que tem um atributo previsível numérico, o algoritmo Rede Neural da Microsoft trata o atributo como um número contínuo. Por exemplo, o atributo ServiceGrade é um número que teoricamente varia de 0.00 (todas as chamadas são atendidas) a 1.00 (todos os chamadores desligam). Neste conjunto de dados, os valores têm a seguinte distribuição:
Em virtude disso, quando você processa o modelo, as saídas podem ser agrupadas de modo diferente do esperado. Por exemplo, se você usar clustering para identificar os melhores grupos de valores, o algoritmo dividirá os valores em ServiceGrade em intervalos como este: 0,0748051948 - 0,09716216215. Embora esse agrupamento seja matematicamente preciso, esse tipo de intervalo pode não ser significativo para usuários empresariais.
Nesta etapa, para tornar o resultado mais intuitivo, você agrupará os valores numéricos de forma diferente, criando cópias da coluna de dados numéricos.
Como funciona a diferenciação
O Analysis Services fornece vários métodos para guardar ou processar dados numéricos. A tabela a seguir ilustra as diferenças entre os resultados quando o atributo de saída ServiceGrade foi processado de três maneiras diferentes:
Tratando-o como um número contínuo.
Fazendo o algoritmo usar o clustering para identificar a melhor disposição dos valores.
Especificando que os números são guardados pelo método Áreas Iguais.
Modelo padrão (contínuo)
VALOR | SUPPORT |
---|---|
Ausente | 0 |
0.09875 | 120 |
Guardado por clustering
VALOR | SUPPORT |
---|---|
< 0.0748051948 | 34 |
0.0748051948 - 0.09716216215 | 27 |
0.09716216215 - 0.13297297295 | 39 |
0.13297297295 - 0.167499999975 | 10 |
>= 0,167499999975 | 10 |
Guardado por áreas iguais
VALOR | SUPPORT |
---|---|
< 0.07 | 26 |
0.07 - 0.00 | 22 |
0.09 - 0.11 | 36 |
>= 0,12 | 36 |
Observação
É possível obter essas estatísticas do nó de estatísticas marginais do modelo, depois do processamento de todos os dados. Para obter mais informações sobre o nó de estatísticas marginais, consulte Conteúdo do modelo de mineração para modelos de rede neural (Analysis Services – Mineração de dados).
Nesta tabela, a coluna VALUE mostra para você como o número de ServiceGrade foi tratado. A coluna SUPPORT mostra para você quantos casos tiveram esse valor ou caíram nesse intervalo.
Usar números contínuos (padrão)
Se você usasse o método padrão, o algoritmo computaria os resultados para 120 valores distintos, o valor médio seria 0,09875. Você também pode ver o número de valores ausentes.
Guardar por clustering
Se você deixasse o algoritmo Clustering da Microsoft determinar o agrupamento opcional dos valores, o algoritmo agruparia os valores para ServiceGrade em cinco (5) intervalos. O número de casos em cada intervalo não é distribuído uniformemente, como você pode ver na coluna de suporte.
Guardar por áreas iguais
Quando você escolhe este método, o algoritmo força os valores em buckets de tamanhos iguais, que por sua vez altera os limites superiores e inferiores de cada intervalo. Você pode especificar o número de buckets, mas você quer evitar ter dois valores pequenos em qualquer bucket.
Para obter mais informações sobre opções de binagem, consulte Métodos de discretização (mineração de dados).
Como alternativa, em vez de usar os valores numéricos, você pode adicionar uma coluna derivada separada que classifica as notas de serviço em intervalos de destino predefinidos, como Best (ServiceGrade <= 0,05), Aceitável (0,10 > ServiceGrade > 0,05) e Poor (ServiceGrade >= 0,10).
Criar uma cópia de uma coluna e alterar o método de diferenciação
Você fará uma cópia da coluna de mineração que contém o atributo de destino, ServiceGrade e alterará a forma como os números são agrupados. É possível criar várias cópias de qualquer coluna em uma estrutura de mineração, inclusive do atributo previsível.
Para este tutorial, você usará o método de Áreas Iguais de diferenciação e especificará quatro buckets. Os agrupamentos resultantes desse método são razoavelmente próximos dos valores de destino de interesse de seus usuários empresariais.
Para criar uma cópia personalizada de uma coluna na estrutura de mineração
No Gerenciador de Soluções, clique duas vezes na estrutura de mineração que você acabou de criar.
Na guia Estrutura de Mineração, clique em Adicionar uma coluna de estrutura de mineração.
Na caixa de diálogo Selecionar coluna , selecione ServiceGrade na lista na coluna Origem e clique em OK.
Uma nova coluna é adicionada à lista de colunas da estrutura de mineração. Por padrão, a nova coluna de mineração tem o mesmo nome que a coluna existente, com uma pós-fixação numérica: por exemplo, ServiceGrade 1. É possível alterar o nome dessa coluna para que seja mais descritivo.
Você também especificará o método de diferenciação.
Clique com o botão direito do mouse em ServiceGrade 1 e selecione Propriedades.
Na janela Propriedades , localize a propriedade Name e altere o nome para Service Grade Binned .
Uma caixa de diálogo é exibida perguntando se você deseja fazer a mesma alteração no nome de todas as colunas do modelo de mineração relacionado. Clique em Não.
Na janela Propriedades , localize a seção Tipo de Dados e expanda-a, se necessário.
Altere o valor da propriedade
Content
deContinuous
paraDiscretized
.As propriedades a seguir estão disponíveis agora: Altere os valores das propriedades como mostrado na tabela seguinte:
Propriedade Valor padrão Novo valor DiscretizationMethod
Continuous
EqualAreas
DiscretizationBucketCount
Sem valor 4 Observação
O valor padrão de DiscretizationBucketCount é de fato 0, o que significa que o algoritmo determina o número ideal de buckets automaticamente. Portanto, se você quiser redefinir o valor dessa propriedade como seu padrão, digite 0.
Em Designer de Mineração de Dados, clique na guia Modelos de Mineração.
Observe que quando você adiciona uma cópia de uma coluna da estrutura de mineração, o sinalizador de uso da cópia é definido automaticamente como
Ignore
. Normalmente, quando você adiciona uma cópia de uma coluna a uma estrutura de mineração, você não usa a cópia para análise junto com a coluna original ou o algoritmo localizará uma correlação forte entre as duas colunas que pode obscurecer outras relações.
Adicionar um novo modelo de mineração à estrutura de mineração
Agora que criou um novo agrupamento para o atributo de destino, você precisa adicionar um novo modelo de mineração que use a coluna de dados discretos. Ao concluir, a estrutura de mineração de CallCenter terá dois modelos de mineração:
O modelo de mineração MN Padrão do Call Center trata os valores de ServiceGrade valores como um intervalo contínuo.
Você criará um novo modelo de mineração, Call Center Binned NN, que usa como seus resultados de destino os valores da coluna ServiceGrade, distribuídos em quatro buckets de tamanho igual.
Para adicionar um modelo de mineração baseado na nova coluna de dados discretos
Em Gerenciador de Soluções, clique com o botão direito do mouse na estrutura de mineração que você acabou de criar e selecione Abrir.
Clique na guia Modelos de Mineração .
Clique em Criar um modelo de mineração relacionado.
Na caixa de diálogo Novo Modelo de Mineração , em Nome do modelo, digite
Call Center Binned NN
. Na lista suspensa Nome do algoritmo , selecione Rede Neural da Microsoft.Na lista de colunas contidas no novo modelo de mineração, localize ServiceGrade e altere o uso de
Predict
paraIgnore
.De maneira semelhante, localize ServiceGrade Guardado e altere o uso de
Ignore
paraPredict
.
Criar um alias para a coluna de destino
Ordinariamente você não pode comparar modelos de mineração que usam atributos previsíveis diferentes. No entanto, é possível criar um alias para uma coluna do modelo de mineração. Ou seja, você pode renomear a coluna ServiceGrade Binned no modelo de mineração para que ela tenha o mesmo nome que a coluna original. Em seguida, é possível comparar diretamente esses dois modelos em um gráfico de exatidão, embora os dados sejam diferenciados de maneira diferente.
Para adicionar um alias para uma coluna da estrutura de mineração em um modelo de mineração
Na guia Modelos de Mineração , em Estrutura, selecione ServiceGrade Binned.
Observe que a janela Propriedades exibe as propriedades do objeto ScalarMiningStructure coluna.
Na coluna do modelo de mineração, NM Guardado do ServiceGrade, clique na célula que corresponde à coluna ServiceGrade Guardado.
Observe que agora a janela Propriedades exibe as propriedades do objeto MiningModelColumn.
Localize a propriedade Name e altere o valor para
ServiceGrade
.Localize a propriedade Description e digite alias de coluna temporária.
A janela Propriedades deve conter as seguintes informações:
Propriedade Valor Descrição Alias temporário da coluna ID ServiceGrade Binned Sinalizadores de modelagem Nome Nível de serviço ID da SourceColumn Nível de serviço 1 Usage Predict Clique em qualquer lugar na guia Modelo de Mineração .
A grade é atualizada para mostrar o novo alias de coluna temporária,
ServiceGrade
, ao lado do uso da coluna. A grade que contém a estrutura de mineração e dois modelos de mineração devem ser parecidas com o seguinte:Estrutura NM Padrão do Center NM Guardado do Call Center Rede Neural da Microsoft Rede Neural da Microsoft AutomaticResponses Entrada Entrada AverageTimePerIssue Predict Predict Chamadas Entrada Entrada DayOfWeek Entrada Entrada FactCallCenterID Chave Chave IssuesRaised Entrada Entrada LevelOneOperators Entrada Entrada LevelTwoOperators Entrada Entrada Pedidos Entrada Entrada ServiceGrade Guardado Ignorar Prever (ServiceGrade) ServiceGrade Predict Ignorar Shift Entrada Entrada Total de Operadores Entrada Entrada WageType Entrada Entrada
Processar todos os modelos
Finalmente, para garantir que os modelos criados possam ser comparados facilmente, você definirá o parâmetro de semente para os dois modelos padrão e guardado. A definição de um valor de semente garante que cada modelo inicia o processamento dos dados no mesmo ponto.
Observação
Se você não especificar um valor numérico para o parâmetro de semente, o SQL Server Analysis Services gerará uma semente com base no nome do modelo. Como os modelos sempre têm nomes diferentes, defina um valor de semente para garantir que eles processem os dados na mesma ordem.
Para especificar a semente e processar os modelos
Na guia Modelo de Mineração , clique com o botão direito do mouse na coluna do modelo chamado Call Center – LR e selecione Definir Parâmetros de Algoritmo.
Na linha do parâmetro HOLDOUT_SEED, clique na célula vazia em Valor e digite
1
. Clique em OK. Repita essa etapa para cada modelo associado à estrutura.Observação
O valor escolhido como semente não importa, desde que você use a mesma semente para todos os modelos relacionados.
No menu Modelos de Mineração , selecione Estrutura de Mineração de Processos e Todos os Modelos. Clique em Sim para implantar o projeto de mineração de dados atualizado no servidor.
Na caixa de diálogo Modelo de Mineração de Processos , clique em Executar.
Clique em Fechar para fechar a caixa de diálogo Progresso do Processo e clique em Fechar novamente na caixa de diálogo Modelo de Mineração de Processo .
Agora que criou os dois modelos de mineração relacionados, você explorará os dados para descobrir relações nos dados.
Próxima tarefa da lição
Explorando o modelo de call center (Tutorial de mineração de dados intermediário)
Consulte Também
Estruturas de mineração (Analysis Services – Mineração de dados)