Dağılım Grafikleri: histplot ve kdeplot
Sayısal bir dağılımın biçimini sns.histplot ile görselleştirin ve çekirdek yoğunluk tahminini sns.kdeplot ile üzerine ekleyin.
Dağılım Grafikleri: histplot ve kdeplot, CoddyKit'te ücretsiz bir Pandas & NumPy Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Pandas & NumPy Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.
Seaborn ve Dağılım Grafikleri
Seaborn, Matplotlib üzerine kurulmuş bir istatistiksel veri görselleştirme kütüphanesidir. Çok az kodla güzel ve bilgilendirici grafikler oluşturmanızı sağlayan üst düzey bir API sunar. Herhangi bir veri kümesi hakkında anlamak isteyeceğiniz ilk şeylerden biri, verinin dağılımlarının şeklidir — Seaborn'un histplot ve kdeplot işlevleri bunun için temel araçlardır.
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# Load a built-in dataset
tips = sns.load_dataset('tips')
print(tips.head())histplot ile Temel Histogram Oluşturma
sns.histplot(data, x='column'), sayısal bir değişkenin histogramını oluşturur. Seaborn, varsayılan olarak Sturges kuralını kullanarak uygun bölme sayılarını otomatik seçer. Bölme sayısını bins parametresiyle özelleştirebilir veya Seaborn'un otomatik seçim yapmasına izin verebilirsiniz. Her çubuğun yüksekliği, ilgili aralıktaki gözlemlerin sayısını gösterir.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
# Basic histogram of total bill amounts
sns.histplot(data=tips, x='total_bill')
plt.title('Distribution of Total Bill')
plt.xlabel('Total Bill ($)')
plt.show()Bölmeleri ve Stat Parametresini Denetleme
Bölmeler parametresi, histogramda kaç çubuk gösterileceğini denetler — daha fazla bölme daha ince ayrıntılar ortaya çıkarır, ancak grafik gürültülü görünebilir. İstatistik parametresi y ekseninin neyi temsil ettiğini değiştirir: 'count' (varsayılan), 'density' (olasılık yoğunluğu), 'probability' (gözlemlerin oranı) veya 'percent'. stat='density' seçmek, farklı boyutlardaki veri kümelerinden oluşturulan histogramların karşılaştırılabilir olmasını sağlar.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
fig, axes = plt.subplots(1, 2, figsize=(10, 4))
# Count histogram with 20 bins
sns.histplot(data=tips, x='total_bill', bins=20, ax=axes[0])
axes[0].set_title('Count (20 bins)')
# Density histogram
sns.histplot(data=tips, x='total_bill', stat='density', ax=axes[1])
axes[1].set_title('Density')
plt.tight_layout()
plt.show()Histogram Üzerine KDE Yerleştirme
histplot içinde kde=True ayarlandığında histogramın üzerine bir Çekirdek Yoğunluk Tahmini (KDE) eğrisi eklenir. KDE, temel olasılık dağılımının düzgün ve sürekli bir yaklaşık gösterimidir. Bu birleşim oldukça etkilidir: histogram ham bölme sayılarını gösterirken KDE genel şekli ortaya çıkarır ve birden çok tepeyi (çok modluluğu) belirler.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
# Histogram with KDE overlay
sns.histplot(data=tips, x='total_bill', kde=True, bins=25, color='steelblue')
plt.title('Bill Distribution with KDE Overlay')
plt.xlabel('Total Bill ($)')
plt.show()kdeplot İşlevini Bağımsız Kullanma
sns.kdeplot(), histogram çubukları olmadan yalnızca düzgün yoğunluk eğrisini çizer. Bu, aynı eksenlerde birden çok dağılımı karşılaştırırken kullanışlıdır; çünkü üst üste binen histogramların anlaşılması zorlaşırken üst üste binen KDE eğrileri okunabilirliğini korur. fill=True parametresi, eğrinin altındaki alanı gölgelendirerek grupları görsel olarak ayırt etmeyi kolaylaştırır.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
# KDE plot for lunch vs dinner bills
sns.kdeplot(data=tips, x='total_bill', hue='time', fill=True, alpha=0.5)
plt.title('Bill Distribution: Lunch vs Dinner')
plt.xlabel('Total Bill ($)')
plt.show()Grup Karşılaştırması için hue Parametresi
Hem histplot hem de kdeplot, verileri kategorik bir sütuna göre ayıran ve her grubu farklı bir renkle çizen hue parametresini kabul eder. Bu, gruplar arasındaki dağılımları kolayca karşılaştırmanızı sağlar. histplot işlevini hue ile kullanırken, farklı boyutlardaki grupları adil biçimde karşılaştırabilmek için stat='density' ayarını yapın.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
# Compare tip distributions by smoker status
sns.histplot(
data=tips,
x='tip',
hue='smoker',
stat='density',
common_norm=False,
bins=20,
alpha=0.6
)
plt.title('Tip Distribution by Smoker Status')
plt.show()KDE'de Bant Genişliği: bw_adjust Parametresi
KDE, eğrinin ne kadar düzgün olacağını denetleyen bant genişliği adlı bir ayar parametresine sahiptir. Küçük bir bant genişliği eğriyi tırtıklı hâle getirir ve veriye aşırı uyar; büyük bir bant genişliği ise eğriyi gereğinden fazla düzleştirerek gerçek özellikleri gizler. Seaborn, otomatik olarak seçilen bant genişliği üzerinde çarpan olarak bw_adjust değerini (varsayılan 1.0) kullanır — 1'in altındaki değerler pürüzlülüğü, üzerindeki değerler düzgünlüğü artırır.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
fig, axes = plt.subplots(1, 3, figsize=(12, 4))
bw_values = [0.3, 1.0, 3.0]
for ax, bw in zip(axes, bw_values):
sns.kdeplot(data=tips, x='total_bill', bw_adjust=bw, ax=ax)
ax.set_title(f'bw_adjust={bw}')
plt.tight_layout()
plt.show()histplot ve kdeplot ile 2B Dağılımlar
Hem histplot hem de kdeplot, hem x hem de y parametrelerinin geçirilmesiyle iki boyutlu grafikleri destekler. 2B histogram, renklerle kodlanmış bir sıklık ızgarası gösterir; 2B KDE ise eşit yoğunluktaki kontur çizgilerini gösterir. Bu grafikler, iki sayısal değişkenin ortak dağılımını ve aralarında korelasyon olup olmadığını ortaya çıkarır.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
# 2D histogram
sns.histplot(data=tips, x='total_bill', y='tip', ax=axes[0])
axes[0].set_title('2D Histogram')
# 2D KDE contour plot
sns.kdeplot(data=tips, x='total_bill', y='tip', fill=True, ax=axes[1])
axes[1].set_title('2D KDE Contours')
plt.tight_layout()
plt.show()Seaborn Temalarıyla Görünümü Özelleştirme
Seaborn, sns.set_theme(style=) aracılığıyla yerleşik temalar sunar. Kullanılabilir stiller 'darkgrid', 'whitegrid', 'dark', 'white' ve 'ticks' değerleridir. Ayrıca palette= veya sns.set_palette() ile bir palet ayarlayabilirsiniz. Bu ayarlar oturumdaki sonraki tüm grafiklere genel olarak uygulanır ve tutarlı bir görünüm elde etmeyi kolaylaştırır.
import seaborn as sns
import matplotlib.pyplot as plt
# Apply a clean whitegrid theme
sns.set_theme(style='whitegrid', palette='muted')
tips = sns.load_dataset('tips')
sns.histplot(data=tips, x='total_bill', kde=True, bins=20)
plt.title('Styled Distribution Plot')
plt.show()
# Reset to defaults when done
sns.reset_defaults()Dağılım Şeklini Yorumlama
Bir dağılım grafiğini okurken dört temel özelliği arayın. Merkez: değerler nerede yoğunlaşıyor (ortalama/medyan)? Yayılım: dağılım ne kadar geniş (standart sapma)? Çarpıklık: kuyruk sağda mı (pozitif çarpıklık), solda mı (negatif çarpıklık) daha uzun? Modluluk: dağılımın tek bir tepesi mi (tek modlu), yoksa birden fazla tepesi mi (iki modlu/çok modlu) var? İki modlu dağılımlar genellikle ayrılmaya değer iki gizli alt popülasyona işaret eder.
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# Simulate a bimodal distribution
np.random.seed(42)
data = np.concatenate([
np.random.normal(loc=20, scale=3, size=300),
np.random.normal(loc=45, scale=5, size=200)
])
sns.histplot(data, kde=True, bins=40)
plt.title('Bimodal Distribution — Two Hidden Groups')
plt.xlabel('Value')
plt.show()displot: Şekil Düzeyinde Dağılım İşlevi
sns.displot(), kendi Figure nesnesini oluşturan ve col= ile row= parametrelerini kullanarak satırlar ve sütunlar boyunca yüzlemeyi destekleyen şekil düzeyi sarmalayıcıdır. Grafik türünü değiştirmek için kind='hist', kind='kde' veya kind='ecdf' geçirin. ECDF (Ampirik Kümülatif Dağılım İşlevi), bölme seçimi gerektirmeden verilerin hangi oranının her değerin altında kaldığını gösterdiği için özellikle kullanışlıdır.
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
# Faceted KDE by day of week
sns.displot(
data=tips,
x='total_bill',
col='day',
col_wrap=2,
kind='kde',
fill=True
)
plt.suptitle('Bill Distributions by Day', y=1.02)
plt.show()Hızlı Kontrol
Bu dersteki Seaborn dağılım grafikleri konusundaki anlayışınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: sns.histplot, özelleştirilebilir bölme ve istatistik parametreleriyle histogramlar oluşturur; sns.kdeplot, grup karşılaştırmaları için ideal olan düzgün yoğunluk eğrileri çizer; hue parametresi ise her iki grafik türünü kategorik bir değişkene göre ayırarak yan yana karşılaştırma yapılmasını sağlar. Sırada kutu grafikleri, çubuk grafikleri ve keman grafikleri gibi kategorik karşılaştırma grafikleri var.
Sıkça Sorulan Sorular
“Dağılım Grafikleri: histplot ve kdeplot” dersi ücretsiz mi?
Evet — “Dağılım Grafikleri: histplot ve kdeplot” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Pandas & NumPy Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.
“Dağılım Grafikleri: histplot ve kdeplot” dersinde ne öğreneceğim?
Sayısal bir dağılımın biçimini sns.histplot ile görselleştirin ve çekirdek yoğunluk tahminini sns.kdeplot ile üzerine ekleyin. Pandas & NumPy Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Pandas & NumPy Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Pandas & NumPy Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Dağılım Grafikleri: histplot ve kdeplot” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Pandas & NumPy Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Pandas & NumPy Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dağılım Grafikleri: histplot ve kdeplot
- Kategorik Grafikler: boxplot, barplot, violinplot
- Dağılım ve Çiftli Grafikler
- Korelasyon Matrisleri için Isı Haritaları