Skip to content

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()
# Normalização das colunas de notas
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
df[['math score', 'reading score', 'writing score']] = scaler.fit_transform(df[['math score', 'reading score', 'writing score']])
print('Exemplo de dados após normalizaçã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.