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

A validação cruzada é uma ferramenta padrão para análise e é um importante recurso para ajudar a desenvolver e ajustar os 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 no SQL Server 2008 e como interpretar os resultados da validação cruzada para um modelo ou conjunto de dados específico. Você pode executar a validação cruzada como um conjunto de procedimentos armazenados. Você também pode usar a validação cruzada do Designer de Mineração de Dados, no Business Intelligence Development Studio.

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:

  • Selecionando uma estrutura de mineração designada.

  • Especificando os modelos que você quer testar.

  • Especificando o número de dobras nas qual dividir os dados de estrutura.

  • O Analysis Services cria e treina tantos modelos quanto há dobras.

  • Para gerar resultados, você deve especificar parâmetros por testar os modelos treinados.

  • Especificando a fonte dos dados de teste. (Este recurso só está disponível quando você usa os procedimentos armazenados.)

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

  • O Analysis Services retorna um conjunto de métricas de exatidão para cada dobra em cada modelo. Você também pode retornar métricas de exatidão para o conjunto de dados como um todo.

Usando a validação cruzada no Designer de Mineração de Dados

Se você executar a validação cruzada, utilizando a guia Validação Cruzada da exibição Gráfico de Precisão de Mineração no Business Intelligence Development Studio, poderá configurar os parâmetros de resultado do treinamento e de exatidão em uma única forma. 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.

Para obter mais informações sobre o formato de relatório e as métricas de exatidão que são fornecidos pela validação cruzada, consulte Relatório de validação cruzada (Analysis Services - Mineração de dados).

Para obter informações sobre como configurar parâmetros da validação cruzada no Business Intelligence Development Studio, consulte Guia da validação cruzada (Exibição do gráfico de precisão de mineração).

Usando procedimentos armazenados da validação cruzada

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

Os procedimentos armazenados são agrupados pelo tipo de modelo de mineração. O primeiro par de procedimentos trabalha com modelos de cluster apenas. O segundo par de procedimentos trabalha com outros modelos de mineração.

ObservaçãoObservação

A validação cruzada não pode ser usada com qualquer modelo que contém uma coluna KEY TIME ou KEY SEQUENCE.

Para cada tipo de modelo de mineração, há dois procedimentos armazenados. O primeiro procedimento 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 calcula o desvio médio e o padrão para as partições.

O segundo procedimento armazenado não particiona o conjunto de dados, mas gera resultados de exatidão para o conjunto de dados especificado como um todo. Você também pode utilizar o segundo procedimento armazenado se a estrutura de mineração e seus modelos já tiverem sido particionados e processados.

Particiona dados e gera métricas para partições

SystemGetCrossValidationResults (Analysis Services - Data Mining)

SystemGetClusterCrossValidationResults (Analysis Services - Data Mining)

Gere métrica para o conjunto de dados inteiro

SystemGetAccuracyResults (Analysis Services - Data Mining)

SystemGetClusterAccuracyResults (Analysis Services - Data Mining)

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. Este processo está repetido até que o 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 executar a validação cruzada de dados de segmento

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.

Se a estrutura de mineração estiver armazenada em uma instância do SQL Server Analysis Services, o valor máximo que você pode definir para o número de dobras será 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çãoObservaçã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.

Definindo os dados de teste

Quando você executa os procedimentos armazenados que calculam a precisão, SystemGetAccuracyResults (Analysis Services - Data Mining) ou SystemGetClusterAccuracyResults (Analysis Services - Data Mining), pode especificar a fonte dos dados que é utilizada para teste, durante a validação cruzada, utilizando combinações 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.

Você controla a composição do conjunto de dados de teste fornecendo um valor para o parâmetro DataSet.

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

Validação cruzada para modelos de mineração filtrados

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.

Definindo o limiar de exatidão

O limiar de estado permite definir a barra de exatidão para previsões. Para cada caso, o modelo calcula uma probabilidade, chamada probabilidade de previsão, 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 é menos provável 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.

ObservaçãoObservação

Você pode definir um valor de 0.0, mas ele 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.

Por exemplo, você tem três modelos que prevêem a coluna [Comprador de Bicicleta], e o valor que deseja prever é 1, indicando "sim, comprará". Os três modelos retornam previsões com probabilidade prevista 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.

Métricas usadas na validação cruzada

Métricas de exatidão diferentes são geradas dependendo do tipo específico de modelo de mineração, do tipo de dados do atributo previsível e o valor do atributo previsível, se houver. Esta seção define as métricas principais para referência. Para obter uma lista das métricas de exatidão retornadas no relatório para cada modelo, agrupado por tipo, consulte Relatório de validação cruzada (Analysis Services - Mineração de dados).

Medida

Aplica-se a

Implementação

Classificação: verdadeiro positivo, falso positivo, verdadeiro negativo, falso negativo

Atributo diferenciado, valor especificado

Contagem de linhas ou valores na partição onde a probabilidade de previsão é maior que o limite de estado e onde o estado previsto corresponde ao estado de destino. Casos com valores ausentes são excluídos.

Classificação: aprovado/reprovado

Atributo diferenciado, nenhum destino especificado

Contagem de linhas ou valores na partição onde o estado previsto corresponde ao estado de destino e onde o valor da probabilidade de previsão é maior que 0. Casos com valores ausentes são excluídos.

Comparação de Precisão

Atributos diferenciados. O valor de destino pode ser especificado, mas não é obrigatório.

A probabilidade média de log para todas as linhas com valores para o atributo de destino, onde a probabilidade de cada caso é calculada como Log (ActualProbability/MarginalProbability). Para calcular a média, a soma dos valores de probabilidade de log é dividida pelo número de linhas no conjunto de dados de entrada, excluindo as linhas com valores ausentes para attribute.Lift de destino, que pode ser um valor negativo ou positivo. Um valor positivo significa um modelo efetivo que ultrapassa a suposição aleatória.

Pontuação de log

Atributos diferenciados. O valor de destino pode ser especificado, mas não é obrigatório.

Log da probabilidade real de cada caso, somado e dividido pelo número de linhas no conjunto de dados de entrada, excluindo as linhas com valores ausentes para o atributo de destino. Como a probabilidade é representada como uma fração decimal, as pontuações de log são sempre um número negativo. Um número mais próximo de 0 significa uma pontuação melhor.

Probabilidade de casos

Cluster

Soma das pontuações de probabilidade de cluster de todos os casos, dividida pelo número de casos na partição, excluindo as linhas com valores ausentes para o atributo de destino.

Erro de média absoluta

Atributo contínuo

Soma do erro absoluto de todos os casos na partição, dividida pelo número de casos na partição, excluindo as linhas com valores ausentes.

Erro de raiz quadrada média

Atributo contínuo

Raiz quadrada do erro de quadrado médio para a partição.

Erro de quadrado da média de raiz

Atributos diferenciados. O valor de destino pode ser especificado, mas não é obrigatório.

Raiz quadrada da média de quadrados do complemento da pontuação de probabilidade, dividida pelo número de casos na partição, excluindo as linhas com valores ausentes para o atributo de destino.

Erro de raiz quadrada média

Atributo diferenciado, nenhum destino especificado.

Raiz quadrada da média de quadrados do complemento da pontuação de probabilidade, dividida pelo número de casos na partição, excluindo os casos com valores ausentes para o atributo de destino.