Veri hazırlama

Uçtan Uca Machine Learning

Joshua Stapleton

Machine Learning Engineer

Veri hazırlama adımları

Veri kümesinde:

  • Eksik değerler
  • Aykırı değerler
  • Dengesizlikler
  • Boş sütunlar
  • Yinelenenler

Veri hazırlama:

  • EDA içgörülerine dayalı
  • Aşağı akışta model başarımı için kritiktir
Uçtan Uca Machine Learning

Null / boş değerler

  • Eksik/seyrek satırları ve sütunları kaldırın
  • Null değerler modeli bozabilir
  • Sütunlar için df.drop() kullanın
  • Satırlar için df.dropna(how='all') kullanın
# count missing values
print(df['oldpeak'].isnull().sum())

# Drop empty column(s) and row(s)
columns_dropped = heart_disease_df.drop(['oldpeak'], axis='columns')
rows_and_columns_dropped = columns_dropped.dropna(how='all')
Uçtan Uca Machine Learning

Null / boş değerlerle başa çıkma

  • Temizlik/silme EDA bulgularına bağlıdır

 

  • Bir sütunda çok fazla eksik değer varsa:
    • Sütunu kaldırın

 

  • Hedef sütunda eksik değer varsa:
    • Eksik hedefli satırları silin
    • Veya ayrı bir kategori olarak ele alın
Uçtan Uca Machine Learning

Atama (imputation)

Az sayıda eksik değer varsa ne yapmalı?

  • Atama (imputation):

    • Eksikleri uygun değerlerle doldurun
  • Stratejiler

    • Ortalama veya ortanca ile doldurun
    • Sabit ya da önceki değer kullanın
# Calculate the mean cholestrol value 
mean_value = heart_disease_df['chol'].mean()

# Fill missing cholestrol values with the mean
heart_disease_df['chol'].fillna(mean_value, inplace=True)
Uçtan Uca Machine Learning

Gelişmiş atama (imputation)

İleri teknikler:

  • K-en yakın komşu
  • SMOTE (sentetik azınlık çoğaltma tekniği)
from sklearn.impute import KNNImputer

# Initialize KNNImputer
imputer = KNNImputer(n_neighbors=2, weights="uniform")

# Perform the imputation on your DataFrame
df_imputed['oldpeak'] = imputer.fit_transform(df['oldpeak'])
Uçtan Uca Machine Learning

Yinelenenleri kaldırma

 

  • Veri temiz, öz ve zengin olmalıdır
  • Fazlalıklar faydasızdır
  • Yinelenenler modeli saptırır veya şaşırtır
  • Kayıt/satır silmede benzersiz tanımlayıcıları ölçüt alın

 

# Drop duplicate rows
heart_disease_duplicates_dropped = heart_disease_column_dropped.drop_duplicates()
Uçtan Uca Machine Learning

Hadi pratik yapalım!

Uçtan Uca Machine Learning

Preparing Video For Download...