Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Validação Cruzada | Modeling
ML Introduction with scikit-learn

Validação CruzadaValidação Cruzada

No capítulo anterior, exploramos a abordagem de divisão de treino-teste para avaliar o modelo. Essa abordagem tem suas desvantagens:

  1. Usamos apenas uma parte do conjunto de dados para treinamento. Naturalmente, quanto mais dados forneceremos ao modelo, mais ele terá para treinar e melhor será o desempenho do modelo.
  2. O resultado pode depender fortemente da divisão. Como você viu no capítulo anterior, uma vez que o conjunto de dados é dividido aleatoriamente, executar o código várias vezes pode ter resultados razoavelmente diferentes.

Portanto, existe uma abordagem diferente para avaliar um modelo chamada validação cruzada. Vamos ver como funciona.

Primeiramente, dividimos um conjunto de dados completo em 5 partes iguais, chamadas dobras.

Então, pegamos um conjunto de dados como conjunto de teste e os outros conjuntos como conjunto de treinamento.

Como sempre, usamos um conjunto de treinamento para treinar o modelo e um conjunto de teste para avaliar o modelo.

Agora, repita o processo para cada divisão a ser um conjunto de teste.

Como resultado, obtemos 5 pontuações de precisão para cada divisão. Agora, podemos calcular a média dessas 5 pontuações para medir o desempenho médio do modelo. Para calcular a pontuação de validação cruzada em Python, podemos usar a função cross_val_score() do módulo sklearn.model_selection.

Nota

Embora o exemplo seja mostrado com 5 divisões, você pode usar qualquer número de divisões para a validação cruzada. Por exemplo, pode-se usar 10 divisões, 9 para um conjunto de treinamento e 1 para um conjunto de teste. Isso é controlado usando o argumento cv de cross_val_score().

The original text example was not provided in your message. Could you please send the English text that you want to be translated into Portuguese?

Ele mostra resultados mais estáveis e confiáveis do que o método de divisão treino-teste, mas é significativamente mais lento, pois precisa treinar e avaliar o modelo 5 vezes (ou n vezes, se você definir n quantidade de divisões), enquanto o treino-teste faz isso apenas uma vez. Como você verá em breve, a validação cruzada é geralmente usada para determinar os melhores hiperparâmetros (por exemplo, o melhor número de vizinhos).

Tudo estava claro?

Seção 4. Capítulo 4
course content

Conteúdo do Curso

ML Introduction with scikit-learn

Validação CruzadaValidação Cruzada

No capítulo anterior, exploramos a abordagem de divisão de treino-teste para avaliar o modelo. Essa abordagem tem suas desvantagens:

  1. Usamos apenas uma parte do conjunto de dados para treinamento. Naturalmente, quanto mais dados forneceremos ao modelo, mais ele terá para treinar e melhor será o desempenho do modelo.
  2. O resultado pode depender fortemente da divisão. Como você viu no capítulo anterior, uma vez que o conjunto de dados é dividido aleatoriamente, executar o código várias vezes pode ter resultados razoavelmente diferentes.

Portanto, existe uma abordagem diferente para avaliar um modelo chamada validação cruzada. Vamos ver como funciona.

Primeiramente, dividimos um conjunto de dados completo em 5 partes iguais, chamadas dobras.

Então, pegamos um conjunto de dados como conjunto de teste e os outros conjuntos como conjunto de treinamento.

Como sempre, usamos um conjunto de treinamento para treinar o modelo e um conjunto de teste para avaliar o modelo.

Agora, repita o processo para cada divisão a ser um conjunto de teste.

Como resultado, obtemos 5 pontuações de precisão para cada divisão. Agora, podemos calcular a média dessas 5 pontuações para medir o desempenho médio do modelo. Para calcular a pontuação de validação cruzada em Python, podemos usar a função cross_val_score() do módulo sklearn.model_selection.

Nota

Embora o exemplo seja mostrado com 5 divisões, você pode usar qualquer número de divisões para a validação cruzada. Por exemplo, pode-se usar 10 divisões, 9 para um conjunto de treinamento e 1 para um conjunto de teste. Isso é controlado usando o argumento cv de cross_val_score().

The original text example was not provided in your message. Could you please send the English text that you want to be translated into Portuguese?

Ele mostra resultados mais estáveis e confiáveis do que o método de divisão treino-teste, mas é significativamente mais lento, pois precisa treinar e avaliar o modelo 5 vezes (ou n vezes, se você definir n quantidade de divisões), enquanto o treino-teste faz isso apenas uma vez. Como você verá em breve, a validação cruzada é geralmente usada para determinar os melhores hiperparâmetros (por exemplo, o melhor número de vizinhos).

Tudo estava claro?

Seção 4. Capítulo 4
some-alt