Skip to content

7. Pré-processamento dos Dados

Nesta etapa, realizamos o tratamento de valores ausentes, codificação das variáveis categóricas e normalização das variáveis para preparar os dados para o modelo KNN.

# Exemplo de tratamento de valores ausentes
df = df.dropna()
# Codificação de variáveis categóricas
from sklearn.preprocessing import LabelEncoder
cat_cols = ['gender', 'race/ethnicity', 'parental level of education', 'lunch', 'test preparation course']
le = LabelEncoder()
for col in cat_cols:
    df[col] = le.fit_transform(df[col])
# Criar coluna alvo binária para classificação: passed (math score >= 60)
df['passed'] = (df['math score'] >= 60).astype(int)
# Selecionar features (exceto notas) e target
X = df.drop(['math score', 'reading score', 'writing score', 'passed'], axis=1)
y = df['passed']
# Normalização das features
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
gender race/ethnicity parental level of education lunch test preparation course math score reading score writing score passed
0 1 2 1 0 72 72 74 1
1 2 3 1 1 69 90 88 1
0 1 1 1 0 90 95 93 1
0 2 3 1 1 47 57 44 0
1 1 0 0 0 76 78 75 1