Ana içeriğe geç

Seaborn Isı Haritaları: Veri Görselleştirmeye Yönelik Bir Kılavuz

Göz alıcı Seaborn ısı haritaları oluşturmayı öğrenin.
· 9 dk. oku

Yapay Zeka ile Keşfedin

Isı haritaları, verinin büyüklük düzeylerini renkle temsil eden, böylece veri kümeniz içindeki desenleri ve aykırılıkları hızla tanımanızı sağlayan popüler bir veri görselleştirme tekniğidir.

Seaborn kütüphanesi, verilerinizin çizgi grafikleri, histogramlar ve ısı haritaları gibi yüksek düzeyde özelleştirilebilir görselleştirmelerini kolayca oluşturmanıza olanak tanır. Ayrıca, farklı grafik türleri ve bunların Python’da nasıl oluşturulacağı hakkında hazırladığımız eğitici yazımıza da göz atabilirsiniz.

Seaborn kütüphanesiyle grafik çizimi ve özelleştirme yaparken hızlı başvuru için Seaborn kopya kâğıdımızı elinizin altında bulundurun.

image4.png

Bu eğitimde Seaborn ısı haritalarının ne olduğunu, ne zaman kullanılacağını ve ihtiyaçlarınıza en uygun şekilde nasıl oluşturulup özelleştirilebileceğini inceleyeceğiz.

Isı Haritalarını Anlamak

Isı haritaları nedir?

Isı haritaları veriyi bir ızgarada düzenler; farklı renkler veya tonlar, verinin büyüklüğünün farklı düzeylerini gösterir.

Isı haritalarının görsel doğası, kümeler, eğilimler ve aykırılıklar gibi desenlerin anında fark edilmesini sağlar. Bu da ısı haritalarını keşif amaçlı veri analizi için etkili bir araç haline getirir.

İşte bir Seaborn ısı haritası örneği:

Seaborn ısı haritası örneği

Isı haritalarını ne zaman kullanmalısınız?

Isı haritası kullanma kararı gereksinimlerinize ve veri kümenizin doğasına bağlıdır. Genel olarak ısı haritaları, değerlerin renkle temsil edilebildiği, tipik olarak sürekli veya kesikli sayısal veriler için en uygundur. Ancak, sayısallaştırılmış veya özetlenmiş (ör. sayımlar, ortalamalar) kategorik veriler için de kullanılabilir.

Veri kümesi aşırı aykırı değerlere sahipse veya çok seyrekse, ön işleme ya da normalleştirme olmadan ısı haritası o kadar etkili olmayabilir. Metin, görüntü ve diğer yapılandırılmamış veri türleri de, önce veriyi yapılandırılmış sayısal bir biçime dönüştürmedikçe doğrudan ısı haritasına uygun değildir.

Isı haritaları, birden çok değişken arasındaki korelasyon matrisini görselleştirmede mükemmeldir; bu sayede yüksek düzeyde pozitif veya negatif korelasyonlu değişkenleri bir bakışta belirlemek kolaylaşır.

Isı haritaları ayrıca iki boyut boyunca verileri görsel olarak karşılaştırmak için de kullanışlıdır; örneğin farklı zaman dilimleri veya kategoriler. Coğrafi veri analizinde, ısı haritaları bir mekânsal yerleşimde olayların yoğunluğunu veya şiddetini gösterebilir; örneğin bir şehirde nüfus yoğunluğu veya suç yoğunlukları.

Seaborn Isı Haritalarına Başlarken

Ortamınızı hazırlama

Bu eğitim için, DataCamp’in yapay zekâ destekli veri not defteri DataLab’de bulunan krediler hakkında bilgi içeren bir veri kümesini kullanacağız. Bu eğitime ait kodun tamamı ilgili bir DataLab çalışma kitabında da mevcuttur.

DataLab’de tüm ana kütüphaneler önceden kuruludur ve içe aktarmaya hazırdır. Daha fazlasını öğrenmek için, veri bilimi için en popüler Python kütüphaneleri üzerine makalemize göz atabilirsiniz.

Bu eğitimde şu kütüphaneleri kullanacağız:

# Import libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

Python’a aşina değilseniz ve bu eğitime hızlıca hazırlanmanız gerekiyorsa, Python’a Giriş kursumuza göz atın.

Alternatif olarak, bu eğitimde kullanacağımız kütüphaneler hakkında daha fazla bilgi edinmek isterseniz şu kurslara bakabilirsiniz:

Verinizi hazırlama

Verinizin, satırların ve sütunların farklı boyutları (örn. zaman dönemleri, değişkenler, kategoriler) temsil ettiği bir matris biçiminde olduğundan emin olun. Matrisin her hücresinde görselleştirmek istediğiniz değer bulunmalıdır.

Veri temizleme

Bir ısı haritası kullanmadan önce iki temel veri temizleme görevi gerçekleştirmelisiniz: eksik değerlerin ele alınması ve aykırı değerlerin çıkarılması.

Eksik değerlerle uğraşırken, bunları istatistiksel bir ölçüyle (ortalama, medyan) doldurabilir, enterpole edebilir veya önemli değillerse düşürebilirsiniz. Aykırı değerlere gelince, analizinizin amacına göre bunları kaldırabilir veya değerlerini ayarlamayı tercih edebilirsiniz.

Kredi veri kümemizde eksik değer yoktu; ancak birkaç aykırı değer belirledik ve bunları kaldırmaya karar verdik. Bunu nasıl yaptığımıza ilişkin tam kod için DataLab’deki not defterine bakın.

Veri normalleştirme veya ölçekleme

Veri kümeniz geniş bir değer aralığına yayılıyorsa, ölçekleme veya normalleştirme yapmayı düşünün. Bu, ısı haritasındaki renklerin görece farkları daha doğru yansıtmasını sağlar. Yaygın yöntemler arasında min-maks ölçekleme ve Z-skoru normalleştirmesi bulunur.

Sınıflandırmaya ihtiyaç duyan sürekli veriler için, daha anlamlı bir ısı haritası görselleştirmesi adına veriyi bölmelere veya kategorilere ayırmayı düşünebilirsiniz.

Sözdizimi ve parametreler

seaborn.heatmap() kullanmak için genellikle bir veri matrisi geçirmeniz gerekir. Daha sonra, gereksinimlerinize bağlı olarak parametreleri ayarlayarak ısı haritalarınızı özelleştirebilirsiniz.

  • data: Matris biçiminde olması gereken, görselleştirilecek veri kümesi.

  • cmap: Isı haritası için renk haritasını belirtir. Seaborn, sıralı, ayrışan ve niteliksel şemalar dahil çeşitli renk paletlerini destekler.

  • annot: True olarak ayarlanırsa, her hücredeki değer ısı haritası üzerinde gösterilir.

  • fmt: annot True olduğunda, veriyi açıklama olarak biçimlendirmek için kullanılacak dize biçim kodunu belirler. Örneğin, tamsayılar için 'd', iki ondalıklı kayan nokta sayılar için '.2f'.

  • linewidths: Her hücreyi ayıran çizgilerin kalınlığını ayarlar. Daha büyük bir değer hücreler arasındaki ayrımı artırır.

  • linecolor: linewidths 0’dan büyükse, hücreleri ayıran çizgilerin rengini belirtir.

  • cbar: Bir renk çubuğunun çizilip çizilmeyeceğini belirten boole değeri. Renk çubuğu, veri değerlerinin renklere eşlenmesi için bir referans sağlar.

  • vmin ve vmax: Renk haritasının kapsadığı veri aralığını tanımlar.

  • center: Ayrışan renk şemaları kullanırken renk haritasının ortalanacağı değeri ayarlar.

  • square: True olarak ayarlanırsa, ısı haritası hücrelerinin kare şeklinde olmasını sağlar.

  • xticklabels ve yticklabels: X ve Y eksenlerinde görüntülenen etiketleri kontrol eder.

İlk Seaborn Isı Haritanızı Oluşturma

Verimizdeki her sayısal değişken çifti arasındaki korelasyon katsayısını gösteren bir ısı haritası oluşturacağız. Şimdilik ısı haritasını basit tutacağız ve bir sonraki bölümde daha fazla özelleştireceğiz.

# Calculate the correlation matrix
correlation_matrix = filtered_df.corr()

# Create the heatmap
plt.figure(figsize = (10,8))
sns.heatmap(correlation_matrix, cmap = 'coolwarm')
plt.show()

Seaborn ısı haritası korelasyon matrisi

Seaborn Isı Haritanızı Özelleştirme

Renk özelleştirme

Isı haritanızın rengini özelleştirmek, okunabilirliği artırır ve raporlar ile sunumlarda daha dikkat çekici görseller elde etmenizi sağlar.

Seaborn ve Matplotlib geniş bir yerleşik renk haritası yelpazesi sunar. Verinizin yapısını ve desenlerini etkili şekilde vurgulayan bir harita bulmak için ('Blues', 'coolwarm', 'viridis' vb.) renk haritalarıyla denemeler yapın. Düşükten yükseğe doğal bir sıralaması olan veriler için sıralı renk haritaları, anlamlı bir orta noktasına sahip veriler için ayrışan renk haritaları ve kategorik veriler için niteliksel renk haritaları kullanın.

Bununla birlikte, Seaborn’un varsayılan renk haritaları ve seçenekleriyle sınırlı değilsiniz. Matplotlib kullanarak özel renk haritaları oluşturabilir ve örneğin saydamlığı ayarlamak gibi ek özelleştirmeler belirtebilirsiniz.

vmin ve vmax ayarları, renk haritasının kapsadığı veri aralığını kontrol etmenizi sağlar. Bu, karşıtlığı artırabilir ve ilgi duyduğunuz belirli aralıklara odaklanmanıza yardımcı olabilir.

Ayrışan renk haritaları için center parametresiyle orta nokta değerini belirtin. Bu, renk karşıtlığının kritik bir değerin etrafında sabitlenmesini sağlar.

Isı haritamızın renk paletini ayarlayacak ve ayrıca min, maks ve orta değerleri belirleyerek renkleri sabitleyeceğiz.

# Customize heatmap colors
plt.figure(figsize = (10,8))
sns.heatmap(correlation_matrix, cmap = 'viridis', vmin = -1, vmax = 1, center = 0)
plt.show()

Seaborn ısı haritasını özelleştirme

Veri açıklamaları (annotation)

Veri açıklaması, her hücre içine sayısal değerler veya bazı metinler gösteren etiketler eklemeyi içerir. Açıklamalar, lejanttan değerleri çıkarmaya çalışmadan ısı haritalarını daha hızlı okuma ve yorumlama olanağı sağlar.

Açıklamaları etkinleştirmek için annot parametresini True olarak ayarlayın. Bu, ısı haritasının her hücresindeki veri değerlerini gösterecektir.

fmt parametresi, açıklamaların metnini biçimlendirmenize olanak tanır. Örneğin, tamsayı biçimlendirme için 'd' ve iki ondalık basamakla görüntülenen kayan nokta sayılar için '.2f' kullanın.

Seaborn’un ısı haritası işlevi, annot parametresi üzerinden yazı tipi boyutu gibi metin özelliklerini doğrudan özelleştirmeye izin vermez; ancak bu özellikleri Matplotlib’in rcParams ayarlarını kullanarak genel düzeyde değiştirebilirsiniz.

# Create an annotated heatmap
plt.figure(figsize = (10,8))
plt.rcParams.update({'font.size': 12})
sns.heatmap(correlation_matrix, cmap = 'viridis', vmin = -1, vmax = 1, center = 0, annot=True, fmt=".2f", square=True, linewidths=.5)
plt.show()

Açıklamalı bir Seaborn ısı haritası oluşturma

annot parametresi, verinizle aynı şekle sahip dizi benzeri bir yapı da alabilir. Bu şık bir yöntemdir ve hücre renklerinin gösterdiğinden farklı bilgi içeren açıklamalar eklemenizi sağlar. Bunu nasıl uygulayabileceğinize dair bir örnek:

# Example of alternative annotations
  annot_array = np.round(data*100, decimals=2)
  sns.heatmap(data, annot=annot_array, fmt='s')

Veri maskeleme

Veri maskeleme, belirli koşullara göre bazı veri noktalarını seçici biçimde vurgulamak veya gizlemek için kullanılan bir tekniktir. Bu, ilgilenilen belirli alanlara veya desenlere dikkatinizi odaklamaya yardımcı olabilir.

Önce, veri matrisinizle aynı şekle sahip bir boole maskesi oluşturmanız gerekir. Maske, gizlemek (veya göstermek) istediğiniz veri noktaları için True (veya False) olmalıdır. Korelasyon matrisi simetrik olduğundan, ısı haritamızın yalnızca üst kısmını kaplayan üçgensel bir maske oluşturmak için numpy’nin triu işlevini kullanabiliriz.

# Create a mask using numpy's triu function
mask = np.triu(np.ones_like(correlation_matrix, dtype=bool))

seaborn.heatmap() işlevinin mask parametresini kullanarak maskenizi uygulayın. Maskede True olan veri noktaları gizlenecektir.

# Create a masked heatmap
plt.figure(figsize = (10,8))
plt.rcParams.update({'font.size': 12})
sns.heatmap(correlation_matrix, cmap = 'viridis', vmin = -1, vmax = 1, center = 0, annot=True, fmt=".2f", square=True, linewidths=.5, mask = mask)
plt.show()

Maskeleme ile Seaborn ısı haritası

En İyi Uygulamalar ve Sık Yapılan Hatalar

Bu en iyi uygulamalara uymak, raporlarınız ve sunumlarınız için göz alıcı görselleştirmeler oluşturmak üzere Seaborn ısı haritalarını etkin biçimde kullanmanızı sağlar.

Seaborn ısı haritalarını kullanırken göz önünde bulundurmanız gereken beş en iyi uygulama şunlardır:

1. Doğru renk paletini seçin

Seçeceğiniz renk paleti, verinizin nasıl algılandığını doğrudan etkiler. Farklı renk şemaları verinizdeki desenleri vurgulayabilir veya gizleyebilir.

Düşükten yükseğe ilerleyen veriler için sıralı, anlamlı bir orta noktası olan veriler için ayrışan renk paletleri kullanın. Seaborn, cmap parametresiyle çeşitli seçenekler sunar; böylece renk şemasını veri kümenize göre uyarlayabilirsiniz. Farklı renk paleti seçenekleri ve bunların farklı grafik türlerini nasıl desteklediği hakkında bilgi edinmek için Seaborn Renk Paleti: Renk Seçimine Hızlı Rehber adlı eğitimimize göz atın.

2. Eksik verileri dikkatle ele alın

Eksik veriler ısı haritanızda boşluklar oluşturabilir ve izleyiciyi yanıltabilir. Grafiği çizmeden önce eksik verileri ele alma stratejinize karar verin. Önemine bağlı olarak eksik değerleri atayabilir veya tamamen kaldırabilirsiniz. Alternatif olarak, eksik verileri ayırt edici bir renk veya desenle göstermek, varlıklarını yanlış yönlendirmeden vurgulayabilir.

3. Verinizi uygun şekilde ölçekleyin

Büyük varyanslara veya aykırı değerlere sahip veriler görselleştirmeyi bozabilir; bu da veride desen olup olmadığını anlamayı zorlaştırır. Veri kümesi genelindeki farkları doğru yansıtması için verinizi normalleştirin veya ölçekleyin. Verinizin doğasına bağlı olarak, min-maks ölçekleme, Z-skoru normalleştirme veya hatta log dönüşümleri faydalı olabilir.

4. Açıklamaları ölçülü kullanın

Açıklamalar, tam değerleri göstererek değerli ayrıntılar sağlayabilir; ancak özellikle büyük veri kümelerinde çok fazla açıklama ısı haritasını okumayı zorlaştırabilir.

Açıklamaları kilit veri noktalarıyla sınırlayın veya daha küçük ısı haritalarında kullanın.

5. Isı haritasının boyutlarını ayarlayın

Varsayılan en-boy oranı ve boyut, veri kümenize uygun olmayabilir; bu da hücrelerin sıkışmasına veya desenleri gizleyen dar bir görünüme yol açabilir.

Her hücrenin net biçimde görülebilmesi ve genel desenin kolayca seçilebilmesi için ısı haritanızın boyutunu ve en-boy oranını özelleştirin.

Sonuç

Seaborn’un ısı haritası işlevi, veri desenlerinin dikkat çekici görselleştirmelerini sağlar ve özellikle sayısal değişkenler arasındaki korelasyonları görselleştirmede faydalıdır.

Ancak, en iyi uygulamaları izlemek önemlidir. Bunlar arasında doğru renk paletini seçme, eksik verileri dikkatle ele alma, veriyi uygun şekilde ölçekleme, açıklamaları ölçülü kullanma ve ısı haritasının boyutlarını ayarlama bulunur.

Seaborn kütüphanesine derinlemesine dalmak ister misiniz? Seaborn ile Veri Görselleştirmeye Giriş kursumuz yeni başlayanlar için harikadır; daha ileri düzey bir kullanıcıysanız, Seaborn ile Orta Düzey Veri Görselleştirme kursumuzla bilginizi derinleştirebilirsiniz.

Joleen Bothma

Yazar

Joleen Bothma

Seaborn Isı Haritası SSS

Isı haritaları veri görselleştirme için neden bu kadar etkilidir?

Isı haritaları, karmaşık veri desenlerini renkle anında tanınabilir kılar. Veri kümelerinde korelasyonları, eğilimleri ve kümeleri belirlemede özellikle etkilidir; bu da onları keşif amaçlı veri analizi ve sunumlar için popüler bir seçim yapar.

Seaborn’da bir ısı haritası oluşturmadan önce ne hazırlamalıyım?

Veri kümenizin, analiz etmek istediğiniz boyutları temsil eden satır ve sütunlara sahip matris biçiminde olduğundan emin olun. Isı haritanızın doğruluğunu ve netliğini artırmak için eksik değerleri temizleme, aykırı değerleri ele alma ve veriyi ölçekleme veya normalleştirme gibi gerekli ön işlemleri gerçekleştirin.

Konular

İlgili