Daha önceki “Matplotlib Kütüphanesi Nedir? Nasıl Kullanılır?” yazımızda veri görselleştirmenin verileri analiz ederken ne kadar çok işimize yaradığından bahsetmiştik. İyi bir veri bilimci, elindeki karmaşık veriye doğru soruları sorma yeteneğine sahip olmalıdır. Ardından sorduğu bu soruları, verileri analiz edip cevaplamalıdır. Veri görselleştirmesi ise bu aşamada doğru ve daha rahat şekilde analiz yapılmasını sağlıyor. Günümüzde Python programlama dilinde veri bilimciler arasında popüler olarak kullanılan kütüphanelerin başında kolaylığı sayesinde Matplotlib gelmekte. Python, ggplot, Bokeh, pygal, geoplotlib, Leather gibi daha birçok veri görselleştirme kütüphanesine sahip. Fakat bunların arasından gerek araç çeşitliliği gerek esnek yapısı nedeniyle popüler olanı : Seaborn Kütüphanesi.
İçindekiler
Seaborn Kütüphanesi Nedir?
Seaborn, Matplotlib kütüphanesi tabanlı, istatiksel bir Python veri görselleştirme kütüphanesidir. Seaborn kullanıcılara istatiksel görselleştirmeler yapmaları için high-level (yüksek seviyeli) bir arayüz sunar. Tamamen açık kaynak olan bu kütüphanenin Github reposunu inceleyebilir ve destek verebilirsiniz.
Seaborn Kütüphanesi’nin İşlevleri
- Birden çok değişken arasındaki ilişkileri detaylı bir şekilde incelemek adına sunulan veri kümesi tabanlı bir API (Application Programming Interface)
- Kategorik değişkenleri gözlemlemek ve üzerinde istatistiksel işlemler yapmak için destek
- Karmaşık görselleştirmeler oluşturmayı sağlayan multi-plot gridleri desteklemesi
- Alt kümeler arasında karşılaştırma yapmak için tek değişkenli ve çift değişkenli görselleştirmeler
- Görselleştirmeyi daha anlaşılır hale getiren geniş renk skalası
Seaborn ve Matplotlib Kütüphanesi
- Matplotlib kişiselleştirilebilir fakat plotları daha anlaşılır, göze hitap eden şekle getirmek bir hayli zordur.
- Seaborn sahip olduğu renk paleti, arayüzler ve grafik çeşitleri ile kullanıcıya farklı çözümler sunar.
- Pandas Kütüphanesi ile çalışırken, Matplotlib DataFrame’leri kabul etmezken Seaborn işlevleri Pandas DataFrame’leri üzerinde çalışır.
- Seaborn her ne kadar daha kullanışlı olsa da Matplotlib, öğrenme ve kullanma açısından daha anlaşılır olduğundan bu işlere yeni girişenlerin gözdesi konumunda.
Seaborn Kütüphanesi Nasıl Kullanılır?
Seaborn Kütüphanesini kullanmamız için ilk olarak terminale aşağıdaki komutu giriyoruz :
pip install seaborn
Ardınan projemize “import” komutu ile kütüphaneyi dahil ediyoruz. Çok fazla kullanıldığından “sns” alias’ı (takma adı) ile kullanacağız. Ayrıca Seaborn, Matplotlib temelli bir kütüphane olduğundan Matplotlib kütüphanemizi de çağırıyoruz.
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
Kullanacağımız görselleştirme araçlarını göstermek adına bu yazıda, çok popüler olan “iris” veri setini kullanacağız. Iris veri setine UCI’in veri setleri arşivinden ulaşabilirsiniz.
data = pd.read_csv("iris.csv")
Veri setini oluşturduğumuz data adındaki Pandas DataFrame’ine atadıktan sonra görselleştirmelere başlıyoruz.
Line Plot :
Line Plot (Çizgi Grafiği) ile veri setimizde bulunan değerlerin frekansını inceleyebiliriz. Seaborn Kütüphanesi bize sns.lineplot() metodu ile bu özelliği sunar.
Yukarıdaki örnekte görüldüğü gibi sns.lineplot() metodu aldığı x (X eksenini temsil eden değer), y (Y eksenini temsil eden değer) ve data (Bu verilerin kaynağı olan veri seti) parametreleri ile bize bir çizgi grafiği verdi. Bu grafiğe “hue” parametresi ile bir boyut daha ekleyebiliriz.
İlk grafiğe “hue” parametresi ile bir boyut daha ekledik ve Seaborn bizim için verileri ‘variety’ yani türlerine göre renklendirdi.
Histogram:
Seaborn, sns.distplot() metodu ile bize verilerin dağılımlarını histogram (sütun grafiği) ile sunar.
sns.distplot(), halihazırda Matplotlib kütüphanesinde bulunan plt.hist() fonksiyonuna oldukça benzemektedir. Fakat Seaborn’un aldığı parametlerle histogramı daha esnek bir yapıya sokması onu daha kullanışlı hale getirmekte.
Yukarıdaki örnekte veri setinde bulunan çanak yapraklarının genişliğinin dağılımı sütun grafiği ile gösterilmiştir.
Violin Plot:
Violin plot sayısal verileri görselleştirmek için kullanılan bir metoddur. Box plot ve whisker plot ile benzer işleve sahip olan violin plot verilerin dağılımını, ortalamasını, outlier (aykırı) değerlerini çok açık ve anlaşılır bir biçimde bize sunar.
Seaborn, sns.violinplot() ile bize bu imkanı sunar. Bu metod aldığı x (X değerleri), y (Y değerleri) ve data (kaynak veri seti) parametreleri ile kolay bir şekilde sade bir violin plot çizmemizi sağlar. Yukarıdaki örnekte farklı çeşitte çiçeklerin çanak yaprak genişliklerinin dağılımını görmekteyiz.
KDE Plot:
KDE Plot (Kernel Density Estimate) sürekli bir değerin olasılık yoğunluklarını görselleştirmek adına kullanılır. Veri setimizde bulunan ‘variety’ dışındaki tüm kolonlar sürekli değere sahip olduğundan KDE plot ile bunları görselleştirebiliriz.
Yukarıdaki örnekte bir for döngüsünde “variety” kolonu dışında (çünkü o sürekli değil, kategorik) tüm kolonları soktuk. Ardından sns.kdeplot() fonksiyonu ile bir KDE plotu oluşturduk.
Sonuç olarak Seaborn Kütüphanesi oldukça güçlü, çeşitli araçlara sahip ve popüler bir veri görselleştirme kütüphanesidir. Daha birçok farklı grafiğe sahip olan kütüphanenin sadece en bilindik grafiklerinden bahsettik. Daha detaylı olarak incelemek isterseniz Seaborn’un dökümantasyonunu ve örnek galerisini inceleyebilirsiniz.