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çã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çã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çã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çã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çã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.