Skip to content

9. Divisão dos Dados em Treino e Teste

A separação dos dados em conjuntos de treino e teste é essencial para avaliar a capacidade de generalização do modelo. O conjunto de treino é utilizado para ajustar os parâmetros do modelo, enquanto o conjunto de teste serve para medir o desempenho em dados totalmente novos.

Essa estratégia ajuda a evitar o overfitting, que ocorre quando o modelo aprende padrões específicos demais do conjunto de treino e perde a capacidade de prever corretamente em situações reais. Uma avaliação justa depende dessa divisão, garantindo que os resultados reflitam o potencial do modelo em cenários práticos.

from sklearn.model_selection import train_test_split

# Selecionar features e target
X = df.drop(['math score', 'reading score', 'writing score'], axis=1)
y = df['math score']  # Exemplo: prever nota de matemática (pode ajustar para classificação)

# Para classificação, pode criar uma coluna de aprovação/reprovação, por exemplo:
# y = (df['math score'] >= 0.6).astype(int)  # Para dados normalizados

# Dividir em treino e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print('Formato treino:', X_train.shape, y_train.shape)
print('Formato teste:', X_test.shape, y_test.shape)

O conjunto de treino possui 800 exemplos e o de teste 200, garantindo avaliação justa do modelo.