BaşlayınÜcretsiz başlayın

Yüksek korelasyonlu özellikleri filtreleme

Sayısal ANSUR veri kümesinde yüksek korelasyonlu özellikleri otomatik olarak kaldıracaksın. Korelasyon matrisini hesaplayıp, korelasyon katsayısı 0.95'ten büyük veya -0.95'ten küçük olan sütunları filtreleyeceksin.

Her korelasyon katsayısı matriste iki kez göründüğü için (A ile B'nin korelasyonu B ile A'nın korelasyonuna eşittir) iki korele özellikten yalnızca birinin kaldırılması için korelasyon matrisinin yarısını yok saymak isteyeceksin. Bunun için bir maskeleme hilesi kullan.

Bu egzersiz, kursun bir parçasıdır

Python'da Boyut Azaltma

Kursa Göz Atın

Egzersiz talimatları

  • ansur_df'in korelasyon matrisini hesapla ve bu matrisin mutlak değerini al.
  • Sağ üst üçgende True değerleri olan bir boolean maske oluştur ve bunu korelasyon matrisine uygula.
  • Korelasyon katsayısı eşik değerini 0.95 olarak ayarla.
  • DataFrame'den to_drop içinde listelenen tüm sütunları düşür.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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.")
Kodu Düzenle ve Çalıştır