Search
Close this search box.
Conjuntos de treinamento e teste em machine learning
conjunto de treino e teste em machine learning

Posts Relacionados:

Em machine learning, dados para treinamento e teste são separados em dois conjuntos cruciais para treinar e avaliar o desempenho dos modelos.

Receba nossa newsletter

Conjuntos de treinamento e teste em machine learning

treino e teste em machine learning

Dados para treinamento e teste em machine learning são requisitos essenciais. Durante o treinamento de um modelo, ele é exposto a dados e ajusta seus parâmetros gradativamente. Porém, para avaliar seu desempenho, é fundamental expô-lo a dados inéditos.

Por causa dessa dupla necessidade, treinamento e teste, um conjunto de dados (dataset) é normalmente dividido em um conjunto de treinamento e um de teste.

Conjunto de Treinamento

Um conjunto de treinamento é um subconjunto de dados usado para treinar um modelo de machine learning. Geralmente, ele é formado pela maior parte dos dados de um dataset. Seus dados são aqueles a partir dos quais o modelo aprende padrões e relações. Durante o treinamento, os parâmetros do modelo (por exemplo, os pesos em uma rede neural) são ajustados para minimizar o erro entre suas previsões e os rótulos verdadeiros no conjunto de treinamento.

Conjunto de Teste

Um conjunto de teste é um subconjunto de dados completamente separado do conjunto de treinamento. Ele é usado para avaliar o desempenho do modelo treinado com dados inéditos. As previsões do modelo no conjunto de teste são comparadas com os rótulos verdadeiros para estimar sua precisão e capacidade de generalização. O conjunto de teste deve ser representativo dos dados que o modelo encontrará na fase de produção. Contudo, eles nunca devem ser usados durante o treinamento para evitar overfitting. 

Overfitting é um problema comum em machine learning. Ele ocorre quando um modelo aprende as flutuações aleatórias e o ruído nos dados de treinamento em vez de aprender seus padrões. Um modelo com overfitting se ajusta aos dados de treinamento quase perfeitamente, mas falha em generalizar bem para dados novos. O uso de um conjunto de teste com dados novos permite verificar se um modelo apresenta overfitting.

Por que os conjuntos de treinamento e teste em machine learning devem ser separados?

Uma das principais razões para ter dados de treinamento e teste em machine learning como subconjuntos separados é verificar como o modelo se comportará diante de dados inéditos. A presença de um conjunto de teste com dados diferentes auxilia na avaliação de overfitting. O conjunto de teste com dados inéditos oferece uma medida objetiva da generalizabilidade e eficácia do modelo no mundo real.

Qual é o tamanho ideal dos conjuntos de treinamento e teste?

Não existe uma regra. Artigos em machine learning usam geralmente um conjunto de treinamento com 70% dos dados e o restante para teste. Mas esse valor pode ser variado. Não é incomum encontrar separações em 80/20, 75/25 ou ainda 65/35. O maior subconjunto é sempre o de treinamento.

Também é comum encontrar separações entre conjuntos de teste e de validação. Nesses casos, cada um deles é formado por cerca de 15% dos dados e os 70% restantes são usados para treinamento.

O conjunto de validação é um subconjunto de dados separado do conjunto de treinamento e do conjunto de teste. Ele costuma ser usado para avaliar o desempenho do modelo durante o processo de treinamento para realizar ajustes de hiperparâmetros.

Como separar os dados em conjunto de treinamento e teste?

Para separar os dados em conjuntos de treinamento e teste em machine learning, é fundamental garantir que eles não sejam desequilibrados nos diferentes grupos. Por exemplo, se você tem 2 classes que serão classificadas em um modelo, é preciso garantir que os dois conjuntos tenham dados suficientes para ambas. Uma recomendação para garantir uma boa separação é usar um algoritmo de separação como o train_test_split da biblioteca scikit-learn (exemplo abaixo) ou realizar a randomização dos dados antes de dividi-los.

				
					# exemplo de separação de dados usando scikit-learn

from sklearn.model_selection import train_test_split

# conjuntos de treinamento e teste para um modelo com aprendizagem supervisionada
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)

				
			

Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.

Imagem com IA Generativa – Dia 102

IA generativa img102

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial