top of page

Üyelik Paketlerinde 25% İndirim İçin Kodun : "welcome"

Eksik Verilerin İşlenmesi (Handling Missing Data)



Hands-on Mentor Kapsamlı Blog İçeriği
Hands-on Mentor Tutorials




Eksik Verilerin Tanımı

Eksik veriler, veri setinde bazı gözlemlerin eksik olduğu durumlardır. Eksik veriler, analizlerin doğruluğunu ve güvenilirliğini olumsuz etkileyebilir. Bu nedenle, eksik verilerin doğru bir şekilde tespit edilmesi ve işlenmesi önemlidir.


Eksik Veri Türleri


  1. MCAR (Missing Completely at Random): Verilerin tamamen rastgele eksik olduğu durumlar.

  2. MAR (Missing at Random): Eksik verilerin, diğer gözlemlenen değişkenlerle ilişkili olduğu durumlar.

  3. MNAR (Missing Not at Random): Eksik verilerin, eksik olan gözlemlerin kendileriyle ilişkili olduğu durumlar.


Eksik Verilerin Tespit Edilmesi

Öncelikle, veri setinde eksik verilerin tespit edilmesi gerekmektedir. Bu, eksik verilerin sayısını ve yerini belirlememize yardımcı olur.


import pandas as pd

# Veri setini yükleme
df = pd.read_csv('customer_data.csv')

# Eksik verilerin tespiti
print(df.isnull().sum())


Eksik Verilerin İşlenme Yöntemleri

Eksik verilerle başa çıkmak için çeşitli yöntemler kullanılabilir. Bu yöntemler, eksik verilerin türüne ve veri setinin özelliklerine bağlı olarak değişir.


1. Eksik Verilerin Kaldırılması


Satırların Kaldırılması: Eksik veri içeren satırların tamamen kaldırılması.


# Eksik veri içeren satırları kaldırma
df_dropped_rows = df.dropna()
print(df_dropped_rows.shape)


Sütunların Kaldırılması: Eksik veri içeren sütunların tamamen kaldırılması.


# Eksik veri içeren sütunları kaldırma
df_dropped_columns = df.dropna(axis=1)
print(df_dropped_columns.shape)


2. Eksik Verilerin Doldurulması


Ortalama ile Doldurma: Sayısal verilerde, eksik değerleri sütunun ortalaması ile doldurma.


# Yaş sütunundaki eksik verileri ortalama ile doldurma
df['Age'].fillna(df['Age'].mean(), inplace=True)


Medyan ile Doldurma: Sayısal verilerde, eksik değerleri sütunun medyanı ile doldurma.


# Yıllık gelir sütunundaki eksik verileri medyan ile doldurma
df['AnnualIncome'].fillna(df['AnnualIncome'].median(), inplace=True)


Mod ile Doldurma: Kategorik verilerde, eksik değerleri sütunun modu ile doldurma.


# Cinsiyet sütunundaki eksik verileri mod ile doldurma
df['Gender'].fillna(df['Gender'].mode()[0], inplace=True)


3. Eksik Verilerin Tahmin Edilmesi

Eksik verileri tahmin etmek için makine öğrenimi algoritmaları kullanılabilir. Bu, daha karmaşık ancak genellikle daha doğru sonuçlar sağlayan bir yöntemdir.


KNN (K-Nearest Neighbors) ile Doldurma: KNN algoritması, eksik değerleri tahmin etmek için kullanılabilir.


from sklearn.impute import KNNImputer
import numpy as np

# KNN imputer oluşturma
imputer = KNNImputer(n_neighbors=5)

# Sayısal sütunları seçme
numeric_columns = df.select_dtypes(include=[np.number]).columns

# KNN ile eksik verileri doldurma
df[numeric_columns] = imputer.fit_transform(df[numeric_columns])


4. Eksik Verilerin İşaretlenmesi

Eksik verilerin olduğu yerleri işaretlemek ve bu bilgiyi modellemelerde kullanmak da bir strateji olabilir.


Eksik Veri İşaretleme:


# Eksik veri içeren sütunları işaretleme
for column in df.columns:
    df[column + '_missing'] = df[column].isnull().astype(int)


Eksik Verilerin İşlenmesi Sonrası Kontrol

Eksik verilerin işlendiği adımlardan sonra veri setini tekrar kontrol etmek, işlemlerin doğruluğunu ve eksik verilerin tamamen işlendiğini doğrulamak için önemlidir.


# Eksik verilerin yeniden tespiti
print(df.isnull().sum())


Sonuç

Eksik verilerin doğru bir şekilde işlenmesi, veri analizinin doğruluğunu ve güvenilirliğini artırır. Eksik veriler çeşitli yöntemlerle işlenebilir: eksik verilerin kaldırılması, ortalama, medyan veya mod ile doldurulması, makine öğrenimi algoritmaları ile tahmin edilmesi ve eksik verilerin işaretlenmesi. Bu adımlar, veri setinin temizlenmesini ve analizler için uygun hale getirilmesini sağlar.


Bu içerik, eksik verilerin tespiti ve işlenmesi için temel yöntemleri detaylandırır. Eksik verilerin yanı sıra, pratik örneklerle bu kavramların nasıl kullanılabileceğini gösterir. Bir sonraki bölümde, "Aykırı Değerlerin Tespiti ve İşlenmesi" konusunu ele alarak, aykırı değerlerin tespiti ve işlenmesi için temel yöntemleri inceleyeceğiz.


 

Python temellerini atıp, veri analizi ve bilimi için yetkinlik kazanmak istiyorsanız, 1 aylık yoğun Python kampına hemen kayıt olabilirsiniz. ~40 saat canlı ders, ~50 adet kapsamlı proje, ~15 adet quiz ve sayısız kodlama egzersizinden oluşan, Finlandiya eğitim modellerinden esinlenilerek Helsinki'de geliştirilen interaktif ve pratik odaklı eğitim programına hemen göz atın !




Comments


Commenting has been turned off.
bottom of page