ÎncepețiÎncepe gratuit

Eliminarea caracteristicilor puternic corelate

Vei automatiza eliminarea caracteristicilor puternic corelate din setul de date numeric ANSUR. Vei calcula matricea de corelație și vei filtra coloanele care au un coeficient de corelație mai mare de 0,95 sau mai mic de -0,95.

Deoarece fiecare coeficient de corelație apare de două ori în matrice (corelația dintre A și B este egală cu corelația dintre B și A), vei ignora jumătate din matricea de corelație, astfel încât doar una dintre cele două caracteristici corelate să fie eliminată. Folosește un truc cu o mască în acest scop.

Acest exercițiu face parte din cursul

Reducerea dimensionalității în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează matricea de corelație a ansur_df și aplică valoarea absolută acestei matrice.
  • Creează o mască booleană cu valori True în triunghiul din dreapta sus și aplic-o matricei de corelație.
  • Setează pragul coeficientului de corelație la 0.95.
  • Elimină toate coloanele din lista to_drop din DataFrame.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Calculate the correlation matrix and take the absolute value
corr_df = ansur_df.____().____()

# Create a True/False mask and apply it
mask = np.____(np.____(corr_df, dtype=____))
tri_df = corr_df.____(mask)

# List column names of highly correlated features (r > 0.95)
to_drop = [c for c in tri_df.columns if any(tri_df[c] >  ____)]

# Drop the features in the to_drop list
reduced_df = ansur_df.____(____, axis=1)

print(f"The reduced_df DataFrame has {reduced_df.shape[1]} columns.")
Editează și rulează codul