Partilhar via


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

Aplica-se a: SQL Server 2019 e anteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

A mineração de dados foi preterida no SQL Server 2017 Analysis Services e agora foi descontinuada no SQL Server 2022 Analysis Services. A documentação não foi atualizada para recursos preteridos e descontinuados. Para saber mais, confira Compatibilidade com versões anteriores do Analysis Services.

A validação cruzada é uma ferramenta padrão na análise e é um recurso importante para ajudar você a desenvolver e ajustar modelos de mineração de dados. Você utiliza a validação cruzada depois de criar uma estrutura de mineração e os modelos de mineração relacionados para assegurar a validade do modelo. A validação cruzada tem os aplicativos seguintes:

  • Validando a robustez de um modelo de mineração particular.

  • Avaliando vários modelos de uma única instrução.

  • Construindo vários modelos e identificando o melhor modelo baseado em estatísticas.

Esta seção descreve como utilizar os recursos de validação cruzada fornecidos para mineração de dados e como interpretar os resultados da validação cruzada para um modelo único ou diversos modelos baseados em um conjunto de dados único.

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

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

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

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

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

    • O atributo previsível, valor previsto e limiar de exatidão.

    • O número de dobras nas qual dividir os dados de estrutura ou modelo.

  • SQL Server Analysis Services cria e treina quantos modelos houver dobras.

  • SQL Server 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 forma como a validação cruzada funciona para controlar o número de seções cruzadas, os modelos testados e a barra de exatidão para as previsões. Se você utilizar os procedimentos armazenados de validação cruzada, também poderá especificar o conjunto de dados que é usado para validar os modelos. Essa riqueza de opções significa que você pode facilmente produzir muitos conjuntos de resultados diferentes que devem ser comparados e analisados.

Esta seção fornece informações para ajudar a configurar a validação cruzada adequadamente.

Definindo o número de partições

Quando você especifica o número de partições, determina quantos modelos temporários serão criados. Para cada partição, uma seção cruzada dos dados é sinalizada para ser utilizada como o conjunto de teste, e um novo modelo é criado pelo treinamento nos dados restantes e não na partição. Esse processo é repetido até que SQL Server Analysis Services tenha criado e testado o número especificado de modelos. Os dados que você especificou como estando disponível para validação cruzada são distribuídos uniformemente entre todas as partições.

O exemplo no diagrama ilustrará o uso de dados se forem especificadas três dobras.

Como a validação cruzada segmenta dados

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

Você também pode especificar a quantidade de dados que é utilizada durante a validação cruzada, especificando o número total de casos a serem utilizados. Os casos são distribuídos uniformemente por todas as dobras.

Para estruturas de mineração armazenadas em uma instância de SQL Server 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, o que for menor. Se você estiver usando uma estrutura de mineração de sessão, o número de 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 também aumenta, porque um modelo deve ser gerado e testado para cada dobra. Você poderá experimentar problemas de desempenho se o número de dobras for muito alto.

Definir o limite de precisão

O limiar de estado permite definir a barra de exatidão para previsões. Para cada caso, o modelo calcula a probabilidade de previsão, significando a probabilidade de o estado previsto estar correto. Se a probabilidade de previsão exceder a barra de exatidão, a previsão é considerada correta; caso contrário, a previsão é considerada incorreta. Você controla esse valor, definindo Limiar de Estado para um número entre 0,0 e 1,0, em que os números mais próximos de 1 indicam um grande nível de confiança nas previsões, e os números próximos a 0 indicam que a previsão tem menor probabilidade de ser verdadeira. O valor padrão para o limiar de estado é NULL, o que significa que o estado previsto com a probabilidade mais alta é considerado o valor de destino.

Você deve saber que a configuração para o limite de estado afeta as medidas de exatidão do modelo. Por exemplo, suponha que você tenha três modelos que deseja testar. Todos são baseados na mesma estrutura de mineração e todos preveem a coluna [Bike Buyer]. Além disso, você deseja prever um único valor de 1, o que significa "sim, vai comprar". Os três modelos retornam previsões com probabilidades de previsão de 0,05, 0,15 e 0,8. Se você definir o limiar de estado para 0,10, duas das previsões serão consideradas corretas. Se você definir o limiar de estado como 0,5, só um modelo será considerado como havendo retornado uma previsão correta. Se você usar o valor padrão, nulo, será mais provável que a previsão seja considerada correta. Neste caso, todas as três previsões seriam consideradas corretas.

Observação

Você pode definir um valor de 0,0 para o limite, mas o valor não tem muito sentido, porque cada previsão será considerada correta, mesmo com a probabilidade zero. Tenha cuidado para não definir Limiar de Estado para 0,0.

Escolher os modelos e colunas para validar

Ao usar a guia Validação Cruzada no Designer de Mineração de Dados, você deve primeiro selecionar a coluna previsível de uma lista. Normalmente, uma estrutura de mineração pode aceitar muitos modelos de mineração, porém nem todos os modelos usam a mesma coluna previsível. Ao executar a validação cruzada, só podem ser incluídos no relatório os modelos que usam a mesma coluna previsível.

Para escolher um atributo previsível, clique em Atributo de Destino e selecione a coluna da 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, SQL Server Analysis Services testa automaticamente todos os modelos que usam o mesmo atributo previsível. Se o atributo de destino contém valores discretos, após você ter selecionado a coluna previsível é possível informar opcionalmente um estado de destino, isto se existir um valor específico que você deseja prever.

A seleção do estado de destino afeta as medidas que são 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 a validação cruzada com modelos de clustering, não existe a coluna previsível; ao invés disso, você seleciona #Cluster de uma lista de atributos previsíveis na caixa de listagem Atributo de Destino . Após você ter selecionado essa opção, outras opções que não são relevantes para modelos de clustering, como Estado de Destinoserão desabilitadas. SQL Server Analysis Services testará todos os modelos de clustering associados à estrutura de mineração.

Ferramentas para a validação cruzada

Você também pode usar a validação cruzada do Designer de Mineração de Dados ou pode realizar validação cruzada executando os procedimentos armazenados.

Se você usar as ferramentas do Designer de Mineração de Dados para executar validação cruzada, poderá configurar os parâmetros dos resultados do treinamento e da exatidão em uma única caixa de diálogo. Isto torna mais fácil configurar e exibir os resultados. Você pode medir a exatidão de todos os modelos de mineração que estão relacionados a uma única estrutura de mineração e exibir imediatamente os resultados em um relatório HTML. Porém, os procedimentos armazenados oferecem algumas vantagens, como as personalizações adicionadas e a capacidade de criar script do processo.

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

Você pode executar a validação cruzada usando a guia Validação Cruzada da exibição Gráfico de Precisão de Mineração em SQL Server Management Studio ou 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 da validação cruzada

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

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

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

Particiona dados e gera 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 exatidão para cada partição. Para cada métrica, o Analysis Services então calcula o desvio médio e o padrão para as partições.

Gere métrica para o conjunto de dados inteiro

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 exatidão para o conjunto de dados especificado como um todo. Se você já dividiu e processou uma estrutura de mineração, poderá chamar este segundo conjunto de procedimentos armazenados para obter apenas os resultados.

Definindo os dados de teste

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

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

  • Use só os dados de treinamento.

  • Inclua um conjunto de dados de teste existente.

  • Use só o conjunto de dados de teste.

  • Aplique os filtros existentes a cada modelo.

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

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

Se você executar a validação cruzada usando o relatório Validação Cruzada no Designer de Mineração de Dados, não poderá alterar o conjunto de dados que é 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 de validação cruzada

Se você usar o Designer de Mineração de Dados, estes resultados serão exibidos em um visualizador de Web como grade. Se você usar os procedimentos armazenados de validação cruzada, estes 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 divididas em dobras, e medidas específicas de modelo de exatidão 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 em validação cruzada

Ao executar a validação cruzada usando o relatório de validação cruzada no SQL Server Development Studio, existem algumas limitações nos modelos que você pode testar e os parâmetros que você pode configurar.

  • Por padrão, todos os modelos associados com a estrutura de mineração selecionada são validados pela validação cruzada. Você não pode especificar o modelo ou uma lista de modelos.

  • A Validação Cruzada não é fornecida para modelos que são baseados no algoritmo MTS ou no algoritmo MSC.

  • O relatório não pode ser criado se sua estrutura de mineração não contém nenhum modelo que possa ser testado pela validação cruzada.

  • Se a estrutura de mineração contém modelos de clustering e de não clustering e você não escolheu a opção #Cluster , os resultados para ambos os tipos de modelos são mostrados no mesmo relatório, mesmo que o atributo, o estado e as configurações de limites possam não ser apropriados para os modelos de clustering.

  • Alguns valores de parâmetros são restringidos. Por exemplo, um aviso aparece se o numero de dobras for maior que 10, porque ao gerar muitos modelos o relatório pode ser 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 nem alterar o filtro para um modelo durante 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 somente aqueles modelos que têm o mesmo filtro, utilize os procedimentos armazenados e especifique uma lista dos modelos de mineração. Ou utilize somente o teste da estrutura de mineração definido como sem-filtros para garantir que um conjunto de dados consistente seja utilizado 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 testes que está 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 série temporal ou modelos de clustering de sequência. Especificamente, nenhum modelo que contém uma coluna KEY TIME ou 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 exatidão.

Tópicos Links
Descreve como definir parâmetros de validação cruzada no SQL Server Development Studio. Guia da validação cruzada (Exibição do gráfico de precisão de mineração)
Descreve a métrica que é fornecida através de validação cruzada Fórmulas de validação cruzada
Explica o formato de 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 computar estatísticas de validação cruzada. Procedimentos armazenados da mineração de dados (Analysis Services - Mineração de Dados)
Descreve como criar um conjunto de dados de testes para estruturas de mineração e modelos relacionados. Conjuntos de dados de teste e treinamento
Consulte exemplos de outros tipos de gráfico de exatidão. Matriz de classificação (Analysis Services - Mineração de dados)

Gráfico de comparação de precisão (Analysis Services - Mineração de Dados)

Gráfico de ganho (Analysis Services - Mineração de dados)

Dispersão (Analysis Services - Mineração de dados)
Descreve as etapas para criar vários gráficos de exatidão. Tarefas de teste e validação e guias práticos (mineração de dados)

Consulte Também

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