Compartilhar via


SystemGetCrossValidationResults (Analysis Services - Data Mining)

Particiona a estrutura de mineração em um número especificado de seções cruzadas, treina um modelo para cada partição e retorna métricas de precisão para cada partição.

ObservaçãoObservação

Esse procedimento armazenado não pode ser usado para fazer validação cruzada de modelos de clustering ou modelos criados usando o Microsoft algoritmo MTS ou Microsoft o algoritmo MSC. Para fazer validação cruzada de modelos de clustering, você pode usar o procedimento armazenado separado, SystemGetClusterCrossValidationResults (Analysis Services - Data Mining).

Sintaxe

SystemGetCrossValidationResults(
<mining structure>
[, <mining model list>]
,<fold count>
,<max cases>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])

Argumentos

  • mining structure
    Nome de uma estrutura de mineração no banco de dados atual.

    (Obrigatória)

  • mining model list
    Lista separada por vírgulas de modelos de mineração para validar.

    Se um nome de modelo contiver caracteres que não são válidos no nome de um identificador, o nome deverá ser colocado entre parênteses.

    Se uma lista de modelos de mineração não for especificada, a validação cruzada será executada em todos os modelos de clustering associados com a estrutura especificada e que contenha um atributo previsível.

    ObservaçãoObservação

    Para fazer validação cruzada de modelos de clustering, você deve usar um procedimento armazenado separado, SystemGetClusterCrossValidationResults (Analysis Services - Data Mining).

    (opcional)

  • fold count
    Inteiro que especifica o número de partições nas quais separar o conjunto de dados. O valor mínimo é 2. O número máximo de dobras é maximum integer ou o número de casos, o que for inferior.

    Cada partição conterá este número de casos, aproximadamente: max cases/fold count.

    Não há valor padrão.

    ObservaçãoObservação

    O número de dobras afeta grandemente o tempo necessário para realizar a validação cruzada. Se você selecionar um número que seja muito alto, a consulta poderá ser executada por muito tempo e, em alguns casos, o servidor poderá ficar sem-resposta ou expirar.

    (Obrigatória)

  • max cases
    Inteiro que especifica o número máximo de casos que podem ser testados em todas as dobras.

    Um valor de 0 indica que serão usadas todas as caixas na fonte de dados.

    Se for especificado um valor maior que o de casos reais no conjunto de dados, todos os casos serão da fonte de dados serão usados.

    Não há valor padrão.

    (Obrigatória)

  • target attribute
    Cadeia de caracteres que contém o nome do atributo previsível. Um atributo previsível pode ser uma coluna, coluna de tabela aninhada ou coluna de chave de tabela aninhada de um modelo de mineração.

    ObservaçãoObservação

    A existência do atributo de destino só é validada no tempo de execução.

    (Obrigatória)

  • target state
    Fórmula que especifica o valor para prever. Se um valor de destino for especificado, as métricas serão coletadas somente para o valor especificado.

    Se um valor não for especificado ou for null, as métrica são computadas para o estado mais provável para cada previsão.

    O padrão é null.

    Um erro é gerado durante a validação se o valor especificado não for válido para o atributo especificado ou se a fórmula não for o tipo correto para o atributo especificado.

    (opcional)

  • target threshold
    Double maior que 0 e menor que 1. Indica a pontuação de probabilidade mínima que deve ser obtida para a previsão do estado de destino especificado ser contado como correto.

    Uma previsão que tem uma probabilidade menor ou igual a este valor é considerada incorreta.

    Se nenhum valor for especificado ou for null, o estado mais provável será usado, independentemente de sua pontuação de probabilidade.

    O padrão é null.

    ObservaçãoObservação

    Analysis Services não gerará um erro se você definir state threshold como 0.0, mas você nunca deve usar este valor. Na realidade, um limite de 0.0 significa que as previsões com uma probabilidade de 0 por cento foram contadas como corretas.

    (opcional)

  • test list
    Uma cadeia de caracteres que especifica opções de teste.

    Observação: esse parâmetro é reservado para uso futuro.

    (opcional)

Tipo de retorno

O conjunto de linhas que é retornado contém pontuações para cada partição em cada modelo.

A tabela a seguir descreve as colunas no conjunto de linhas.

Nome da Coluna

Descrição

ModelName

O nome do modelo que foi testado.

AttributeName

O nome da coluna previsível.

AttributeState

Um valor de destino especificado na coluna previsível. Se este valor for null, a previsão mais provável foi usada.

Se esta coluna contiver um valor, a precisão do modelo será avaliada com relação a esse valor somente.

PartitionIndex

Um índice de base 1 que identifica a qual partição os resultados se aplicam.

PartitionSize

Um inteiro que indica quantos casos foram incluídos em cada partição.

Teste

Categoria do teste que foi executado. Para obter uma descrição das categorias e dos testes incluídos em cada categoria, consulte Relatório de validação cruzada (Analysis Services - Mineração de dados).

Medida

Nome da medida retornada pelo teste. Medidas para cada modelo dependem do tipo do valor previsível. Para obter uma definição de cada medida, consulte Validação cruzada (Analysis Services - Mineração de dados).

Para obter uma lista de medidas retornadas para cada tipo previsível, consulte Relatório de validação cruzada (Analysis Services - Mineração de dados).

Valor

O valor da medida de teste especificada.

Comentários

Para retornar métricas de precisão para todo o conjunto de dados, use SystemGetAccuracyResults (Analysis Services - Data Mining).

Se o modelo de mineração já tiver sido dividido em dobras, você poderá ignorar o processamento e retornar somente os resultados da validação cruzada usando SystemGetAccuracyResults (Analysis Services - Data Mining).

Exemplos

O exemplo a seguir demonstra como particionar uma estrutura de mineração para uma validação cruzada em três dobras e, em seguida, testar dois modelos de mineração associados com a estrutura de mineração, [v Target Mail].

A linha três do código lista os modelos de mineração que você deseja testar. Se você não especificar a lista, todos os modelos que não forem de clustering associados à estrutura serão usados. A linha quatro do código especifica o número de partições. Como nenhum valor foi especificado para max cases, todos os casos na estrutura de dados serão usados e distribuídos uniformemente nas partições.

A linha cinco especifica o atributo previsível, Comprador de Bicicleta, e a linha seis especifica o valor para prever, 1 ("sim, comprará").

O valor NULL da linha sete indica que não há barra de probabilidade mínima a ser correspondida. Então, a primeira previsão com uma probabilidade diferente de zero será usada na avaliação da precisão.

CALL SystemGetCrossValidationResults(
[v Target Mail],
[Target Mail DT], [Target Mail NB],
2,
'Bike Buyer',
1,
NULL
)

Resultados do exemplo:

ModelName

AttributeName

AttributeState

PartitionIndex

PartitionSize

Teste

Medida

Valor

Target Mail DT

Comprador da bicicleta

1

1

500

Classificação

Verdadeiro Positivo

144

Target Mail DT

Comprador da bicicleta

1

1

500

Classificação

Falso Positivo

105

Target Mail DT

Comprador da bicicleta

1

1

500

Classificação

Verdadeiro Negativo

186

Target Mail DT

Comprador da bicicleta

1

1

500

Classificação

Falso Negativo

65

Target Mail DT

Comprador da bicicleta

1

1

500

Probabilidade

Pontuação de log

-0.619042807138345

Target Mail DT

Comprador da bicicleta

1

1

500

Probabilidade

Comparação de Precisão

0.0740963734002671

Target Mail DT

Comprador da bicicleta

1

1

500

Probabilidade

Erro de Raiz Quadrada Média

0.346946279977653

Target Mail DT

Comprador da bicicleta

1

2

500

Classificação

Verdadeiro Positivo

162

Target Mail DT

Comprador da bicicleta

1

2

500

Classificação

Falso Positivo

86

Target Mail DT

Comprador da bicicleta

1

2

500

Classificação

Verdadeiro Negativo

165

Target Mail DT

Comprador da bicicleta

1

2

500

Classificação

Falso Negativo

87

Target Mail DT

Comprador da bicicleta

1

2

500

Probabilidade

Pontuação de log

-0.654117781086519

Target Mail DT

Comprador da bicicleta

1

2

500

Probabilidade

Comparação de Precisão

0.038997399132084

Target Mail DT

Comprador da bicicleta

1

2

500

Probabilidade

Erro de Raiz Quadrada Média

0.342721344892651

Requisitos

A validação cruzada só está disponível no SQL Server Enterprise começando com o SQL Server 2008.