Validação Cruzada
A divisão treino-teste possui duas desvantagens:
- Menos dados de treinamento, o que pode reduzir a qualidade do modelo;
- Dependência da divisão aleatória, causando resultados instáveis. Para superar isso, utilizamos a validação cruzada.
Primeiro, divida todo o conjunto de dados em 5 partes iguais, conhecidas como folds.
Em seguida, utilize um fold como conjunto de teste e combine os folds restantes para formar o conjunto de treinamento.
Como em qualquer processo de avaliação, o conjunto de treinamento é utilizado para treinar o modelo, enquanto o conjunto de teste é utilizado para medir seu desempenho.
O processo é repetido para que cada partição sirva como conjunto de teste uma vez, enquanto as demais partições formam o conjunto de treinamento.
A validação cruzada produz múltiplas pontuações de acurácia—uma para cada divisão.
Sua média representa o desempenho médio do modelo.
Em Python, isso é calculado com cross_val_score().
Você pode escolher qualquer número de divisões. Por exemplo, usar 10 divisões significa treinar em 9 partes e testar em 1.
Isso é definido pelo parâmetro cv em cross_val_score().
1234567891011import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import cross_val_score df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Print the cross-val scores and the mean for KNeighborsClassifier with 5 neighbors scores = cross_val_score(KNeighborsClassifier(), X, y) print(scores) print(scores.mean())
A validação cruzada é mais confiável, porém mais lenta, pois o modelo é treinado e avaliado n vezes.
É amplamente utilizada na otimização de hiperparâmetros, onde a validação cruzada é repetida para cada valor de hiperparâmetro—por exemplo, testando múltiplos valores de k no k-NN.
Isso auxilia na escolha da opção que apresenta o melhor desempenho de forma consistente.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
Validação Cruzada
Deslize para mostrar o menu
A divisão treino-teste possui duas desvantagens:
- Menos dados de treinamento, o que pode reduzir a qualidade do modelo;
- Dependência da divisão aleatória, causando resultados instáveis. Para superar isso, utilizamos a validação cruzada.
Primeiro, divida todo o conjunto de dados em 5 partes iguais, conhecidas como folds.
Em seguida, utilize um fold como conjunto de teste e combine os folds restantes para formar o conjunto de treinamento.
Como em qualquer processo de avaliação, o conjunto de treinamento é utilizado para treinar o modelo, enquanto o conjunto de teste é utilizado para medir seu desempenho.
O processo é repetido para que cada partição sirva como conjunto de teste uma vez, enquanto as demais partições formam o conjunto de treinamento.
A validação cruzada produz múltiplas pontuações de acurácia—uma para cada divisão.
Sua média representa o desempenho médio do modelo.
Em Python, isso é calculado com cross_val_score().
Você pode escolher qualquer número de divisões. Por exemplo, usar 10 divisões significa treinar em 9 partes e testar em 1.
Isso é definido pelo parâmetro cv em cross_val_score().
1234567891011import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import cross_val_score df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Print the cross-val scores and the mean for KNeighborsClassifier with 5 neighbors scores = cross_val_score(KNeighborsClassifier(), X, y) print(scores) print(scores.mean())
A validação cruzada é mais confiável, porém mais lenta, pois o modelo é treinado e avaliado n vezes.
É amplamente utilizada na otimização de hiperparâmetros, onde a validação cruzada é repetida para cada valor de hiperparâmetro—por exemplo, testando múltiplos valores de k no k-NN.
Isso auxilia na escolha da opção que apresenta o melhor desempenho de forma consistente.
Obrigado pelo seu feedback!