Veri Görselleştirme

Dersin Amacı

Bu dersin sonunda öğrenciler:

  • Veri görselleştirmenin neden önemli olduğunu açıklayabilecek,
  • Histogram, bar chart ve scatter plot arasındaki farkları anlayabilecek,
  • Hangi veri türünde hangi grafik türünün kullanılacağını seçebilecek,
  • Python ile Seaborn kullanarak grafik oluşturabilecek,
  • Grafiklerden temel yorumlar çıkarabilecek,
  • Görselleştirmelerin veri analizi ve Yapay Zekâ çalışmalarındaki önemini kavrayabileceklerdir.

1. Veri Görselleştirme Nedir?

Veri analizinde elimizde çoğu zaman çok sayıda sayı bulunur.

Örneğin bir film veri setinde şöyle bilgiler olabilir:

FilmTürPuanOy SayısıSüre
Film ADrama8.2125000120
Film BKomedi6.885000105
Film CAksiyon7.9230000135
Film DDrama9.1410000145
Film EKomedi7.25400098

Tabloya baktığımızda bazı bilgiler görülebilir.

Ancak veri sayısı 10.000 filme çıktığında tabloyu incelemek oldukça zorlaşır.

İşte burada veri görselleştirme devreye girer.

Veri görselleştirme, verileri grafik ve görsel öğeler kullanarak insanların daha kolay anlayabileceği bir biçime dönüştürme işlemidir.

Örneğin:

Tablo → Grafik → Örüntü → Yorum → Karar

Bu zincir veri analizinin temel mantıklarından biridir.


2. Neden Veri Görselleştirme?

İnsan beyni görsel örüntüleri sayısal tablolardan daha hızlı algılayabilir.

Örneğin elimizde şu film puanları olsun:

6.2
7.1
8.4
7.8
9.1
5.9
8.7
7.5
6.8
8.9

Bu değerleri tek tek incelemek yerine grafik oluşturduğumuzda şu sorulara daha kolay cevap verebiliriz:

  • Puanlar hangi aralıkta yoğunlaşıyor?
  • Çok düşük puanlı filmler var mı?
  • Çok yüksek puanlı filmler var mı?
  • Puanlar birbirine yakın mı?
  • İki değişken arasında ilişki var mı?
  • Hangi film türü daha yüksek puan alıyor?

Dolayısıyla görselleştirme yalnızca “güzel grafik oluşturmak” değildir.

Asıl amaç:

Verideki yapıyı görünür hâle getirmektir.


3. Python'da Görselleştirme Ekosistemi

Python'da veri görselleştirme için birçok kütüphane kullanılabilir.

Önemli olanlardan bazıları:

  • Matplotlib
  • Seaborn
  • Plotly
  • Bokeh

Bu derste özellikle Seaborn kullanacağız.

Seaborn Nedir?

Seaborn, Python'da istatistiksel veri görselleştirme amacıyla kullanılan bir kütüphanedir.

Özellikle Pandas DataFrame'leri ile çalışırken oldukça kullanışlıdır.

Kurulum:

pip install seaborn

Temel kullanım:

import seaborn as snsimport matplotlib.pyplot as plt

Burada:

import seaborn as sns

Seaborn'u sns adıyla kullanmamızı sağlar.

import matplotlib.pyplot as plt

ise grafiklerin gösterilmesi ve düzenlenmesi için kullanılır.


4. Grafik Seçmek Neden Önemlidir?

Her veri için aynı grafik kullanılmaz.

Bu çok önemli bir noktadır.

Örneğin:

SoruUygun Grafik
Puanlar nasıl dağılıyor?Histogram
Türlere göre kaç film var?Bar Chart
Puan ile oy sayısı arasında ilişki var mı?Scatter Plot
Kategorileri karşılaştırmakBar Chart
Sayısal dağılımı görmekHistogram
İki sayısal değişkeni karşılaştırmakScatter Plot

Dolayısıyla veri görselleştirmenin temel sorularından biri şudur:

“Elimdeki veriyle hangi soruya cevap vermek istiyorum?”

Grafik türü bundan sonra seçilmelidir.


5. Histogram

Histogram, bir sayısal değişkenin değerlerinin hangi aralıklarda yoğunlaştığını gösterir.

Örneğin film puanlarımız:

5.1
5.8
6.2
6.4
6.8
7.0
7.1
7.3
7.5
7.8
8.0
8.2
8.4
8.7
9.1
9.3

Histogram bize şu sorunun cevabını verir:

Film puanları hangi aralıklarda yoğunlaşıyor?


Basit Histogram

import seaborn as snsimport matplotlib.pyplot as pltpuanlar = [5.1, 5.8, 6.2, 6.4, 6.8,           7.0, 7.1, 7.3, 7.5, 7.8,           8.0, 8.2, 8.4, 8.7, 9.1, 9.3]sns.histplot(puanlar)plt.show()

Burada:

sns.histplot(puanlar)

puanların dağılımını grafik hâline getirir.


6. Histogram Nasıl Okunur?

Histogramı incelerken şu soruları sorabiliriz:

1. Değerler nerede yoğunlaşıyor?

Örneğin filmlerin çoğu:

7.0 – 8.5

aralığındaysa bu aralıkta yoğunlaşma olduğunu söyleyebiliriz.

2. Dağılım geniş mi?

Puanlar:

5 – 10

arasında geniş bir alana yayılmışsa değişkenlik daha fazladır.

3. Uç değer var mı?

Örneğin çoğu film 6–8 arasında iken birkaç film 9.8 puana sahipse bunlar dikkat çekici değerler olabilir.


7. Histogram ve Bin Kavramı

Histogramda değerler belirli aralıklara ayrılır.

Bu aralıklara bin denir.

Örneğin:

sns.histplot(puanlar, bins=5)

Burada veri 5 gruba ayrılmaya çalışılır.

Daha fazla bin:

sns.histplot(puanlar, bins=10)

kullanıldığında dağılım daha ayrıntılı görülebilir.

Ancak çok fazla bin kullanmak grafiği gereksiz derecede karmaşıklaştırabilir.

Bu nedenle:

Grafiğin amacı veriyi anlaşılır hâle getirmektir; grafiği karmaşıklaştırmak değil.


8. Bar Chart

Bar chart yani çubuk grafik, kategorileri karşılaştırmak için kullanılır.

Örneğin film türlerimiz:

Drama
Komedi
Aksiyon
Drama
Drama
Komedi
Aksiyon

olsun.

Burada şu soruyu sorabiliriz:

Hangi türden kaç film var?

Örneğin:

Drama █████████
Komedi █████
Aksiyon ███████

9. Seaborn ile Bar Chart

Öncelikle örnek bir DataFrame oluşturalım:

import pandas as pdveri = pd.DataFrame({    "tur": [        "Drama",        "Komedi",        "Aksiyon",        "Drama",        "Drama",        "Komedi",        "Aksiyon",        "Drama",        "Komedi"    ]})

Daha sonra:

sns.countplot(data=veri, x="tur")plt.show()

kullanabiliriz.

Burada:

x="tur"

ifadesi kategorik değişkenimizin tur olduğunu belirtir.

countplot() ise kategorilerin kaç kez tekrarlandığını gösterir.


10. Bar Chart ile Ortalama Puan Karşılaştırma

Bar chart yalnızca frekans göstermek için kullanılmaz.

Örneğin her film türünün ortalama puanını karşılaştırabiliriz.

sns.barplot(    data=df,    x="tur",    y="puan")plt.show()

Bu grafik:

Film türlerinin ortalama puanlarını karşılaştırmamızı sağlar.

Örneğin:

Drama █████████ 8.1
Aksiyon ████████ 7.7
Komedi ███████ 7.1

gibi bir sonuç elde edilebilir.

Burada dikkat edilmesi gereken nokta:

Grafikteki çubukların yüksekliği veri hakkında bir karşılaştırma sunar.


11. Scatter Plot

Şimdi daha farklı bir soru soralım.

Film puanı ile oy sayısı arasında bir ilişki var mı?

Örneğin:

Film Puanı Oy Sayısı
7.2 50.000
7.8 80.000
8.1 120.000
8.7 250.000
9.1 400.000

Bu durumda iki sayısal değişkenimiz vardır:

  • puan
  • oy_sayisi

Bu tür durumlarda scatter plot kullanabiliriz.

Scatter plot, Türkçede saçılım grafiği olarak da adlandırılır.


12. Seaborn ile Scatter Plot

sns.scatterplot(    data=df,    x="puan",    y="oy_sayisi")plt.show()

Burada:

x → puan
y → oy_sayisi

şeklindedir.

Her nokta bir filmi temsil eder.


13. Scatter Plot Nasıl Okunur?

Grafikte noktaların genel hareketine bakabiliriz.

Örneğin puan arttıkça oy sayısı da artıyorsa:

•
•
•
•
•

pozitif yönlü bir ilişki görülebilir.

Tersi durumda:

•
•
•
•
•

negatif yönlü bir ilişki olabilir.

Noktalar tamamen dağınıksa belirgin bir doğrusal ilişki olmayabilir.

Burada önemli bir kavram vardır:

Korelasyon, nedensellik anlamına gelmez.

Örneğin:

“Film puanı arttıkça oy sayısı artıyor.”

şeklinde bir ilişki gözlemlemek, yüksek puanın doğrudan daha fazla oy oluşturduğunu kanıtlamaz.


14. İnteraktif Korelasyon Görselleştirmesi

İki sayısal değişken arasındaki ilişkinin yönünü ve gücünü daha yakından incelemek için aşağıdaki etkileşimli görselleştirmeyi kullanabilirsiniz:

Drag points
2468102468\(X\)\(Y\)
Linear correlation is positive (r = 0,98).
NegativeNear zeroPositive
Geri bildirim ver

Noktaların yönü ve birbirine ne kadar yakın olduğu, ilişkinin gücü hakkında fikir verir.


15. Gerçek Uygulama: Film Puanları

Şimdi dersimizin uygulamasına geçelim.

Amacımız:

Bir film veri setini Seaborn kullanarak farklı grafiklerle incelemek.

Örnek veri:

import pandas as pddf = pd.DataFrame({    "film": [        "Film A", "Film B", "Film C",        "Film D", "Film E", "Film F",        "Film G", "Film H", "Film I",        "Film J"    ],    "tur": [        "Drama", "Komedi", "Aksiyon",        "Drama", "Komedi", "Aksiyon",        "Drama", "Aksiyon", "Komedi",        "Drama"    ],    "puan": [        8.2, 6.8, 7.9,        9.1, 7.2, 8.0,        8.7, 7.6, 6.9, 8.9    ],    "oy_sayisi": [        125000, 85000, 230000,        410000, 54000, 180000,        310000, 150000, 62000, 350000    ]})

Verimizi inceleyelim:

print(df)

16. Film Puanlarının Histogramı

sns.histplot(    data=df,    x="puan",    bins=5)plt.title("Film Puanlarının Dağılımı")plt.xlabel("Film Puanı")plt.ylabel("Film Sayısı")plt.show()

Burada öğrencilerden şu soruların cevaplarını istemek faydalı olacaktır:

  • Filmlerin çoğu hangi puan aralığında?
  • En düşük puan nedir?
  • En yüksek puan nedir?
  • Puanlar birbirine yakın mı?

17. Film Türlerinin Bar Chart ile Gösterilmesi

sns.countplot(    data=df,    x="tur")plt.title("Film Türlerinin Dağılımı")plt.xlabel("Film Türü")plt.ylabel("Film Sayısı")plt.show()

Öğrencilerden:

En fazla hangi film türü bulunmaktadır?

sorusunu cevaplamalarını isteyebiliriz.


18. Film Puanı – Oy Sayısı İlişkisi

Şimdi scatter plot oluşturalım:

sns.scatterplot(    data=df,    x="puan",    y="oy_sayisi")plt.title("Film Puanı ve Oy Sayısı İlişkisi")plt.xlabel("Film Puanı")plt.ylabel("Oy Sayısı")plt.show()

Burada öğrencilerden:

Puan yükseldikçe oy sayısında genel olarak bir değişim gözleniyor mu?

sorusunu cevaplamalarını isteyebiliriz.


19. Grafiğe Kategorik Bilgi Eklemek

Seaborn'un güçlü taraflarından biri, grafiğe ek bilgiler eklemeyi kolaylaştırmasıdır.

Örneğin film türlerini farklı gruplar şeklinde gösterebiliriz:

sns.scatterplot(    data=df,    x="puan",    y="oy_sayisi",    hue="tur")plt.show()

Buradaki:

hue="tur"

ifadesi çok önemlidir.

Çünkü artık grafik yalnızca:

puan ↔ oy sayısı

ilişkisini değil, aynı zamanda:

puan ↔ oy sayısı ↔ film türü

ilişkisini de incelememizi sağlar.


20. Grafiklere Başlık ve Etiket Eklemek

İyi bir grafik yalnızca veri içermemelidir.

Okuyucu grafiğin ne anlattığını anlayabilmelidir.

Örneğin:

plt.title("Film Puanları")plt.xlabel("Puan")plt.ylabel("Film Sayısı")

kullanabiliriz.

Bu nedenle grafik hazırlarken en azından şunları düşünmeliyiz:

  • Grafik başlığı var mı?
  • X ekseni anlaşılır mı?
  • Y ekseni anlaşılır mı?
  • Birimler gerekiyorsa belirtilmiş mi?
  • Kategoriler anlaşılır mı?
  • Grafik gereksiz ayrıntılar içeriyor mu?

21. Veri Görselleştirmede Sık Yapılan Hatalar

Hata 1: Her veri için aynı grafiği kullanmak

Yanlış yaklaşım:

“Her şeyi bar chart ile gösterelim.”

Doğru yaklaşım:

Verinin yapısına ve soruya göre grafik seçmek.


Hata 2: Çok fazla renk kullanmak

Her kategoriyi farklı renkte göstermek bazen grafiği okunamaz hâle getirir.

Renk:

Bilgi taşımak için kullanılmalıdır.

Sadece süsleme amacıyla kullanılmamalıdır.


Hata 3: Grafik başlığı kullanmamak

Şu grafik:

██████
████████
████

tek başına çok fazla şey söylemeyebilir.

Ama:

Film Türlerine Göre Film Sayıları

başlığı grafiğin amacını açıklar.


Hata 4: Yanlış grafik seçmek

Örneğin 1000 kişinin yaş dağılımını göstermek için kategorik bar chart yerine histogram daha uygun olabilir.


Hata 5: Grafikten gereğinden fazla sonuç çıkarmak

Bir grafik bize bir ilişki gösterebilir.

Ama bu ilişkinin nedenini tek başına açıklamayabilir.

Örneğin:

“İki değişken birlikte artıyor.”

demek başka,

“Bir değişken diğerine neden oluyor.”

demek başkadır.


22. Yapay Zekâ ile Veri Görselleştirmenin İlişkisi

Bu ders Yapay Zekâ kursunun içinde olduğu için öğrencilerin şu bağlantıyı kurması önemlidir:

Ham Veri
↓
Veri Temizleme
↓
Veri Analizi
↓
Veri Görselleştirme
↓
Örüntüleri Anlama
↓
Modelleme
↓
Yapay Zekâ

Makine öğrenmesi modelleri verilerden örüntüler öğrenir.

İnsan ise öncelikle veriyi anlamalıdır.

Bu nedenle görselleştirme:

Model kurmadan önce veriyi tanımamızı sağlayan önemli araçlardan biridir.

Örneğin bir makine öğrenmesi modeline film puanlarını verirken:

  • Eksik değerler var mı?
  • Aykırı değerler var mı?
  • Değişkenler arasında ilişki var mı?
  • Veri dengeli mi?
  • Bazı kategoriler aşırı temsil ediliyor mu?

gibi soruları sormamız gerekir.

Görselleştirme bu soruların bazılarına hızlı cevaplar sağlayabilir.


23. 2 Saatlik Ders Akışı

Bu konuyu iki saatlik ders olarak aşağıdaki şekilde işleyebilirsiniz.

1. Bölüm – 20 dakika

Veri Görselleştirme Nedir?

  • Veri görselleştirmenin amacı
  • Tablo ve grafik arasındaki fark
  • Grafik seçme mantığı
  • Yapay zekâ ile ilişkisi

2. Bölüm – 25 dakika

Histogram

  • Dağılım
  • Bin kavramı
  • Puan dağılımı
  • Seaborn histplot()

3. Bölüm – 25 dakika

Bar Chart

  • Kategorik veriler
  • Frekans
  • Ortalama karşılaştırması
  • countplot()
  • barplot()

4. Bölüm – 25 dakika

Scatter Plot

  • İki sayısal değişken
  • Nokta grafiği
  • İlişki
  • Korelasyon kavramı
  • scatterplot()

5. Bölüm – 25 dakika

Uygulama

Öğrenciler:

  1. Film verisini oluşturur.
  2. Veriyi DataFrame'e aktarır.
  3. Film puanlarının histogramını oluşturur.
  4. Film türlerini bar chart ile gösterir.
  5. Puan–oy sayısı scatter plot'u oluşturur.
  6. Türleri hue ile ayırır.
  7. Grafiklerden kısa yorumlar çıkarır.

24. Uygulama Görevi

🎬 Film Verilerini Görselleştirme

Öğrencilere aşağıdaki görev verilebilir:

Elinizdeki film veri setini kullanarak en az üç farklı grafik oluşturun ve grafiklerden elde ettiğiniz bulguları açıklayın.

Görev 1

Film puanlarının dağılımını histogram ile gösterin.

Görev 2

Film türlerinin dağılımını bar chart ile gösterin.

Görev 3

Film puanı ile oy sayısı arasındaki ilişkiyi scatter plot ile gösterin.

Görev 4

Scatter plot üzerinde film türlerini hue kullanarak farklı kategorilerde gösterin.

Görev 5

Her grafik için en az bir cümlelik yorum yazın.

Örneğin:

“Filmlerin büyük bölümü 7–9 puan aralığında yoğunlaşmaktadır.”

veya:

“Film puanı ile oy sayısı arasında pozitif yönlü bir ilişki gözlenmektedir.”


25. Öğrencinin Kazanması Beklenen Temel Beceriler

Ders sonunda öğrencinin yalnızca şu kodları ezberlemesi hedeflenmemelidir:

sns.histplot()
sns.countplot()
sns.scatterplot()

Asıl hedef şudur:

“Bu veriyle hangi soruyu cevaplamak istiyorum ve bunu göstermek için hangi grafik daha uygun?”

Bu düşünce biçimi, veri analizi açısından kod ezberlemekten çok daha değerlidir.


26. Dersin Anahtar Kavramları

Öğrencilerin ders sonunda şu kavramları bilmeleri beklenir:

Veri Görselleştirme
Seaborn
Matplotlib
Histogram
Bin
Bar Chart
Count Plot
Scatter Plot
Kategorik Veri
Sayısal Veri
Dağılım
Korelasyon
Örüntü
Aykırı Değer
Veri Analizi


27. Mini Değerlendirme

Ders sonunda öğrencilerle şu sorular tartışılabilir:

Soru 1:
1000 öğrencinin sınav notlarının dağılımını göstermek için hangi grafik daha uygundur?

Cevap: Histogram.

Soru 2:
Öğrencilerin bölümlere göre sayılarını karşılaştırmak için hangi grafik kullanılabilir?

Cevap: Bar chart.

Soru 3:
Çalışma süresi ile sınav notu arasındaki ilişkiyi incelemek için hangi grafik kullanılabilir?

Cevap: Scatter plot.

Soru 4:
Scatter plot'ta her nokta neyi temsil eder?

Cevap: Genellikle bir gözlemi/veri kaydını temsil eder.

Soru 5:
Korelasyon nedensellik anlamına gelir mi?

Cevap: Hayır.


28. Sonuç

Veri görselleştirme, veri analizinin yalnızca estetik tarafı değildir.

İyi hazırlanmış bir grafik:

  • Büyük veri kümelerini anlamayı kolaylaştırır.
  • Örüntüleri ortaya çıkarır.
  • Dağılımları gösterir.
  • Değişkenler arasındaki ilişkileri incelemeyi sağlar.
  • Aykırı değerlerin fark edilmesine yardımcı olur.
  • Analiz sonuçlarının başkalarına aktarılmasını kolaylaştırır.

Özellikle Yapay Zekâ çalışmalarında veri görselleştirme önemli bir adımdır.

Öğrencilerin şu düşünceyi benimsemesi hedeflenmelidir:

“Önce veriyi gör, sonra veriyi yorumla, daha sonra model kur.”


Tabii. Bu durumda makaleyi yalnızca üç temel grafik türüne odaklanacak şekilde sadeleştirmek daha doğru olur. Özellikle temel Python bilen öğrenciler için amaç, grafiklerin kodunu ezberletmekten çok “hangi durumda hangi grafiği kullanmalıyım?” sorusunu öğretmek olmalı.

3. Veri Görselleştirme (2 Saat)

Konular

  • Histogram
  • Scatter Plot (Saçılım Grafiği)
  • Bar Chart (Çubuk Grafik)

Uygulama

Seaborn ile film puanları ve film türlerini görselleştirme


1. Veri Görselleştirme Nedir?

Veri analizi yaptığımızda elimizde çoğunlukla çok sayıda sayı ve kategori bulunur.

Örneğin:

Film Tür Puan Oy Sayısı
Film A Drama 8.2 125000
Film B Komedi 6.8 85000
Film C Aksiyon 7.9 230000
Film D Drama 9.1 410000
Film E Komedi 7.2 54000

Bu tablo küçük olduğu için anlaşılması kolaydır.

Ancak elimizde 10.000 film olduğunu düşünelim.

Bu durumda veriyi yalnızca tablo üzerinden incelemek zorlaşır.

Grafikler bize verinin genel yapısını daha hızlı görme imkânı verir.

Veri görselleştirme, verileri grafikler kullanarak daha kolay anlaşılır hâle getirme işlemidir.

Bu derste üç temel grafik kullanacağız:

VERİ
│
┌─────────┼─────────┐
↓ ↓ ↓
Histogram Bar Chart Scatter Plot
│ │ │
Dağılım Kategoriler İlişki

2. Histogram

Histogram Ne İçin Kullanılır?

Histogram, sayısal verilerin dağılımını incelemek için kullanılır.

Örneğin bir sınıftaki öğrencilerin sınav notları:

45, 52, 58, 61, 65, 67, 68, 70,
72, 73, 75, 76, 78, 80, 82, 85,
87, 90, 92

Burada şu soruya cevap arayabiliriz:

Öğrencilerin notları hangi aralıklarda yoğunlaşmaktadır?

Bu durumda histogram uygundur.

Histogramın temel amacı:

Dağılımı görmek.


3. Histogram Mantığı

Histogram değerleri belirli aralıklara ayırır.

Örneğin:

40–50
50–60
60–70
70–80
80–90
90–100

Her aralıkta kaç veri bulunduğunu gösterir.

Örneğin:

40–50 ██
50–60 ███
60–70 █████
70–80 ███████
80–90 █████
90–100 ██

Buradan verilerin 70–80 aralığında yoğunlaştığını söyleyebiliriz.


4. Seaborn ile Histogram

Öncelikle Seaborn'u yükleyelim:

import seaborn as snsimport matplotlib.pyplot as plt

Örnek verimiz:

notlar = [    45, 52, 58, 61, 65,    67, 68, 70, 72, 73,    75, 76, 78, 80, 82,    85, 87, 90, 92]

Histogram:

sns.histplot(notlar)plt.show()

Daha kontrollü bir histogram:

sns.histplot(    notlar,    bins=6)plt.title("Öğrenci Notlarının Dağılımı")plt.xlabel("Not")plt.ylabel("Öğrenci Sayısı")plt.show()

Buradaki bins, verilerin kaç aralığa bölüneceğini belirler.


5. Histogram Ne Zaman Kullanılır?

Histogram kullanmak için genellikle elimizde sayısal bir değişken bulunmalıdır.

Örneğin:

  • Öğrenci notları
  • Yaş
  • Maaş
  • Boy uzunluğu
  • Film puanı
  • Sınav süresi
  • Ürün fiyatı

Temel soru:

“Sayısal değerler nasıl dağılıyor?”

Cevap:

Histogram.


6. Bar Chart

Şimdi ikinci grafik türümüze geçelim.

Bar Chart Nedir?

Bar chart yani çubuk grafik, kategorileri karşılaştırmak için kullanılır.

Örneğin elimizde şu film türleri olsun:

Drama
Komedi
Aksiyon
Drama
Drama
Komedi
Aksiyon
Komedi
Drama

Burada:

  • Drama
  • Komedi
  • Aksiyon

birer kategoridir.

Şu soruyu sorabiliriz:

Hangi türden kaç film var?

Bu durumda bar chart kullanabiliriz.


7. Bar Chart Mantığı

Örneğin sonuç:

Drama ███████ 4
Komedi █████ 3
Aksiyon ███ 2

Burada kategorilerin büyüklüklerini karşılaştırıyoruz.

Bar chart'ın temel amacı:

Kategorileri karşılaştırmak.


8. Seaborn ile Bar Chart

Bir DataFrame oluşturalım:

import pandas as pddf = pd.DataFrame({    "tur": [        "Drama",        "Komedi",        "Aksiyon",        "Drama",        "Drama",        "Komedi",        "Aksiyon",        "Komedi",        "Drama"    ]})

Şimdi:

sns.countplot(    data=df,    x="tur")plt.show()

countplot() her kategorinin kaç kez bulunduğunu gösterir.


9. Bar Chart ile Ortalama Karşılaştırması

Bar chart yalnızca kategori sayılarını göstermek için kullanılmaz.

Örneğin film türlerinin ortalama puanlarını karşılaştırabiliriz:

sns.barplot(    data=df,    x="tur",    y="puan")plt.show()

Burada grafik:

Her film türünün ortalama puanını

karşılaştırır.

Bu önemli bir ayrımdır:

countplot → kaç tane?
barplot → değerleri karşılaştır

10. Bar Chart Ne Zaman Kullanılır?

Bar chart şu durumlarda kullanılabilir:

  • Film türlerinin sayısını karşılaştırmak
  • Bölümlerdeki öğrenci sayılarını karşılaştırmak
  • Ürün satışlarını karşılaştırmak
  • Şehirlerin nüfuslarını karşılaştırmak
  • Kategorilerin ortalamalarını karşılaştırmak

Temel soru:

“Kategorileri karşılaştırmak istiyor muyum?”

Cevap evetse:

Bar Chart.


11. Scatter Plot

Şimdi üçüncü ve çok önemli grafik türümüze geçelim.

Scatter Plot Nedir?

Scatter plot, Türkçede saçılım grafiği olarak adlandırılır.

İki sayısal değişken arasındaki ilişkiyi incelemek için kullanılır.

Örneğin öğrenciler için:

Çalışma Saati Sınav Notu
2 55
3 60
4 65
5 72
6 78
7 85

Burada iki sayısal değişken vardır:

  • Çalışma saati
  • Sınav notu

Şu soruyu sorabiliriz:

Çalışma süresi ile sınav notu arasında bir ilişki var mı?

Bu durumda scatter plot kullanabiliriz.


12. Scatter Plot Mantığı

Her nokta bir gözlemi temsil eder.

Örneğin:

Sınav Notu
100 |
90 | ●
80 | ●
70 | ●
60 | ●
50 | ●
+--------------------
2 3 4 5 6 7
Çalışma Saati

Noktaların genel olarak yukarı doğru ilerlemesi:

Çalışma süresi arttıkça sınav notlarının da artma eğiliminde olduğunu

gösterebilir.


13. Seaborn ile Scatter Plot

Örnek DataFrame:

df = pd.DataFrame({    "calisma_saati": [2, 3, 4, 5, 6, 7],    "sinav_notu": [55, 60, 65, 72, 78, 85]})

Grafiği oluşturalım:

sns.scatterplot(    data=df,    x="calisma_saati",    y="sinav_notu")plt.title("Çalışma Saati ve Sınav Notu")plt.xlabel("Çalışma Saati")plt.ylabel("Sınav Notu")plt.show()

14. Scatter Plot Nasıl Yorumlanır?

Scatter plot'ta öncelikle noktaların genel dağılımına bakılır.

Pozitif ilişki

●
●
●

X arttıkça Y de artma eğilimindedir.

Negatif ilişki

●
●
●

X arttıkça Y azalma eğilimindedir.

Belirgin ilişki yok

● ●
●
● ●
●

Noktalar belirgin bir yön göstermeyebilir.

Ancak burada önemli bir kural vardır:

Korelasyon, nedensellik anlamına gelmez.

Birlikte değişen iki değişken arasında mutlaka neden-sonuç ilişkisi olduğunu söyleyemeyiz.


15. Film Veri Seti Üzerinde Uygulama

Şimdi üç grafik türünü aynı veri setinde kullanalım.

import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltdf = pd.DataFrame({    "film": [        "Film A", "Film B", "Film C",        "Film D", "Film E", "Film F",        "Film G", "Film H", "Film I",        "Film J"    ],    "tur": [        "Drama", "Komedi", "Aksiyon",        "Drama", "Komedi", "Aksiyon",        "Drama", "Aksiyon", "Komedi",        "Drama"    ],    "puan": [        8.2, 6.8, 7.9,        9.1, 7.2, 8.0,        8.7, 7.6, 6.9, 8.9    ],    "oy_sayisi": [        125000, 85000, 230000,        410000, 54000, 180000,        310000, 150000, 62000, 350000    ]})

16. Uygulama 1 – Film Puanlarının Histogramı

sns.histplot(    data=df,    x="puan",    bins=5)plt.title("Film Puanlarının Dağılımı")plt.xlabel("Film Puanı")plt.ylabel("Film Sayısı")plt.show()

Öğrencilere sorulabilecek sorular:

  • Film puanları hangi aralıkta yoğunlaşıyor?
  • En düşük puan kaç?
  • En yüksek puan kaç?
  • Dağılım geniş mi?

17. Uygulama 2 – Film Türlerinin Bar Chart'ı

sns.countplot(    data=df,    x="tur")plt.title("Film Türlerinin Dağılımı")plt.xlabel("Film Türü")plt.ylabel("Film Sayısı")plt.show()

Öğrenciler:

En fazla hangi tür film bulunmaktadır?

sorusunu cevaplar.


18. Uygulama 3 – Puan ve Oy Sayısı

Şimdi iki sayısal değişkeni karşılaştıralım:

sns.scatterplot(    data=df,    x="puan",    y="oy_sayisi")plt.title("Film Puanı ve Oy Sayısı")plt.xlabel("Film Puanı")plt.ylabel("Oy Sayısı")plt.show()

Bu grafik sayesinde:

Film puanı ile oy sayısı arasında bir ilişki olup olmadığını

inceleyebiliriz.


19. Üç Grafiği Birbirinden Ayırmayı Öğrenelim

Öğrencilerin aklında şu tablo kalmalıdır:

GrafikKullanım AmacıÖrnek
HistogramSayısal verinin dağılımıFilm puanlarının dağılımı
Bar ChartKategorileri karşılaştırmaFilm türlerinin sayısı
Scatter Plotİki sayısal değişken arasındaki ilişkiPuan ↔ Oy sayısı

Daha basit bir ifadeyle:

Histogram
↓
"Değerler nasıl dağılıyor?"
Bar Chart
↓
"Kategoriler nasıl karşılaştırılıyor?"
Scatter Plot
↓
"İki değişken arasında ilişki var mı?"

20. Öğrenci İçin Hızlı Karar Ağacı

Bir grafik seçmeniz gerektiğinde şu üç soruyu sorun:

1. Sayısal verinin dağılımını mı görmek istiyorum?

→ Histogram

2. Kategorileri mi karşılaştırıyorum?

→ Bar Chart

3. İki sayısal değişken arasındaki ilişkiyi mi inceliyorum?

→ Scatter Plot

Bu üç soruyu doğru cevaplayabilen öğrenci, veri görselleştirmenin temel mantığını büyük ölçüde kavramış olur.


21. Ders İçin Mini Alıştırma

Aşağıdaki durumlarda hangi grafik kullanılmalıdır?

A

Bir sınıftaki 50 öğrencinin sınav notlarının dağılımını göstermek.

Cevap: Histogram

B

Bir okulda bölümlere göre öğrenci sayılarını karşılaştırmak.

Cevap: Bar Chart

C

Öğrencilerin günlük çalışma süresi ile sınav notları arasındaki ilişkiyi incelemek.

Cevap: Scatter Plot

D

Bir film veri setinde film türlerinin kaç tane olduğunu göstermek.

Cevap: Bar Chart

E

Filmlerin puanlarının hangi aralıkta yoğunlaştığını görmek.

Cevap: Histogram

F

Film puanı ile oy sayısı arasındaki ilişkiyi incelemek.

Cevap: Scatter Plot


22. 2 Saatlik Uygulama Planı

İlk 20 dakika – Veri Görselleştirmeye Giriş

  • Veri görselleştirme nedir?
  • Neden grafik kullanırız?
  • Sayısal ve kategorik veri ayrımı

30 dakika – Histogram

  • Histogram mantığı
  • Dağılım
  • Bin
  • Seaborn histplot()
  • Film puanları uygulaması

30 dakika – Bar Chart

  • Kategoriler
  • Frekans
  • countplot()
  • barplot()
  • Film türleri uygulaması

30 dakika – Scatter Plot

  • İki sayısal değişken
  • Noktalar
  • İlişki
  • scatterplot()
  • Puan–oy sayısı uygulaması

Son 10 dakika – Değerlendirme

Öğrencilere farklı veri örnekleri verilir ve:

“Bu veri için hangi grafik türünü seçersiniz? Neden?”

sorusu yöneltilir.


23. Dersin Ana Mesajı

Öğrencilerin bu dersin sonunda üç grafik türünü şu şekilde hatırlaması yeterlidir:

📊 Histogram → Dağılımı gör.

📊 Bar Chart → Kategorileri karşılaştır.

📍 Scatter Plot → İki değişken arasındaki ilişkiyi incele.

Ve en önemli nokta:

İyi bir veri analisti yalnızca grafik oluşturmaz; doğru soruya doğru grafiği seçer ve grafikten anlamlı bir yorum çıkarır.

Yorumlar

Bu blogdaki popüler yayınlar

Yapay Zekâ Uygulama Alanları

Görsel ve Video Üretiminde Üretken Yapay Zekâ Araçları

AI ve Toplum – Eğitim, Sağlık, Endüstri ve Kamu Hizmetlerinde Yapay Zekâ