You are on page 1of 29

Matplotlib ve Seaborn ile

Veriyi Görselleştirerek
Keşfetmek
Dr. Öğr. Üyesi Fatma AKALIN
L I N
A
Seaborn kütüphanesi, Matplotlib adında bir görselleştirme kütüphanesi
K
üzerine kurulmuştur.
a A
Seaborn, içerisinde istatistiksel analizleri ve gözetimsiz makine
t m
öğrenmesi algoritmaları incelemek için etkileyici
a
modüller içermektedir.

i F
Bu doğrultuda sunulan derstte Matplotlib
s
ve seaborn kütüphanelerine

y e
ilişkin çalışmalar yapılacaktır.

r . Ü
Ö ğ
D r .
L I N
K A
a A
a t m
Bu derste Matplotlib fonksiyonu için matplotlib.ipynb , seaborn
i F
fonksiyonu için seaborn.ipynb
s
dosyasını irdeleyeceğiz.

y e
r . Ü
Ö ğ
D r.
L I N
BU çalışmada Titanic.ipynb dosyasında hedef veri kümesine ilişkin

K A
görselleştirmeler yaparken aynı zamanda EDA(Exploratory Data
Analysis) yapacağız.
a A
at m
Hazırladığımız veriyi modele girdi olarak sunmak için hazır bir

F
duruma getireceğiz.

ye si
Fakat öncesinde VERİ HAZIRLAMA’ya ilişkin temel noktaları
öğrenelim..

r. Ü
Ö ğ
D r .
https://www.kaggle.com/code/kanncaa1/dataiteam-titanic-eda
VERİ HAZIRLAMA
L I N
K A
A
Veri hazırlama, işlenmeden ve analiz edilmeden önceki süreçte ham
a
m
verilerin temizlenmesi ve dönüştürülmesi sürecidir. Bu adım, verilerin

at
yeniden biçimlendirilmesi, verilerde düzeltmelerin yapılması ya da veri
F
si
kümesinin zenginleştirilmesi için veri kümelerinin birleştirilmesi

ye adımlarını içerir.

r. Ü
Veri hazırlama, genellikle veri uzmanları ve o konu hakkında alan

ğ
bilgisine sahip kişiler ile geliştirilen uzun bir girişim olarak
Ö
r.
nitelendirilmektedir. Yapılan araştırmalar, yapay zeka modelinin

D
geliştirilme aşamasında işin yaklaşım %60-%70’lik bir kısmının veri ön
işleme aşaması ile geçtiğini gösterdiği tespit edilmiştir.
3 TEMEL BAŞLIK ALTINDA İNCELENEN
VERİ HAZIRLAMA L I N
K A
a A
t m
1-Keşifçi Veri Analizi
a
si F
2-Veri Ön İşleme

ye3-Veri Bölme

r. Ü
ğ
Bu başlıklar çerçevesinde Seaborn.ipynb, Matplotlib.ipynb ve
Ö
D r.
EDA_titanic.ipynb Python dosyalarında bu hususta detaylı açıklamalar
yapılmıştır.
1-Exploratory Data Analysis-EDA (Keşifçi
Veri Analizi) L I N
K A
temel özelliklerini anlamak için analiz etmek a
A
İstatistiksel yöntemler ve görselleştirme yöntemleri kullanarak verinin

m
demektir. Keşifçi veri

a t
analizi ile birlikte veri ön işleme adımı(veri
F
temizleme ve öznitelik

i
seçimi) ve veri bölme işlemleri gerçekleştirilerek
bir girdi olaraksverilmesi
e
verinin modele uygun
sağlanır.

Ü y
Çünkü gerçek dünya senaryolarından çıkan verilerde her zaman

bilimcilerinin birğ
r.
gürültülü ve eksik değerler vardır. Bu problemlerin çözümü için veri

r . Ö projeye harcadıkları zamanın %60-70’i Veri Hazırlama

D
ve Yönetme’ye harcanır.
2-Veri Ön İşleme
L I N
K A
A
Ham verilerin daha anlaşılır, kullanışlı ve verimli bir formata
a
m
dönüştürülmesi için gerçekleştirilen aşamadır. Veri Ön İşleme

at
kapsamında Veri Temizleme ve Öznitelik Seçimi önemli iki işlemdir.
F
ye si
r. Ü
Ö ğ
D r.
2.1 Veri Temizleme

L I N
Veri kümesindeki eksik verilerin tespit edilmesi ve ardından tespit

K A
edilen bu eksik verilerin tedavi edilmesi sürecini içerir. Aynı zamanda

a A
aykırı değerlerin tespiti ve tedavisi aşamalarıda bu süreç kapsamında
değerlendirilmesi gereken önemli hususlardır. Detaylı olarak
t m
incelenecek bu kısımda veri kümesinin eğitiminde bizi başarısızlığa
a
si F
sürükleyecek mevcut durumların(yanlı girdiler, eksik girdiler, dummy

e
variable, dublicate veriler…) ortadan kaldırılması ve hata çıkması(eksik
y
veri.. ) ihtimallerine karşın hazırlık yapılır
Ü
ğ r. 2.2 Öznitelik Seçimi

r. Ö
Veri kümesindeki önemli değişkenlerin seçilmesi sonucunda

D
yorumlanabilir ve genelleştirilebilir bir makine öğrenmesi modeli
oluşturmak amacıyla detaylı olarak incelenecek bir aşamadır.
3- Veriyi Bölme
L I N
K A
a A
Veri Bölme, ilgili veri kümesinin Eğitim ve Test veri kümesi olarak iki ayrı

t m
parçaya bölünmesi işlemidir.
a
i F
Eğitim veri kümesi, makine öğrenmesi
s
modelini eğitmek için

y e
kullanılırken test veri kümesi, eğitilen modelin performansını ölçmek

r . Ü için kullanılır.

Ö ğ
Genellikle ham veri kümesinin %70’i eğitim veri seti ve %30’u test veri
seti olarak ayrılır.

D r .
DETAYLI İNCELEME: VERİ
HAZIRLAMA KAPSAMINDA VERİN
TEMİZLEME A L I
A K
m a
Veri temizleme, gerçek dünya senaryolarında ortaya çıkan gürültülü ve

at
eksik veriler nedeniyle ortaya çıkabilme ihtimali olan engelleri bertaraf
F
si
etmek amacıyla gerçekleştirilen bir aşamadır.

y e
r. Ü
Peki veri temizleme aşamasında karşımıza nasıl engeller çıkabilir?

Ö ğ Veri temizleme niçin gereklidir?

D r .
L I N
K
Bu soru basitçe şu şekilde açıklanabilir. A
a A
Algoritmalar, verilerden öğrenir ve verilerin sahip oldukları değerler

t m
üzerinden çalışabilir. Verileriniz kaliteli ise projenizin başarılı olma
a
F
ihtimali yüksektir.

si
e
Özellikle uygun bir şekilde toplanan verilerden temel eğilimlerin ve
y
tutarsızlıkların tespit edilmesi için bir değerlendirme gereklidir.
Ü
ğ r.
r. Ö
D
Veri Kalitesinin Değerlendirilmesinin Ana
Hedefleri L I N
K A
a A
1-Verilere Genel Perspektiften İncelemek

at m
Veri biçimlerini ve verilerin depolandığı genel yapıyı anlamalıyız. Aynı

si F
zamanda ortalama, medyan, standart sapma ve standart nicelikler gibi
e
verilere ilişkin özellikleri bulmalıyız. Böylece verilerdeki düzensizliklerin
y
r. Ü
belirlenmesi ve çözümü kolaylaşacaktır.

Ö ğ 2- Eksik Verileri Belirleyin

D r.
Eksik veriler, gerçek dünya problemlerinin aşılamaz bir gerçeğidir. Veri
modellerini bozma ihtimaline sahiptir.
L I N
K A
3-Aykırı Değerleri Belirleyin
a A
Bazı veri noktaları veri modellerinin dışında kaldığı için bu aykırı

at m
değerler ya da anormallikler tespit edilmelidir.

si F
4-Tutarsızlıkları Kaldırın

ye
Eksik değerler gibi gerçek dünyadaki veriler üzerinde de yanlış yazımlar,

. Ü
yanlış doldurulmuş özellikler ya da yinelenen veriler olabilir. Bu ve
r
ğ
benzeri durumlar tutarsızlıklar barındırmaktadır.
Ö
D r.
ÇÖZÜM YOLLARI
L I N
K A
1. Eksik değer Problemi
a A
t m
Eksik değerler, gerçek dünya verileri üzerinde fiziksel ve manuel
a
F
sınırlamalar oluşturmaktadır.

ye si
Mevcut verilerden en iyi şekilde yararlanmak için eksik değerleri ele
almamız gerekir. Şimdi denenmiş ve test edilmiş bazı çözüm yolları
sunalım.
r. Ü
Ö ğ
D r.
1.1. Eksik değerleri olan Örneklerin Silinmesi
L I N
A
Ciddi veri kaybına neden olduğu için örnek sayısı yüksek veri kümeleri
K
A
üzerinde tercih edilebilen bir yaklaşımdır.

a
1.2. Eksik değerleri Doldurmak için Merkezi Eğilimin Kullanılması
m
at
Veri dağılımına bağlı olarak eksik değerleri doldurmak için ortalama ya
F
si
da medyan istatistiki yöntemleri kullanılabilir. Bununla birlikte veriler
e
çarpık olduğunda eksik değerleri değiştirmek için mod değerleri
y
r. Ü
kullanmak tercih edilebilen bir yaklaşımdır.

ğ
1.3. Eksik değerleri Tahmin Etmek için Model Oluşturma
Ö
r.
k-En Yakın Komşu algoritması ile eksik değerleri doldurabiliriz. Bu
D
doğrultuda eksik olan değerler için veri kümesinde kendine benzeyen
en yakın k tane noktaya bakarak doldurma eylemi gerçekleştirilebilir.
2- Aykırı Değer Tespiti
L I N
K A
a A
Aykırı değerler, verilerde gözlemlenen baskın örüntüye uymayan veri

t m
noktalarıdır. Tahminlerde aksamalara neden olabilir. Tespit edilen bu
a
F
aykırı değerlerin tedavisi için sunulan öneriler modelin daha doğru ve

ye si
düzgün eğitilmesini sağlayacaktır.
2.1. Çeyrekler Arası Aralık (Interquartile Range)

r. Ü
Aykırı değer tespiti için veri çeyreklerine dayanan bir yaklaşımdır.

Ö ğ
Algoritmanın genel çerçevesi aşağıdaki gibidir.

D r.
-Verilerinizin 25. ve 75. çeyreğini hesaplamanız gerekiyor.
L I N
A
-Çeyrekler arası aralığı (IQR) 75. çeyrekten 25. çeyreği çıkararak
K
hesaplamanız gerekiyor.
a A
-Ardından 25. ve 75. çeyrekleri kullanarak verilerinizin üst ve alt

at m
sınırlarını (maksimum ve minimum değerler) hesaplamanız gerekir.

si F
-Üst sınırı hesaplamak için IQR ve 1.5’i katlamanız ve ardından

ye
sonucu 75. çeyrek ile toplamanız gerek

. Ü
-Alt sınırı hesaplamak için IQR ve 1.5’i çarpmanız ve ardından
r
ğ
bunu 25. çeyrekten çıkarmanız gerek.
Ö
D r.
Alt sınırdan küçük veya üst sınırdan fazla olan numuneler aykırı değer
olarak kabul edilmektedir.
L I N
K A
A
https://tr.wikipedia.org/wiki/
%C3%87eyrekler_a
m a
t
%C3%A7%C4%B1kl
%C4%B1%C4%9F
Fa
%C4%B1#:~:text=Birinci%20d
%C3%B6rttebirlik%20s
ye si
. Ü
%C4%B1ralanm%C4%B1%C5%9F
r
ğ
%20veri%20dizisinin,d%C4%B1r
Ö
r.
%20(Inter%20Quantile

D
%20Range).
L I N
K A
https://
a A
m
hackernoon.com/
adaptive-trend-
Fat
si
following-trading-
strategy-based-on-
ye
renko-9248bf83554
r. Ü
Ö ğ
D r.
DETAYLI İNCELEME: VERİ HAZIRLAMA
L I N
KAPSAMINDA ÖZNİTELİK SEÇİMİ
K A
a A
at m
Başarılı bir model geliştirmek modelde çok fazla özelliğin bulunması
durumunda karmaşıklığı arttırma ya da modelin öğrenme yerine

si F
ezberleme yapma ihtimallerine neden olabilir. Ek olarak geniş bir dizi
e
özellik üzerinden geleceğe yönelik tahminleri sürdürmek zor olabilir. Bu
y
r. Ü
nedenle optimal özellikleri seçmek önemlidir.

ğ
Özellik seçimine ilişkin avantajlardan bazıları aşağıda listelenmiştir.
Ö
D r.
L I N
-Daha az sayıda özelliğe sahip modeller daha iyi açıklama kabiliyetine
sahiptir.
K A
a A
(Ödevinizde çok sütunlu bir veri kümesi seçip bu ders kapsamında

at m
öğrendiğimiz yaklaşımla ile az sayıda özelliğe indirgemenizi istiyorum)

si F
-Daha az özellik, gelişmiş genellemeye neden olur. Böylece modelin
ezberlemesi azalır. Çünkü modelin genel örüntüyü yakalaması sağlandığı
ye
için belirli noktalarda takılma eylemi gerçekleşmez.

r. Ü
-Daha az özelliğe sahip modeller hataya daha az eğilimlidir.

Ö ğ
-Daha az özelliğe sahip modellerin eğitim süresi önemli ölçüde daha

D r. düşüktür.
-Azaltılmış özelliklere sahip modelleri uygulamak daha kolaydır.
YÖNTEMLER
L I N
K A
A
Veri kümesindeki en uygun özelliklerin seçilmesi için çeşitli yöntemler
a
m
geliştirilmiştir.

Fat
1-FİLTER YÖNTEMLERİ

ye si
Özniteliğin önemini hesaplamak için öznitelik ile hedef değişken
arasındaki ilişkiyi dikkate alan yöntemlerdir. İşlemler sonucunda veri

r. Ü
kümesinin filtreler ve ilgili özellikleri seçerek bir alt küme oluşturur.
ğ
Pearson korelasyon, ANOVA ve Ki-Kare yaklaşımları en sık kullanılan
Ö
r.
yöntemlerdir.
D
1.1. Pearson Korelasyonu
L I N
A
İki sürekli değişken arasında herhangi bir ilişki olup olmadığını kontrol
K
A
etmek için gerçekleştirilen bir işlemdir. Testin sonucu, iki değişken

a
arasındaki ilişkinin gücünü ve yönünü belirtir. Analiz sonucu -1 ile +1

m
t
arasında bir değer alır. Değerin işareti ilişkinin yönünü gösterirken
büyüklüğü aradaki gücü gösterir.
Fa
1.2. Varyans Analizi (ANOVA)

ye si
Sürekli ve kategorik değişken arasında herhangi bir ilişki olup olmadığının

r. Ü
kontrol etmek için yapılır. Bu test, kategorik değişkendeki grupların
ğ
ortalamasının istatistiksel olarak birbirinden farklı olup olmadığını söyler.
Ö
D r.
1.3. Ki-Kare Testi
İki kategorik değişken arasında istatistiksel anlamlılık düzeyinde ilişki olup
olmadığını ölçümleyen bir yaklaşımdır.
2-SARMAL YÖNTEMLER
L I N
A
Veri kümesinde bulunan öznitelikleri çeşitli gruplara ayırarak en başarılı
K
yöntemi vardır.
a A
sonuç veren öznitelik grubunu bulmaya çalışan yöntemlerdir. İki tip arama

2.1. İleriye Doğru Seçim


at m
si F
Modelde hiçbir öznitelik olmadan başlanılan yinelemeli bir yöntemdir.

e
Her yinelemede, modelimizi en iyi geliştiren özniteliği eklemeye devam
y
r. Ü
ederiz. Bu durum eklenen yeni özniteliğin modelin performansını
iyileştirmediği an’a kadar.

Ö ğ
2.2. Geriye Doğru Eleme

D r.
Tüm öznitelikler başlar ve modelin performansını arttıran her yinelemede
en az önemli özelliği kaldırır. Özelliklerin kaldırılmasında herhangi bir
gelişme görülmeyene kadar bu süreç tekrarlanır.
L I N
3. Gömülü Yöntemler
K A
a A
Gömülü yöntemler ile özellik seçimi, makine öğrenimi modellerinin

t m
sağladığı iç görüler ile gerçekleştirilebilir. Yani, makine öğrenmesi
a
si F
algoritması, eğitim sırasında öğrenme işlevini gerçekleştirirken aynı
zamanda model tarafından öznitelik seçimi yapılır. Bu nedenle gömülü

ye
yöntemler olarak adlandırılırlar.

r. Ü
Ö ğ
D r.
BİLGİ
L I N
K A
A
Sarmal yöntemler, filtreleme yöntemine göre zaman ve maliyet

a
açısından dezavantajlıdır.
m
Fat
Gömülü yöntemler, sarmal yöntemler gibi özniteliklerin etkileşimlerine
dikkat eder.

e si
Gömülü yöntemler, filtre yöntemlerinden daha doğru sonuçlar elde
y
r. Ü edebilir.

ğ
Gömülü yöntemler, modelin öğrenme yerine ezber yapmasına çok daha
Ö
r.
az eğilimlidir.

D
TİTANİC PROJESİ
L I N
K A
A
Titanic gemisi, tarihin en kötü kazalarından biridir. 15 Nisan 1912'de
a
m
Titanic ilk seferi sırasında bir buzdağıyla çarpıştıktan sonra battı ve

at
2224 yolcu ve mürettebattan 1502'sini öldü. Bu sansasyonel trajedi
F
si
uluslararası toplumu şok etti ve gemiler için daha iyi güvenlik

e
düzenlemelerine yol açtı. Hayatta kalmak için bir miktar şans unsuru
y
r. Ü
olsa da, bazı insan gruplarının hayatta kalma olasılığı diğerlerinden daha
yüksekmiş gibi görünüyor.

Ö ğ
r.
Biz ise bu gemide yer alanlar kişilerin bilgilerini içeren veri setini

D
kullanarak kimlerin hayatta kaldığını tahmin etmeye çalışan bir makine
öğrenmesi modeli kuracağız.
KAYNAKÇA
L I N
K A
a A
https://github.com/dataiteam/7-ADIMLIK-YAPAY-ZEKA-YOLCULUGU/blo
b/master/Python%20Programming%20for%20Artificial%20Intelligence
%20(1)/6_matplotlib.py
at m
si F
https://seaborn.pydata.org/examples/index.html

ye
https://seaborn.pydata.org/index.html

. Ü
Python ile Uçtan Uca Veri Bilimi, Engin Bozaba, dikey eksen
r
ğ
yayınları,1.Baskı:Ocak 2022
Ö
D r.
https://github.com/muhendis/pykasif/blob/master/titanic.ipynb
https://github.com/mwaskom/seaborn-data/blob/master/penguins.csv

You might also like