• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

Pandas ile korelasyon matrisi nasıl hesaplanır?

  • Konuyu Başlatan Konuyu Başlatan Garfield
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 2
  • Etiketler Etiketler
    veri bilimi

Garfield

YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
664
Mesajlar
689
AI Seviyesi
Yeni
Korelasyon matrisini pandas ile hesaplamak için veri kümesini bir DataFrame’e aktarın ve df.corr() metodunu çağırın. Bu işlem, sayısal sütun çiftleri arasındaki korelasyon katsayılarını -1 ile 1 arasında gösterir. Örneğin df.corr(method="pearson") çıktısında 1’e yakın değerler pozitif, -1’e yakın değerler negatif doğrusal ilişkiyi; 0’a yakın değerler ise doğrusal ilişkinin zayıf olduğunu gösterir.

En küçük çalışan örnek​


Aşağıdaki örnek varsayımsal bir DataFrame oluşturur ve korelasyon matrisini yazdırır:

Python:
import pandas as pd

data = {
    "calisma_saati": [2, 4, 6, 8, 10],
    "sinav_puani": [55, 62, 71, 83, 94],
    "uyku_saati": [8, 7, 6, 6, 5]
}

df = pd.DataFrame(data)

korelasyon_matrisi = df.corr()
print(korelasyon_matrisi)

Çıktı yaklaşık olarak şu yapıda olur:

Kod:
               calisma_saati  sinav_puani  uyku_saati
calisma_saati       1.000000     0.994987   -0.970725
sinav_puani         0.994987     1.000000   -0.947741
uyku_saati         -0.970725    -0.947741    1.000000

Gösterilen katsayılar altı ondalık basamağa yuvarlanmıştır. Yeterli gözlemi ve değişkenliği olan sayısal bir sütunun kendisiyle Pearson korelasyonu 1’dir. Sabit sütunda korelasyon tanımsız olduğundan köşegen de NaN olabilir. calisma_saati ile sinav_puani arasındaki yüksek pozitif değer, bu varsayımsal veride çalışma saati arttıkça sınav puanının da artma eğilimi olduğunu gösterir. Bu sonuç nedenselliği kanıtlamaz; yalnızca değişkenlerin birlikte nasıl değiştiğini ölçer.

Kendi verinizde korelasyon matrisini hesaplama​


Ön koşul olarak pandas kurulmuş olmalı ve veri dosyanızın yolu bilinmelidir. Aşağıdaki Kendall hesabı ayrıca SciPy gerektirir; gerekli ortamda python -m pip install pandas scipy ile bağımlılıkları kurabilirsiniz. CSV dosyasındaki sayısal sütunları kullanmak için şu sırayı izleyin:
  1. pandas kütüphanesini içe aktarın. Python dosyanızın başına import pandas as pd satırını ekleyin.
  2. Veriyi DataFrame’e okuyun. CSV dosyası için df = pd.read_csv("veri.csv") kullanın. Dosya farklı bir klasördeyse doğru dosya yolunu yazın.
  3. Sayısal sütunları kontrol edin. print(df.dtypes) komutuyla sütun türlerini inceleyin. Metin olarak okunan sayılar korelasyon hesabına beklediğiniz şekilde katılmayabilir.
  4. Korelasyon matrisini hesaplayın. matris = df.corr(numeric_only=True) satırıyla sayısal sütunlar arasındaki korelasyonları hesaplayın.
  5. Sonucu görüntüleyin veya kaydedin. print(matris) ile ekranda gösterin; dosyaya aktarmak için matris.to_csv("korelasyon_matrisi.csv") kullanın.
Python:
import pandas as pd

df = pd.read_csv("veri.csv")

print(df.dtypes)

matris = df.corr(numeric_only=True)
print(matris)
matris.to_csv("korelasyon_matrisi.csv")

Sonuçta satır ve sütunlarda aynı değişkenler yer alır. Örneğin gelir satırı ile harcama sütununun kesişimindeki değer, bu iki sütunun korelasyon katsayısıdır. Matris simetriktir; yani gelir-harcama değeri ile harcama-gelir değeri aynı olmalıdır.

Korelasyon yöntemini seçme​


corr() varsayılan olarak Pearson korelasyonunu kullanır. Verinin yapısına ve ölçmek istediğiniz ilişkiye göre yöntemi açıkça belirleyebilirsiniz:
YöntemNe ölçer?Ne zaman tercih edilir?
PearsonDoğrusal ilişkiyi ölçer.Sürekli sayısal verilerde ve ilişki yaklaşık doğrusal olduğunda.
SpearmanSıralara dayalı, monoton ilişkiyi ölçer.Aykırı değerler bulunduğunda veya ilişki doğrusal değil ama genel olarak aynı yönde değişiyorsa.
KendallSıralamalar arasındaki uyumu ölçer.Daha küçük veri kümelerinde veya sıralı verilerde alternatif olarak.
Kullanım örnekleri:

Python:
pearson = df.corr(numeric_only=True, method="pearson")
spearman = df.corr(numeric_only=True, method="spearman")
kendall = df.corr(numeric_only=True, method="kendall")

Pearson ve Spearman sonuçları belirgin biçimde farklıysa ilişkinin doğrusal olup olmadığını, aykırı değerlerden etkilenip etkilenmediğini ve değişkenlerin dağılımını ayrıca inceleyin. Tek bir korelasyon katsayısı veri içindeki eğrileri, grupları veya uç değerlerin etkisini göstermez.

Sonucu nasıl yorumlamalısınız?​


Katsayının işareti ilişkinin yönünü, mutlak değeri ise ilişkinin gücünü özetler. Pozitif değerlerde değişkenler genellikle aynı yönde, negatif değerlerde zıt yönde hareket eder. Ancak “güçlü” veya “zayıf” yorumunda sabit eşikler kullanmak yerine alan bilgisini, örneklem büyüklüğünü ve veri görselleştirmesini dikkate alın.

NaN değerleri görürseniz sabit sütunları ve yeterli geçerli gözlem bulunup bulunmadığını kontrol edin. corr(), her sütun çifti için birlikte geçerli gözlemleri kullanır; eksik veride farklı katsayılar farklı satır kümelerinden hesaplanabilir. Pearson ve Spearman için min_periods ile çift başına gereken en az gözlem sayısını belirleyebilirsiniz. Önce df.isna().sum() ile eksikleri, df.dtypes ile veri türlerini inceleyin. Eksik değerleri rastgele silmek ya da doldurmak sonucu değiştirebileceğinden, uygulanacak yöntemi verinin nasıl üretildiğine göre seçin.

Korelasyon matrisi ilişkiyi özetler; nedensellik, istatistiksel anlamlılık veya tahmin başarısı sağlamaz. Daha güvenilir bir değerlendirme için ilgili değişkenlerin saçılım grafiklerini inceleyin, aykırı değerleri kontrol edin ve gerekiyorsa korelasyon katsayısıyla birlikte uygun bir istatistiksel test uygulayın.
 
Son düzenleme:

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Geri
Üst