Ana içeriğe atla

Python - Veri Görselleştirme

Python’da veri görselleştirmesi analizi için seaborn kütüphanesi içinde bulunan iris, planets, tips, fmri, flights ve diamonds veri setlerini kullanacağım. Bunun için ilk olarak pandas ve numpy modüllerini yükledikten sonra seaborn kütüphanesini indiriyorum. Görselleştirme işlemlerini yapmak için çokça kullanılan seaborn yanı sıra matplot kütüphanesinden de faydalanacağım.

Kategorik Değişkenler

İlk olarak kategorik değişkenleri inceleyeceğim. Bunun için planets veri setini kullanacağım. Öncelikle görselleştirmeye başlamadan önce veri setimi çağırıyorum ve veriyi tanımaya çalışıyorum. Planets verisinin 1.035 satır ve 6 sütundan oluşan gezegenlere ilişkin bir veri seti olduğunu anlıyorum.


İlk olarak veriyi tanımak adına değişkenlerimin özelliklerine bakıyorum. Burada sadece “method” değişkenimin kategorik, diğerlerinin ise numerik olduğunu görüyorum. Dolayısıyla kategorik değişkenlerin görselleştirmesi için method değişkenimi kullanacağım. Bunun için method değişkenini çağırdıktan sonra içinde yer alan ifadelere bakıyorum. Method değişkenin içeriğine baktıktan sonra bunlardan kaç adet olduğunu öğreniyorum.



Veri hakkında gerekli bilgileri öğrendikten sonra metod değişkeni için bir bar grafiği çiziyorum. Bunun için seaborn kütüphanesinde yer alan plot.barh fonksiyonunu kullanıyorum.



İlk olarak tek bir kategorik değişkeni incelemiş ve görselleştirmiştik. Şimdi ise kategorik değişkenlerin numerik değişkenlerle olan ilişkisini görselleştireceğim. Bunun için diamonds veri setini kullanacağım.

İlk olarak veri setimi çağırıyorum. Burada veri setinde yer alan değişkenlerim;

price: dolar cinsinde fiyat (326– 326–18,823)
carat: ağırlık (0.2–5.01)
cut: kalite (Fair, Good, Very Good, Premium, Ideal)
color: renk (from J (worst) to D (best))
clarity: temizliği, berraklığı (I1 (worst), SI2, SI1, VS2, VS1, VVS2, VVS1, IF (best))
x: length in mm (0–10.74)
y: width in mm (0–58.9)
z: depth in mm (0–31.8)
depth: toplam derinlik yüzdesi = z / mean(x, y) = 2 * z / (x + y) (43–79)
table: elmasın en geniş noktasına göre genişliği (43–95)

olarak yer almaktadır.

Öncelikle yine veri tiplerine bakacağım ve kategorik değişkenlerimi inceleyeceğim. Burada cut, color ve clarity değişkenlerinin kategorik olduğunu görüyorum.



Şimdi bir kategorik değişkenin bir numerik değişkenle olan ilişkisini görselleştiriyorum. Bunun için “cut” kategorik değişkeni ile “price” numerik değişkenini baz alacağım. Burada catplot grafiği aracılığıyla cut değişkenindeki “ideal”, “Premium” gibi sınıfların fiyat dağılımına bakıyorum. Örneğin “fair” sınıfında price’ın düşük olduğu, yukarılarda seyreldiği görülmektedir.


Bu grafiğime bir tane daha kategorik değişken giriyorum. Bunun için barplot kullanıp, ikinci kategorik değişkenimi hue parametresine gireceğim.


 Son olarak yapmış olduğum görseli groupby fonksiyonunu kullanarak tablo haline getiriyorum.



 Numerik Değişkenler

Numerik değişkenler için birden fazla veri setini kullanacağım. İlk olarak diamonds veri seti ile başlıyorum. Burada yer alan numerik değişkenlerin özelliklerine bakıyorum.


 İlk olarak price değişkeni ile başlayabilirim. Price değişkenimin dağılımını görmek istiyorum, bunun için displot grafiği çizeceğim.


Aynı şekilde bu grafiği hits=False argümanı ile çizgi şeklinde de gösterebilirdim.


Hiçbir argüman girmediğimde ise python veriyi böyle görselleştirecektir.


Biraz önce tek bir numerik değişkeni ele aldım. Şimdi ise numerik değişkenlerin kategorik değişkenlerle olan ilişkisini görselleştireceğim. Bunun için yine diamonds veri setinden devam ediyorum. “cut” kategorik değişkenimin “price” numerik değişkeni ile ilişkisini plot grafiği ile görselleştiriyorum.



Şimdi ise iki kategorik değişken ve bir numerik değişken ilişkisine bakacağım. Bunun için “color” değişkenini de ekliyorum.


Numerik değişkenlerin daha derinlemesine incelemek ve görselleştirebilmek için şimdi tips veri setini kullanacağım. Bu veri setinde yer alan değişkenlerden;

total_bill: yemeğin toplam fiyatı (bahşiş ve vergi dahil)
tip: bahşiş
sex: ücreti ödeyen kişinin cinsiyeti (0=male, 1=female)
smoker: grupta sigara içen var mı? (0=No, 1=Yes)
day: gün (3=Thur, 4=Fri, 5=Sat, 6=Sun)
time: ne zaman? (0=Day, 1=Night)
size: grupta kaç kişi var?

olarak tanımlanmaktadır.

İlk olarak veri setimi çağırıyorum ve veri tiplerini ve istatistiki özelliklerini inceliyorum.


İlk olarak numerik olan “tip” değişkenim için boxplot çiziyorum. Değişkenin min-max değerlerine zaten daha önce baktığım için tip değişkeninin 1 ile 10 arasında olduğu bilgisini görselde de teyit ediyorum. Grafik bana tip değişkeninin 2 ile 4’e yakın bir aralıkta dağıldığını, 6’dan sonraki değerlerin ise aykırı değerler (outliers) olduğunu gösteriyor.


Aynı şekilde grafiği yatay olarak da gösterebilirdim.


Şimdi box plotu bir kategorik değişken ile birlikte çizeceğim. Veriye göre hangi günler daha fazla kazandığımı göstermek istiyorum. Bunun için kategorik olan “day” ve numerik olan “total_bill” değişkenlerini baz alacağım.

Boxplot içinde iki numerik değişkenin birbiriyle olan ilişkisini de gösterebilirim. Bunun için tekrar veri tiplerini inceliyorum ve numerik olan size değişkenini baz almak istiyorum.


Ayrıca iki numerik değişkeni görselleştirirken bir de kategorik değişken ekleyebilirim. Bunun için kategorik olan “sex” değişkenini ekliyorum.

Şimdi bir başka görselleştirme türü olan Violin grafiklerini çizeceğim. Bunun için yine total bill değişkenini kullanıyorum.


Şimdi kategorik değişken olan day değişkenini giriyorum.



Ayrıca, iki kategorik bir numerik değişken olarak da görselleştirebiliyorum.

Numerik değişkenlerdeki en önemli nokta değişkenlerin birbiriyle olan korelasyonudur. Yani iki adet numerik değişkenin birbiriyli olan ilişkisinin yönü ve kuvveti çok önemlidir. Korelasyon ilişkisini tips veri seti üzerinden değerlendireceğim.
İlk olarak, yemeğin toplam fiyatı ile bahşiş arasındaki ilişkiye bakıyorum. Bunun için total_bill ve tips değişkenlerini baz alıyorum ve ikisinin arasındaki ilişkinin %57 ve pozitif olduğunu görüyorum. Görselde de göreceğimiz üzere pozitif yönlü bir ilişki mevcut.

Aynı şekilde numerik değişkenin kategorik değişken ile olan ilişkisini görselleştiriyorum.

İki numerik bir kategorik olarak bakıyorum.

Aynı şekilde, 3 numerik değişeni de inceleyebilirdim.
 

Şimdi değişkenler arasındaki doğrusal ilişkinin gösterilmesine geçiyorum. Bunun için matplot kütüphanesini kullanacağım, veri setim ise yine tips olacak.

Yine ilk olarak total bill ile tip arasındaki ilişkiyi görselleştiriyorum.


Kategorik değişken ekliyorum.



Bir adet daha kategorik değişken eklediğimde grafiğim çoklamış oluyor.



Numerik değişkenleri incelemek için bir diğer etkili yöntem scatter plot grafikleridir. Bunun için iris veri setini kullanacağım. İlk olarak veri setimi çağırıp veri tiplerini inceledikten sonra numerik değişkenleri görselleştirmeye başlıyorum.



Öncelikle, tüm numerik değişkenlerin birbiriyle ilişkisine bakıyorum.



Kategorik olan “species” değişkenini ekliyorum.




Veri görselleştirmesinde bir diğer araç olan ısı haritasını ele alacağım. Bunun için flights veri setini kullanacağım. İlk olarak veri setimi çağırıyorum ve veriyi inceliyorum. Burada yolcuların ay ve yıllara göre seyahat verileri yer almakta. Heatmap görselleştirmesi yapmadan önce bu veriyi özet haline getirmem gerekiyor ve bunun için pivot table hazırlıyorum.


Pivot tabloda verilerimi özetledikten sonra şimdi görselleştiriyorum. Burada yıllara ve aylara göre yoğunluğu görmüş oluyorum.


Son olarak çizgi grafiklerine geçiyorum. Bunun için ise fmri veri setini kullanacağım. İlk olarak her zamanki gibi verimi çağırıp özelliklerini inceliyorum.



İki adet numerik değişken için çizgi grafiği çiziyorum.


Bunlara bir de kategorik değişken ekliyorum.


Son olarak da iki kategorik bir numerik değişken için grafik çiziyorum.


Yorumlar