Compartilhar via


Validação cruzada (Analysis Services – Mineração de dados)

A validação cruzada é uma ferramenta padrão em análise e é um recurso importante para ajudá-lo a desenvolver e ajustar modelos de mineração de dados. Use a validação cruzada depois de criar uma estrutura de mineração e modelos de mineração relacionados para verificar a validade do modelo. A validação cruzada tem os seguintes aplicativos:

  • Validando a robustez de um modelo de mineração específico.

  • Avaliando vários modelos a partir de uma única declaração.

  • Criando vários modelos e, em seguida, identificando o melhor modelo com base em estatísticas.

Esta seção descreve como usar os recursos de validação cruzada fornecidos para mineração de dados e como interpretar os resultados da validação cruzada para um único modelo ou para vários modelos com base em um único conjunto de dados.

Visão geral do processo de validação cruzada

A validação cruzada consiste em duas fases, treinamento e geração de resultados. Essas fases incluem as seguintes etapas:

  • Selecione uma estrutura de mineração de destino.

  • Especifique os modelos que deseja testar. Esta etapa é opcional; você também pode testar apenas a estrutura de mineração.

  • Especifique os parâmetros para testar os modelos treinados.

    • O atributo previsível, o valor previsto e o limite de precisão.

    • O número de subconjuntos nos quais particionar a estrutura ou os dados do modelo.

  • O Analysis Services cria e treina quantos modelos houver dobras.

  • O Analysis Services retorna um conjunto de métricas de precisão para cada dobra em cada modelo ou para o conjunto de dados como um todo.

Configurando a validação cruzada

Você pode personalizar a maneira como a validação cruzada funciona para controlar o número de seções cruzadas, os modelos testados e a barra de precisão para previsões. Se você usar os procedimentos armazenados de validação cruzada, também poderá especificar o conjunto de dados usado para validar os modelos. Essa riqueza de opções significa que você pode facilmente produzir muitos conjuntos de resultados diferentes que devem então ser comparados e analisados.

Esta seção fornece informações para ajudá-lo a configurar a validação cruzada adequadamente.

Definindo o número de partições

Ao especificar o número de partições, você determina quantos modelos temporários serão criados. Para cada partição, uma amostra transversal dos dados é marcada para uso como conjunto de teste, e um novo modelo é criado treinando com os dados restantes que não estão na partição. Esse processo é repetido até que o Analysis Services tenha criado e testado o número especificado de modelos. Os dados especificados como disponíveis para validação cruzada são distribuídos uniformemente entre todas as partições.

O exemplo no diagrama ilustra o uso de dados se três partições forem especificadas.

Como a validação cruzada segmenta dados

No cenário do diagrama, a estrutura de mineração contém um conjunto de dados de reserva utilizado para teste, mas o conjunto de dados de teste não foi incluído na validação cruzada. Como resultado, todos os dados no conjunto de dados de treinamento, 70% dos dados na estrutura de mineração, são usados para validação cruzada. O relatório de validação cruzada mostra o número total de casos usados em cada partição.

Você também pode especificar a quantidade de dados usados durante a validação cruzada, especificando o número de casos gerais a serem usados. Os casos são distribuídos uniformemente em todas as partições.

Para estruturas de mineração armazenadas em uma instância do SQL Server Analysis Services, o valor máximo que você pode definir para o número de dobras é 256 ou o número de casos, dependendo de qual for menor. Se você estiver usando uma estrutura de mineração de sessão, o número máximo de dobras será 10.

Observação

À medida que você aumenta o número de dobras, o tempo necessário para executar a validação cruzada aumenta adequadamente, pois um modelo deve ser gerado e testado para cada dobra. Você poderá enfrentar problemas de desempenho se o número de dobras for muito alto.

Definindo o limite de precisão

O limite de estado permite definir a barra de precisão para previsões. Para cada caso, o modelo calcula a probabilidade de previsão, o que significa a probabilidade de que o estado previsto esteja correto. Se a probabilidade de previsão exceder a barra de precisão, a previsão será contada como correta; caso contrário, a previsão será contada como incorreta. Você controla esse valor definindo o Limite de Estado como um número entre 0,0 e 1,0, em que números mais próximos de 1 indicam um forte nível de confiança nas previsões e números mais próximos de 0 indicam que a previsão é menos provável que seja verdadeira. O valor padrão para o limite de estado é NULL, o que significa que o estado previsto com a maior probabilidade é considerado o valor de destino.

Você deve estar ciente de que a configuração do limite de estado afeta medidas de precisão do modelo. Por exemplo, suponha que você tenha três modelos que deseja testar. Todos se baseiam na mesma estrutura de mineração e preveem a coluna [Bike Buyer]. Além disso, você deseja prever um único valor de 1, que significa "sim, comprará". Os três modelos retornam previsões com probabilidades previstas de 0,05, 0,15 e 0,8. Se você definir o limite de estado como 0,10, duas das previsões serão contadas como corretas. Se você definir o limite de estado como 0,5, apenas um modelo será contado como tendo retornado uma previsão correta. Se você usar o valor padrão, nulo, a previsão mais provável será contada como correta. Nesse caso, todas as três previsões seriam contadas como corretas.

Observação

Você pode definir um valor de 0,0 para o limite, mas o valor não tem sentido, pois cada previsão será contada como correta, mesmo aquelas com probabilidade zero. Tenha cuidado para não definir acidentalmente o Limite de Estado como 0,0.

Escolhendo modelos e colunas para validar

Ao usar a guia Validação Cruzada no Designer de Mineração de Dados, primeiro você deve selecionar a coluna previsível em uma lista. Normalmente, uma estrutura de mineração pode dar suporte a muitos modelos de mineração, nem todos os quais usam a mesma coluna previsível. Quando você executa a validação cruzada, somente os modelos que usam a mesma coluna previsível podem ser incluídos no relatório.

Para escolher um atributo previsível, clique em Atributo de Destino e selecione a coluna na lista. Se o atributo de destino for uma coluna aninhada ou uma coluna em uma tabela aninhada, você deverá digitar o nome da coluna aninhada usando o formato <Nome> da Tabela Aninhada(chave).<Coluna> aninhada. Se a única coluna usada da tabela aninhada for a coluna de chave, você poderá usar <Nome> da Tabela Aninhada(chave).

Depois de selecionar o atributo previsível, o Analysis Services testa automaticamente todos os modelos que usam o mesmo atributo previsível. Se o atributo de destino contiver valores discretos, depois de selecionar a coluna previsível, você poderá, opcionalmente, digitar um estado de destino, se houver um valor específico que você deseja prever.

A seleção do estado de destino afeta as medidas retornadas. Se você especificar um atributo de destino, ou seja, um nome de coluna e não escolher um valor específico que você deseja que o modelo preveja, por padrão, o modelo será avaliado em sua previsão do estado mais provável.

Quando você usa validação cruzada com modelos de clustering, não há coluna de previsão; em vez disso, selecione #Cluster da lista na caixa de listagem Atributo de Destino. Depois de selecionar essa opção, outras opções que não são relevantes para modelos de clustering, como o Estado de Destino, serão desabilitadas. Em seguida, o Analysis Services testará todos os modelos de clustering associados à estrutura de mineração.

Ferramentas para validação cruzada

Você pode usar a validação cruzada do Designer de Mineração de Dados ou executar a validação cruzada executando procedimentos armazenados.

Se você usar as ferramentas do Designer de Mineração de Dados para executar a validação cruzada, poderá configurar os parâmetros de resultados de treinamento e precisão em uma única caixa de diálogo. Isso facilita a configuração e a exibição de resultados. Você pode medir a precisão de todos os modelos de mineração relacionados a uma única estrutura de mineração e, em seguida, exibir imediatamente os resultados em um relatório HTML. No entanto, os procedimentos armazenados oferecem algumas vantagens, como personalizações adicionadas e a capacidade de criar scripts para o processo.

Validação cruzada no Designer de Mineração de Dados

Você pode executar a validação cruzada usando a guia Validação Cruzada do modo de exibição Gráfico de Precisão de Mineração no SQL Server Management Studio ou no SQL Server Development Studio.

Para ver um exemplo de como criar um relatório de validação cruzada usando a interface do usuário, consulte Criar um relatório de validação cruzada.

Procedimentos armazenados de validação cruzada

Para usuários avançados, a validação cruzada também está disponível na forma de procedimentos armazenados do sistema totalmente parametrizados. Você pode executar os procedimentos armazenados conectando-se a uma instância do SQL Server 2014 Analysis Services (SSAS) do SQL Server Management Studio ou de qualquer aplicativo de código gerenciado.

Os procedimentos armazenados são agrupados por tipo de modelo de mineração. Um conjunto de procedimentos armazenados funciona apenas com modelos de clustering. O outro conjunto de procedimentos armazenados funciona com outros modelos de mineração.

Para cada tipo de modelo de mineração, clusterizado ou não clusterizado, os procedimentos armazenados executam a validação cruzada em duas fases separadas.

Dados de partição e geração de métricas para partições

Para a primeira fase, você chama um procedimento armazenado do sistema que cria quantas partições você especificar dentro do conjunto de dados e retorna resultados de precisão para cada partição. Para cada métrica, o Analysis Services calcula a média e o desvio padrão para as partições.

Gerar métricas para todo o conjunto de dados

Na segunda fase, você chama um conjunto diferente de procedimentos armazenados. Esses procedimentos armazenados não particionam o conjunto de dados, mas geram resultados de precisão para o conjunto de dados especificado como um todo. Se você já tiver particionado e processado uma estrutura de mineração, poderá chamar esse segundo conjunto de procedimentos armazenados para obter apenas os resultados.

Definindo os dados de teste

Ao executar os procedimentos armazenados de validação cruzada que calculam a precisão (SystemGetAccuracyResults ou SystemGetClusterAccuracyResults), você pode especificar a fonte dos dados usados para teste durante a validação cruzada. Essa opção não está disponível na interface do usuário.

Você pode especificar como uma fonte de dados de teste qualquer uma das seguintes opções:

  • Use apenas os dados de treinamento.

  • Inclua um conjunto de dados de teste existente.

  • Utilize somente o conjunto de dados de teste.

  • Aplique filtros existentes a cada modelo.

  • Qualquer combinação do conjunto de treinamento, conjunto de testes e filtros de modelo.

Para especificar uma fonte de dados de teste, você fornece um valor inteiro para o DataSet parâmetro do procedimento armazenado. Para obter uma lista dos valores de argumento, consulte a seção Comentários do tópico de referência de procedimento armazenado relevante.

Se você executar a validação cruzada usando o relatório de validação cruzada no Designer de Mineração de Dados, não poderá alterar o conjunto de dados usado. Por padrão, os casos de treinamento para cada modelo são usados. Se um filtro estiver associado a um modelo, o filtro será aplicado.

Resultados da validação cruzada

Se você usar o Designer de Mineração de Dados, esses resultados serão exibidos em um visualizador da Web semelhante à grade. Se você usar os procedimentos armazenados de validação cruzada, esses mesmos resultados serão retornados como uma tabela.

O relatório contém dois tipos de medidas: agregações que indicam a variabilidade do conjunto de dados quando dividido em dobras e medidas de precisão específicas do modelo para cada dobra. Os tópicos a seguir fornecem mais informações sobre essas métricas:

Fórmulas de validação cruzada

Lista todas as medidas por tipo de teste. Descreve em geral como as medidas podem ser interpretadas.

Medidas no relatório de validação cruzada

Descreve as fórmulas para calcular cada medida e lista o tipo de atributo ao qual cada medida pode ser aplicada.

Restrições à validação cruzada

Se você executar a validação cruzada usando o relatório de validação cruzada no SQL Server Development Studio, haverá algumas limitações nos modelos que você pode testar e os parâmetros que podem ser definidos.

  • Por padrão, todos os modelos associados à estrutura de mineração selecionada são validados entre elas. Você não pode especificar o modelo ou uma lista de modelos.

  • Não há suporte para validação cruzada para modelos baseados no algoritmo Microsoft Time Series ou no algoritmo Clustering de Sequência da Microsoft.

  • O relatório não poderá ser criado se a estrutura de mineração não contiver modelos que possam ser testados por validação cruzada.

  • Se a estrutura de mineração contiver modelos de clustering e não clustering e você não escolher a opção #Cluster , os resultados para ambos os tipos de modelos serão exibidos no mesmo relatório, mesmo que as configurações de atributo, estado e limite possam não ser apropriadas para os modelos de clustering.

  • Alguns valores de parâmetro são restritos. Por exemplo, um aviso será exibido se o número de dobras for maior que 10, pois gerar tantos modelos pode fazer com que o relatório seja exibido lentamente.

Se você estiver testando vários modelos de mineração e os modelos tiverem filtros, cada modelo será filtrado separadamente. Você não pode adicionar um filtro a um modelo ou alterar o filtro de um modelo durante a validação cruzada.

Como a validação cruzada por padrão testa todos os modelos de mineração associados a uma estrutura, você poderá receber resultados inconsistentes se alguns modelos tiverem um filtro e outros não. Para garantir que você compare apenas os modelos que têm o mesmo filtro, use os procedimentos armazenados e especifique uma lista de modelos de mineração. Ou use apenas o conjunto de testes de estrutura de mineração sem filtros para garantir que um conjunto consistente de dados seja usado para todos os modelos.

Se você executar a validação cruzada usando os procedimentos armazenados, terá a opção adicional de escolher a origem dos dados de teste. Se você executar a validação cruzada usando o Designer de Mineração de Dados, deverá usar o conjunto de dados de teste associado ao modelo ou à estrutura, se houver. Geralmente, se você quiser especificar configurações avançadas, deverá usar os procedimentos armazenados de validação cruzada.

A validação cruzada não pode ser usada com modelos de séries temporais ou de agrupamento de sequência. Especificamente, nenhum modelo que contenha uma coluna KEY TIME ou uma coluna KEY SEQUENCE pode ser incluído na validação cruzada.

Consulte os tópicos a seguir para obter mais informações sobre validação cruzada ou informações sobre métodos relacionados para testar modelos de mineração, como gráficos de precisão.

Tópicos Links
Descreve como definir parâmetros de validação cruzada no SQL Server Development Studio. Guia Validação cruzada (exibição de gráfico de precisão de mineração)
Descreve as métricas fornecidas pela validação cruzada Fórmulas de validação cruzada
Explica o formato do relatório de validação cruzada e define as medidas estatísticas fornecidas para cada tipo de modelo. Medidas no relatório de validação cruzada
Lista os procedimentos armazenados para calcular estatísticas de validação cruzada. Procedimentos armazenados de mineração de dados (Analysis Services – Mineração de dados)
Descreve como criar um conjunto de dados de teste para estruturas de mineração e modelos relacionados. Conjuntos de dados de treinamento e teste
Veja exemplos de outros tipos de gráfico de precisão. Matriz de classificação (Analysis Services – Mineração de dados)

Gráfico de elevação (Analysis Services – Mineração de dados)

Gráfico de Lucros (Analysis Services – Mineração de Dados)

Gráfico de dispersão (Analysis Services – Mineração de dados)
Descreve as etapas para criar vários gráficos de precisão. Tarefas de teste e validação e instruções (mineração de dados)

Consulte Também

Teste e validação (mineração de dados)