8. Pré-processamento dos Dados
O pré-processamento é uma etapa fundamental para garantir que os dados estejam no formato adequado para os algoritmos de machine learning. Variáveis categóricas precisam ser convertidas em valores numéricos, pois a maioria dos modelos não consegue trabalhar diretamente com texto. O uso do LabelEncoder é uma solução simples para transformar categorias em números inteiros.
Além da codificação, a normalização das variáveis numéricas (como as notas) é importante para evitar que atributos com escalas diferentes dominem o processo de aprendizado. A normalização garante que todas as variáveis tenham o mesmo peso na análise, melhorando a performance e a interpretação dos modelos.
Essas etapas tornam o dataset mais consistente, reduzem vieses e aumentam a eficiência dos algoritmos de classificação e agrupamento.
# Verificar valores ausentes
print('Valores nulos por coluna:')
print(df.isnull().sum())
# Codificar variáveis categóricas
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
# Lista de colunas categóricas
cat_cols = ['gender', 'race/ethnicity', 'parental level of education', 'lunch', 'test preparation course']
for col in cat_cols:
df[col] = le.fit_transform(df[col])
print('Exemplo de dados após codificação:')
df.head()
Após a codificação, todas as variáveis categóricas passam a ser representadas por números inteiros, permitindo o uso em modelos de árvore de decisão.