Garfield
YZF Admin
Korelasyon matrisini pandas ile hesaplamak için veri kümesini bir DataFrame’e aktarın ve
Aşağıdaki örnek varsayımsal bir DataFrame oluşturur ve korelasyon matrisini yazdırır:
Çıktı yaklaşık olarak şu yapıda olur:
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
Ö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
Sonuçta satır ve sütunlarda aynı değişkenler yer alır. Örneğin
Kullanım örnekleri:
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.
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.
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.
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:- pandas kütüphanesini içe aktarın. Python dosyanızın başına
import pandas as pdsatırını ekleyin. - 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. - 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. - Korelasyon matrisini hesaplayın.
matris = df.corr(numeric_only=True)satırıyla sayısal sütunlar arasındaki korelasyonları hesaplayın. - Sonucu görüntüleyin veya kaydedin.
print(matris)ile ekranda gösterin; dosyaya aktarmak içinmatris.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öntem | Ne ölçer? | Ne zaman tercih edilir? |
|---|---|---|
| Pearson | Doğrusal ilişkiyi ölçer. | Sürekli sayısal verilerde ve ilişki yaklaşık doğrusal olduğunda. |
| Spearman | Sı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. |
| Kendall | Sıralamalar arasındaki uyumu ölçer. | Daha küçük veri kümelerinde veya sıralı verilerde alternatif olarak. |
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: