Modelo de validação cruzada

Importante

O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Valida estimativas de parâmetros para modelos de classificação ou regressão dividindo os dados

Categoria: Machine Learning / Avaliar

Nota

Aplica-se a: Machine Learning Studio (clássico) apenas

Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.

Visão geral do módulo

Este artigo descreve como usar o módulo Modelo Cross-Valide em Machine Learning Studio (clássico). A validação cruzada é uma técnica importante frequentemente usada na aprendizagem automática para avaliar tanto a variabilidade de um conjunto de dados como a fiabilidade de qualquer modelo treinado usando esses dados.

O módulo Modelo Transversalmente Validado toma como entrada um conjunto de dados rotulado, juntamente com um modelo de classificação ou regressão não treinado. Divide o conjunto de dados em alguns subconjuntos (dobras), constrói um modelo em cada dobra e, em seguida, devolve um conjunto de estatísticas de precisão para cada dobra. Ao comparar as estatísticas de precisão de todas as dobras, pode interpretar a qualidade do conjunto de dados e entender se o modelo é suscetível a variações nos dados.

Validado também devolve resultados e probabilidades previstos para o conjunto de dados, para que possa avaliar a fiabilidade das previsões.

Como funciona a validação cruzada

  1. A validação cruzada divide aleatoriamente os dados de treino em várias divisórias, também chamadas dobras.

    • O algoritmo é desresposição de 10 dobras se não tiver dividido previamente o conjunto de dados.
    • Para dividir o conjunto de dados num número diferente de dobras, pode utilizar o módulo partição e amostra e indicar quantas dobras utilizar.
  2. O módulo põe de lado os dados na dobra 1 para usar para validação (isto às vezes é chamado de dobra de retenção), e usa as restantes dobras para treinar um modelo.

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

  3. Durante o teste do modelo para cada dobra, são avaliadas estatísticas de precisão múltiplas. Quais as estatísticas utilizadas dependem do tipo de modelo que está a avaliar. Diferentes estatísticas são usadas para avaliar modelos de classificação vs. modelos de regressão.

  4. Quando o processo de construção e avaliação está completo para todas as dobras, o Modelo Cross-Valide gera um conjunto de métricas de desempenho e obteve resultados para todos os dados. Você deve rever estas métricas para ver se qualquer dobra tem particularmente alta ou baixa precisão

Vantagens da validação cruzada

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

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

    A validação cruzada mede o desempenho do modelo com os parâmetros especificados num espaço de dados maior. Ou seja, a validação cruzada utiliza todo o conjunto de dados de treino para treino e avaliação, em vez de alguma parte. Em contraste, se validar um modelo utilizando dados gerados a partir de uma divisão aleatória, normalmente avalia o modelo apenas em 30% ou menos dos dados disponíveis.

    No entanto, como os comboios de validação cruzada e validam o modelo várias vezes ao longo de um conjunto de dados maior, é muito mais intensivo computacionalmente e demora muito mais tempo do que validar numa divisão aleatória.

  • A validação cruzada avalia o conjunto de dados, bem como o modelo.

    A validação cruzada não mede apenas a precisão de um modelo, mas também lhe dá uma ideia de quão representativo é o conjunto de dados e quão sensível o modelo pode ser às variações dos dados.

Como utilizar o modelo de validação cruzada

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

A validação cruzada pode demorar muito tempo a ser executada se utilizar muitos dados. Por isso, poderá utilizar o Modelo Cross-Validate na fase inicial de construção e teste do seu modelo, para avaliar a bondade dos parâmetros do modelo (assumindo que o tempo de computação é tolerável), e depois treinar e avaliar o seu modelo utilizando os parâmetros estabelecidos com os módulos Train Model e Assess Model .

Validação cruzada simples

Neste cenário, treina-se e testa o modelo utilizando o Modelo Cross Validate.

  1. Adicione o módulo Modelo De Validação Cruzada à sua experiência. Pode encontrá-lo em Machine Learning Studio (clássico), na categoria Machine Learning, em Avaliação.

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

    Por exemplo, se estiver a utilizar uma máquina de pontos de duas classes para classificação, configufique o modelo com os parâmetros que pretende e, em seguida, arraste um conector da porta modelo não treinada do classificador para a porta correspondente do Modelo Cross Valide.

    Dica

    O modelo não precisa de ser treinado porque o Modelo Cross-Validate treina automaticamente o modelo como parte da avaliação.

  3. Na porta dataset do Modelo De Validação Cruzada, ligue qualquer conjunto de dados de formação rotulado.

  4. No painel propriedades do modelo de validação cruzada, clique no seletor de colunas de lançamento e escolha a coluna única que contém a etiqueta de classe ou o valor previsível.

  5. Desaver um valor para o parâmetro de semente aleatória se quiser ser capaz de repetir os resultados da validação cruzada em sucessivas execuções nos mesmos dados.

  6. Execute a experimentação.

  7. Consulte a secção resultados para obter uma descrição dos relatórios.

    Para obter uma cópia do modelo para reutilização posterior, clique na saída do módulo que contém o algoritmo (por exemplo, a Máquina de Dois Bayes Point) e clique em Guardar como Modelo Treinado.

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

Neste cenário, utiliza-se hiperparmetros Tune Model para identificar o melhor modelo, conduzindo uma varredura de parâmetros e, em seguida, utiliza o Modelo Validado Cruz para verificar a sua fiabilidade. Esta é a maneira mais fácil de ter Machine Learning identificar o melhor modelo e depois gerar métricas para ele.

  1. Adicione o conjunto de dados para a formação de modelos e adicione um dos módulos de aprendizagem automática que cria um modelo de classificação ou regressão.

  2. Adicione o módulo De Hiperparametros Tune Model à sua experiência. Pode encontrá-lo na categoria Machine Learning, em Comboio.

  3. Fixe o modelo de classificação ou regressão à entrada do modelo não treinado dos Hiperparmetros Tune Model.

  4. Adicione o módulo Modelo De Validação Cruzada à sua experiência. Pode encontrá-lo em Machine Learning Studio (clássico), na categoria Machine Learning, em Avaliação.

  5. Localize a melhor saída de modelo treinado de Tune Model Hyperparameters e conecte-o à entrada do modelo não treinado do Modelo Validado Cruzado.

  6. Ligação os dados de formação à entrada do conjunto de dados de formação do Modelo De Validação Cruzada.

  7. Execute a experimentação.

  8. Depois de rever os resultados e as pontuações de avaliação, para obter uma cópia do melhor modelo para posterior reutilização, basta clicar com a direita no módulo Tune Model Hyperparameters , selecione O melhor modelo treinado e, em seguida, clique em Guardar como Modelo Treinado.

Nota

Poderá obter resultados diferentes se utilizar a entrada no módulo De Hiperparametros Tune Model para conjunto de dados de validação opcional.

Isto porque, ao utilizar esta opção, está a especificar um conjunto de dados de treino estático e a testar o conjunto de dados. Assim, o processo de validação cruzada também utiliza os conjuntos de dados de treino e teste especificados, em vez de dividir os dados em grupos n para treino e teste. No entanto, as métricas são geradas numa base n-fold.

Resultados

Depois de todas as iterações estarem completas, o Modelo Cross-Validate cria pontuações para todo o conjunto de dados, bem como métricas de desempenho que pode utilizar para avaliar a qualidade do modelo.

Resultados pontuados

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

Para ver estes resultados, na experiência, clique com o botão direito no módulo Modelo Validado, selecione Resultados De Pontuação e clique em Visualizar.

Nome da coluna nova Description
Atribuições dobráveis Indica que o índice baseado em 0 da dobra de cada linha de dados foi atribuído durante a validação cruzada.
Etiquetas Classificadas Esta coluna é adicionada no final do conjunto de dados, e contém o valor previsto para cada linha
Probabilidades Pontuadas Esta coluna é adicionada no final do conjunto de dados, e indica a probabilidade estimada do valor em Etiquetas Pontuadas.

Resultados da avaliação

O segundo relatório é agrupado por dobras. Lembre-se que, durante a execução, o Modelo Cross-Valide divide aleatoriamente os dados de treino em n folds (por defeito, 10). Em cada iteração sobre o conjunto de dados, o Modelo Cross-Valide utiliza uma dobra como conjunto de dados de validação e utiliza as restantes dobras n-1 para treinar um modelo. Cada um dos modelos n é testado com os dados em todas as outras dobras.

Neste relatório, as dobras são listadas pelo valor do índice, por ordem ascendente. Para encomendar em qualquer outra coluna pode guardar os resultados como conjunto de dados.

Para ver estes resultados, na experiência, clique com o botão direito no módulo Modelo Validado, selecione os resultados de avaliação por dobra e clique em Visualizar.

Nome da coluna Description
Número dobrável Um identificador para cada dobra. Se criasse 5 dobras, haveria 5 subconjuntos de dados, numerados de 0 a 4.
Número de exemplos em dobra O número de linhas atribuídas a cada dobra. Devem ser aproximadamente iguais.
Modelação O algoritmo usado no modelo, identificado pelo nome API

Além disso, as seguintes métricas estão incluídas para cada dobra, dependendo do tipo de modelo que está a avaliar.

  • Modelos de classificação: Precisão, recordação, F-score, AUC, perda média de log, perda de registo de treino

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

Exemplos

Por exemplo, como a validação cruzada é utilizada na aprendizagem automática, consulte a Galeria Azure AI:

Notas técnicas

  • É uma boa prática normalizar conjuntos de dados antes de os utilizar para validação cruzada.

  • Como o Modelo Cross-Valide treina e valida o modelo várias vezes, é muito mais intensivo computacionalmente e demora mais tempo a ser concluído do que se validasse o modelo usando um conjunto de dados dividido aleatoriamente.

  • Recomendamos que utilize o Modelo Cross-Validate para estabelecer a bondade do modelo, dado os parâmetros especificados. Utilize hiperparmetros tune model para identificar os parâmetros ideais.

  • Não é necessário dividir o conjunto de dados em conjuntos de treino e testes quando utiliza a validação cruzada para medir a precisão do modelo.

    No entanto, se um conjunto de dados de validação for fornecido a montante, o módulo utiliza os conjuntos de dados de treino e teste especificados em vez de se dividir em n folds. Ou seja, o primeiro conjunto de dados é usado para treinar o modelo para cada combinação de parâmetros, e os modelos são avaliados no conjunto de dados de validação. Consulte a secção sobre a utilização de uma varredura de parâmetros com validação cruzada.

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

Entradas esperadas

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

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Description
Coluna de etiqueta qualquer Seleção de Colunas Selecione a coluna que contém o rótulo a utilizar para validação
Sementes aleatórias qualquer Número inteiro 0 Valor de semente para gerador de números aleatórios

Este valor é opcional. Se não for especificado

Saídas

Nome Tipo Description
Resultados pontuados Tabela de Dados Resultados da pontuação
Resultados da avaliação por dobra Tabela de Dados Resultados da avaliação (por dobra e por completo)

Exceções

Exceção Description
Erro 0035 A exceção ocorre se não forem fornecidas funcionalidades para um determinado utilizador ou item.
Erro 0032 A exceção ocorre se o argumento não for um número.
Erro 0033 A exceção ocorre se o argumento for infinito.
Erro 0001 A exceção ocorre se uma ou mais colunas especificadas de conjunto de dados não puderem ser encontradas.
Erro 0003 A exceção ocorre se uma ou mais entradas forem nulas ou vazias.
Erro 0006 A exceção ocorre se o parâmetro for maior ou igual ao valor especificado.
Erro 0008 A exceção ocorre se o parâmetro não estiver ao alcance.
Erro 0013 A exceção ocorre se o aluno que é passado para o módulo tiver um tipo inválido.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte Machine Learning Códigos de Erro.

Para obter uma lista de exceções da API, consulte Machine Learning CÓDIGOs de Erro da API REST.

Ver também

Avaliar
Avaliar Recomendador
Lista de Módulos A-Z