Titanic Verisetinin Görselleştirilmesi

Jiyan Aytek
Data Runner
Published in
4 min readApr 25, 2020

Bu blog postta Titanic verisetinin Matplotlib, Pandas ve Seaborn kütüphaneleriyle görselleştirmesi yapılacaktır.

Öncelikle Titanic verisini indirelim.

Titanic

Bu aşamada Jupyter Notebook ve Python programlama kullanılacaktır.

Haydi başlayalım.

KÜTÜPHANELERİN YÜKLENMESİ

import numpy as np 
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
%matplotlib qt
# pip install PyQt5
from IPython.display import Image
%matplotlib inline → to reverse back to inline

VERİYE İLK BAKIŞ

Verisetinin ilk 5 satırına baktığımızda categorical, int ve floattan oluşan 12 değişken vardır. Değişkenlerin tanımları aşağıdaki gibidir.

PassengerId : Yolcu id

Survived : Titanic gemisinde hayatta kalanlar 1 , hayatta kalmayanlar 0

Pclass : 1 : Ekonomi statüsüdür

1st = Upper
2nd = Middle
3rd = Lower

Name : Yolcuların isimleri

Sex : Male/Female

Age : Yolcuların Yaşları

SlipSp : abi/abla (1 or 0)

Parch : ebeveyn/çocuk (1 or 0)

Ticket : Bilet numaraları

Fare : Bilet fiyatı

Cabin : Kabin numarası

Embarked : Liman isimleri (C, Q, S)

C = Cherbourg, Q = Queenstown, S = Southampton

read_csv( )

Csv datasetini pandas kütüphanesi ile okuduk.

data=pd.read_csv("train.csv", sep=",")
data.head(5)
12 variable of titanic dataset

value_counts( )

549 kişinin hayatta kalmadığını, 342 kişinin hayatta kaldığını inceledik.

data.Survived.value_counts()0    549
1 342
Name: Survived, dtype: int64
data.Fare.value_counts().head(10)
8.0500 43
13.0000 42
7.8958 38
7.7500 34
26.0000 31
10.5000 24
7.9250 18
7.7750 16
26.5500 15
0.0000 15
Name: Fare, dtype: int64

info( )

Datasetinin Dataframeden oluştuğunu, 891 observation (gözlem) 12 variable(değişken), datasetinin 83.6 KB boyutta olduğunu inceliyoruz.Buna ek olarak değişkenlerde 5 ader int, 5 adet kategorik ve 2 adet float bilgisine ulaşıyoruz.

data.info()<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 204 non-null object
Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB

dtypes( )

Her bir değişkenin veri tiplerini görüyoruz.

data.dtypes
PassengerId int64
Survived int64
Pclass int64
Name object
Sex object
Age float64
SibSp int64
Parch int64
Ticket object
Fare float64
Cabin object
Embarked object
dtype: object

size( ) : Bu dataset toplam 10692 adet veriden oluşmaktadır.

data.size
10692

shape( )

891 gözlem, 12 değişkenden oluşmaktadır.

data.shape
(891, 12)

describe( ).T

Bu komut yalnızca sayısal değişkenlerin min,max,mean ve standart sapma gibi istatistiksel değerlerini verir.

data.describe().T
describe( ).T

type( )

datasetin typeını gösterir.

type(data)pandas.core.frame.DataFrame

count( ) : Her bir değişkenin gözlem sayısını verir.

data.count()

MissingValue

Eksik gözlem değerinin olup olmadığına bakarak True veya False döndürür.

data.isnull().values.any()
True

Missing Valueların Toplam Sayısı

Age değişkeninde toplam 177 missing value vardır.

Cabin değişkeninde toplam 687 missing value vardır.

Embarked değişkeninde toplam 2 missing value vardır.

data.isnull().sum()

SEABORN İLE VERİ GÖRSELLEŞTİRME

BARPLOT

a=sns.barplot(x="Sex", y="Survived", hue="Sex", data=data);
a.set_title("Cinsiyete Göre Survived Dağılımı");

CATPLOT — ViOLİN

sns.catplot(x=”Pclass”, y=”Fare”, kind=”violin”, hue=”Pclass”, col=”Sex”, orient=”v”, data=data);
Fare Distribution By P-class and Sex

CATPLOT — BAR

sns.catplot(x=”Pclass”, y=”Fare”, kind=”bar”, hue=”Pclass”, col=”Sex”, orient=”v”, data=data);
Fare Distribution By Sex and P-class

Distplot

sns.distplot(data.Pclass)
P-class Distribution

KDEPLOT

#kdeplot
sns.kdeplot(data.Fare).set_title(“Fare Distribution”);

Pair plot

sns.pairplot(data);
Pairplot

HeatMap

import matplotlib.pyplot as plt
corr=data.corr()
plt.figure(figsize=(8, 8))
sns.heatmap(corr, vmax=.8, linewidths=0.05,square=True,annot=True,linecolor=”pink”);
Heatmap

MATPLOTLIB KÜTÜPHANESİ İLE VERİ GÖRSELLEŞTİRME

BARPLOT

plt.style.use("fivethirtyeight")plt.bar(data.Age, data.Fare, color="#444444")plt.xlabel("Age")
plt.ylabel("Fare")
plt.title("Fare Distribution By Age")
plt.legend(loc='upper left')
plt.grid(True)
plt.tight_layout()
plt.show()

HİSTOGRAM


ages=data["Age"]
fare=data["Fare"]
plt.style.use("classic")plt.hist(ages, color="#B0E0E6")plt.title("Fare Plot By Age")
plt.xlabel("ages")
plt.ylabel("fare")
plt.tight_layout()plt.show()

Şimdilik görselleştirme blog postunun sonuna gelmiş bulunmaktayız. Bir başka blog postta görüşmek üzere..

--

--