Compartilhar via


Modelo de validação cruzada

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

Validação cruzada de estimativas de parâmetro para modelos de classificação ou regressão ao particionar os dados

categoria: Machine Learning/avaliar

Observação

aplica-se a: somente Machine Learning Studio (clássico)

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

este artigo descreve como usar o módulo modelo de validação cruzada no Machine Learning Studio (clássico). A validação cruzada é uma técnica importante usada com frequência no aprendizado de máquina para avaliar a variabilidade de um conjunto de dados e a confiabilidade de qualquer modelo treinado usando os mesmos.

O módulo modelo de validação cruzada usa como entrada um conjunto de dados rotulado, junto com um modelo de classificação ou regressão não treinado. Ele divide o conjunto de dados em subconjuntos (dobras), cria um modelo em cada dobra e retorna um conjunto de estatísticas de precisão para cada dobra. Ao comparar as estatísticas de precisão de todas as dobras, você pode interpretar a qualidade do conjunto de dados e entender se o modelo é suscetível a variações nos dados.

A validação cruzada também retorna resultados previstos e probabilidades para o conjunto de, para que você possa avaliar a confiabilidade das previsões.

Como a validação cruzada funciona

  1. A validação cruzada divide aleatoriamente os dados de treinamento em várias partições, também chamadas de dobras.

    • O algoritmo padroniza para 10 dobras se anteriormente você não particionou do conjunto de dados.
    • Para dividir o conjunto de dados em um número diferente de dobras, você pode usar o módulo Partição e Amostra e indicar quantas dobras deseja usar.
  2. O módulo separa os dados na dobra 1 para usar para validação (isso às vezes é chamado de dobrade controle) e usa as dobras restantes para treinar um modelo.

    Por exemplo, se você criar cinco dobras, o módulo geraria cinco modelos durante a validação cruzada, cada modelo treinado usando 4/5 dos dados e testado no 1/5 restante.

  3. Durante o teste do modelo para cada dobra, várias estatísticas de precisão são avaliadas. Quais estatísticas são usadas depende do tipo de modelo que você está avaliando. Estatísticas diferentes são usadas para avaliar modelos de classificação versus modelos de regressão.

  4. Quando o processo de criação e avaliação é concluído para todas as dobras, o modelo de validação cruzada gera um conjunto de métricas de desempenho e resultados pontuados para todos os dados. Você deve examinar essas métricas para ver se qualquer dobra tem uma precisão muito alta ou baixa

Vantagens da validação cruzada

Uma maneira diferente e muito comum de avaliar um modelo é dividir os dados em um conjunto de treinamento e teste usando dados divididose, em seguida, validar o modelo nos dados de treinamento. No entanto, a validação cruzada oferece algumas vantagens:

  • A validação cruzada usa mais dados de teste.

    A validação cruzada mede o desempenho do modelo com os parâmetros especificados em um espaço de dados maior. Ou seja, a validação cruzada usa todo o conjunto de teste de treinamento para treinamento e avaliação, em vez de alguma parte. Por outro lado, se você validar um modelo usando dados gerados a partir de uma divisão aleatória, normalmente você avalia o modelo apenas em 30% ou menos dos dados disponíveis.

    No entanto, como a validação cruzada treina e valida o modelo várias vezes em um conjunto de informações maior, ele é muito mais intensivo computacionalmente e demora muito mais do que a validação em uma divisão aleatória.

  • A validação cruzada avalia o conjunto de e o modelo.

    A validação cruzada não simplesmente mede a precisão de um modelo, mas também dá a você uma ideia de como o representativo do conjunto de dados e de quão confidencial o modelo pode ser para as variações deles.

Como usar o modelo de validação cruzada

Há duas maneiras principais de usar a validação cruzada.

A validação cruzada pode levar muito tempo para ser executada se você usar muitos dados. Portanto, você pode usar o modelo de validação cruzada na fase inicial de criação e teste do modelo, para avaliar a incerteza dos parâmetros do modelo (supondo que o tempo de computação seja tolerável) e, em seguida, treinar e avaliar seu modelo usando os parâmetros estabelecidos com os módulos modelo de treinamento e avaliar modelo.

Validação cruzada simples

Nesse cenário, você treina e testa o modelo usando o modelo de validação cruzada.

  1. Adicione o módulo modelo de validação cruzada ao seu experimento. você pode encontrá-lo no Machine Learning Studio (clássico), na categoria Machine Learning , em avaliar.

  2. Conexão a saída de qualquer modelo de classificação ou regressão .

    Por exemplo, se você estiver usando uma máquina de ponto de Bayes de duas classes para classificação, configure o modelo com os parâmetros desejados e arraste um conector da porta de modelo não treinada do classificador para a porta correspondente do modelo de validação cruzada.

    Dica

    O modelo não precisa ser treinado porque o modelo de validação cruzada treina automaticamente o modelo como parte da avaliação.

  3. Na porta do conjunto de um modelo de validação cruzada, conecte qualquer conjunto de DataSet de treinamento rotulado.

  4. No painel Propriedades do modelo de validação cruzada, clique em Iniciar seletor de coluna e escolha a única coluna que contém o rótulo de classe ou o valor previsível.

  5. Defina um valor para o parâmetro semente aleatória se você quiser poder repetir os resultados da validação cruzada entre execuções sucessivas nos mesmos dados.

  6. Execute o experimento.

  7. Veja na seção Resultados uma descrição dos relatórios.

    Para obter uma cópia do modelo para reutilização posterior, clique com o botão direito do mouse na saída do módulo que contém o algoritmo (por exemplo, a máquina de ponto de Bayes de duas classes) e clique em salvar como modelo treinado.

Validação cruzada com uma varredura de parâmetro

Nesse cenário, você usa os hiperparâmetros de modelo de ajuste para identificar o melhor modelo, realizando uma varredura de parâmetro e, em seguida, usa o modelo de validação cruzada para verificar sua confiabilidade. essa é a maneira mais fácil de ter Machine Learning identificar o melhor modelo e, em seguida, gerar métricas para ele.

  1. Adicione o conjunto de informações para treinamento de modelo e adicione um dos módulos de Machine Learning que cria um modelo de classificação ou regressão.

  2. Adicione o módulo ajustar hiperparâmetros de modelo ao seu experimento. você pode encontrá-lo na categoria Machine Learning , em treinar.

  3. Anexe o modelo de classificação ou regressão à entrada de modelo não treinado dos hiperparâmetros de modelo de ajuste.

  4. Adicione o módulo modelo de validação cruzada ao seu experimento. você pode encontrá-lo no Machine Learning Studio (clássico), na categoria Machine Learning , em avaliar.

  5. Localize a melhor saída de modelo treinada dos hiperparâmetros de modelo de ajustee conecte-o à entrada de modelo não treinado do modelo de validação cruzada.

  6. Conexão os dados de treinamento para a entrada de conjunto de dado de treinamento do modelo de validação cruzada.

  7. Execute o experimento.

  8. Depois de examinar os resultados e as pontuações de avaliação, para obter uma cópia do melhor modelo para reutilização posterior, basta clicar com o botão direito do mouse no módulo ajustar hiperparâmetros de modelo , selecionar melhor modelo treinadoe, em seguida, clicar em salvar como modelo treinado.

Observação

Você poderá obter resultados diferentes se usar a entrada no módulo ajustar hiperparâmetros de modelo para o conjunto de dados de validação opcional.

Isso ocorre porque, quando você usa essa opção, você está em vigor especificando um conjunto de teste de treinamento estático e um conjunto de testes. Portanto, o processo de validação cruzada também usa os conjuntos de dados de treinamento e teste especificados, em vez de dividi-los em n grupos para treinamento e teste. No entanto, as métricas são geradas em uma base de ndobras.

Resultados

Após a conclusão de todas as iterações, o modelo de validação cruzada cria pontuações para todo o conjunto de resultados, bem como as métricas de desempenho que você pode usar para avaliar a qualidade do modelo.

Resultados classificados

A primeira saída do módulo fornece os dados de origem para cada linha, bem como alguns valores previstos e as probabilidades relacionadas.

Para exibir esses resultados, no experimento, clique com o botão direito do mouse no módulo modelo de validação cruzada , selecione resultados pontuadose clique em Visualizar.

Nome da nova coluna Descrição
Atribuições de dobra Indica o índice baseado em 0 da dobra de cada linha de dados foi atribuída durante a validação cruzada.
Rótulos classificados Essa coluna é adicionada ao final do conjunto de e contém o valor previsto para cada linha
Probabilidades pontuadas Essa coluna é adicionada ao final do conjunto de e indica a probabilidade estimada do valor em Rótulos pontuados.

Resultados de avaliação

O segundo relatório é agrupado por dobras. Lembre-se de que, durante a execução, o modelo de validação cruzada divide aleatoriamente os dados de treinamento em n dobras (por padrão, 10). Em cada iteração sobre o conjunto de cada, o modelo de validação cruzada usa uma dobra como um conjunto de uma de validação e usa as n-1 dobras restantes para treinar um modelo. Cada um dos n modelos é testado em relação aos dados em todas as outras dobras.

Neste relatório, as dobras são listadas pelo valor do índice em ordem crescente. Para fazer a ordem em qualquer outra coluna, você pode salvar os resultados como um conjunto de um.

Para exibir esses resultados, no experimento, clique com o botão direito do mouse no módulo modelo de validação cruzada , selecione resultados da avaliação por dobrae clique em Visualizar.

Nome da coluna Descrição
Número da dobra Um identificador para cada dobra. Se você criou 5 dobras, haveria 5 subconjuntos de dados, numerados de 0 a 4.
Número de exemplos na dobra O número de linhas atribuídas a cada dobra. Eles devem ser aproximadamente iguais.
Modelar O algoritmo usado no modelo, identificado pelo nome da API

Além disso, as métricas a seguir são incluídas para cada dobra, dependendo do tipo de modelo que você está avaliando.

  • Modelos de classificação: precisão, recall, F-score, AUC, perda de log média, perda de log de treinamento

  • Modelos de regressão: probabilidade de log negativo, erro absoluto médio, erro de quadrado médio de raiz, erro absoluto relativo e coeficiente de determinação

Exemplos

Para obter exemplos de como a validação cruzada é usada no aprendizado de máquina, consulte o Galeria de ia do Azure:

Observações técnicas

  • É uma prática recomendada normalizar os conjuntos de dados antes de usá-los para validação cruzada.

  • Como o modelo de validação cruzada treina e valida o modelo várias vezes, é muito mais intensivo computacionalmente e leva mais tempo para ser concluído do que se você validou o modelo usando um conjunto de informações dividido aleatoriamente.

  • Recomendamos que você use o Modelo de validação cruzada para estabelecer a adequação do modelo fornecido aos parâmetros especificados. Use ajustar hiperparâmetros de modelo para identificar os parâmetros ideais.

  • Não é necessário dividir o conjunto de linhas em conjuntos de treinamento e teste quando você usa a validação cruzada para medir a precisão do modelo.

    No entanto, se um conjunto de módulos de validação for fornecido upstream, o módulo usará os conjuntos de testes de treinamento e teste especificados em vez de dividir em n dobras. Ou seja, o primeiro conjunto de um é usado para treinar o modelo para cada combinação de parâmetros e os modelos são avaliados no conjunto de conjuntos de validação. Consulte a seção sobre como usar uma limpeza de parâmetro com validação cruzada.

  • Embora este artigo use versões mais antigas dos módulos, ele tem uma boa explicação do processo de validação cruzada: como escolher parâmetros para otimizar seus algoritmos no Machine Learning

Entradas esperadas

Nome Tipo Descrição
Modelo não treinado Interface ILearner Modelo não treinado para validação cruzada no conjunto de dados
Dataset Tabela de Dados Conjunto de dados de entrada

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Coluna de rótulo any ColumnSelection Selecione a coluna que contém o rótulo a ser usado para validação
Propagação aleatória any Integer 0 Valor de propagação para gerador de número aleatório

Esse valor é opcional. Se não especificado

Saídas

Nome Tipo Descrição
Resultados classificados Tabela de Dados Resultados da classificação
Resultados da avaliação por dobra Tabela de Dados Resultados da avaliação (por dobra e inteiro)

Exceções

Exceção Descrição
Erro 0035 Ocorrerá uma exceção se nenhum recurso for fornecido por um determinado usuário ou item.
Erro 0032 Ocorrerá uma exceção se o argumento não for um número.
Erro 0033 Ocorrerá uma exceção se o argumento for infinito.
Erro 0001 Ocorrerá uma exceção se uma ou mais das colunas especificadas do conjunto de dados não puder ser encontrada.
Erro 0003 Ocorrerá uma exceção se uma ou mais das entradas for nula ou estiver vazia.
Erro 0006 Ocorrerá uma exceção se o parâmetro for maior ou igual ao valor especificado.
Erro 0008 Ocorrerá uma exceção se o parâmetro não estiver no intervalo.
Erro 0013 A exceção ocorrerá se o aprendiz que é passado para o módulo tem um tipo inválido.

para obter uma lista de erros específicos para módulos do Studio (clássicos), consulte Machine Learning códigos de erro.

para obter uma lista de exceções de api, consulte Machine Learning códigos de erro da api REST.

Confira também

Avaliar
Avaliar o Sistema de Recomendação
Lista de Módulo A-Z