Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Hangi çerezleri kullandığımız hakkında daha fazla şey öğrenmek için Gizlilik
Onayla
Türker UZUNTürker UZUN
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Reading: Veri Analizi Aşamaları 05 – Normalizasyon ve Standartlaştırma
Paylaş
Aa
Türker UZUNTürker UZUN
Aa
  • VERİ ANALİZİ
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Ara...
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Follow US
Türker UZUN > Blog > Veri Analizi > Python Veri Analizi > Veri Analizi Aşamaları 05 – Normalizasyon ve Standartlaştırma
Python Veri Analizi

Veri Analizi Aşamaları 05 – Normalizasyon ve Standartlaştırma

5 Min Read
Paylaş
5 Min Read
Python Blog, Python Soruları, Python Dersleri, Python Veri Analizi, Python İlginç Sorular

Veri analizi ve makine öğrenmesi modellerinde, farklı değişkenlerin farklı ölçeklerde olması yaygın bir durumdur. Bu durum, modellerin performansını olumsuz etkileyebilir. Normalizasyon ve standartlaştırma, bu sorunu çözmek için kullanılan iki temel tekniktir.

Contents
Normalizasyon:Standartlaştırma:Normalizasyon ve Standartlaştırma Arasındaki Farklar:Normalizasyon ve Standartlaştırma Teknikleri:Normalizasyon ve Standartlaştırma Kullanmanın Avantajları:Normalizasyon ve Standartlaştırma Kullanmanın Dezavantajları:Normalizasyon ve Standartlaştırma Seçimi:Normalizasyon ve Standartlaştırma Örneği:

Normalizasyon:

Normalizasyon, veri setindeki tüm değerleri 0 ve 1 arasında bir aralığa sığdırma işlemidir. Bu işlem, farklı değişkenlerin ölçeklerini eşitlemek ve karşılaştırılabilir hale getirmek için kullanılır.

Standartlaştırma:

Standartlaştırma, veri setindeki tüm değerleri ortalamadan 1 standart sapma uzaklığa sığdırma işlemidir. Bu işlem, farklı değişkenlerin ortalamalarını ve standart sapmalarını sıfırlamak ve eşitlemek için kullanılır.

Normalizasyon ve Standartlaştırma Arasındaki Farklar:

  • Normalizasyon, veri setindeki tüm değerleri 0 ve 1 arasında bir aralığa sığdırırken, standartlaştırma ortalamadan 1 standart sapma uzaklığa sığdırır.
  • Normalizasyon, veri setinin minimum ve maksimum değerlerine bağlıdır; standartlaştırma ise ortalama ve standart sapmaya bağlıdır.
  • Normalizasyon, bazı durumlarda veri setindeki aşırı değerlerin (outlier) etkisini artırabilir. Standartlaştırma ise outlierların etkisini azaltır.

Normalizasyon ve Standartlaştırma Teknikleri:

  • Min-Max Normalizasyonu
  • Z-Skoru Standartlaştırma
  • Max-Abs Skoru Standartlaştırma
  • Robust Scaler

Normalizasyon ve Standartlaştırma Kullanmanın Avantajları:

  • Farklı değişkenlerin ölçeklerini eşitler.
  • Modellerin performansını ve doğruluğunu artırır.
  • Modellerin daha hızlı eğitilmesini sağlar.

Normalizasyon ve Standartlaştırma Kullanmanın Dezavantajları:

  • Veri setindeki aşırı değerlerin etkisini artırabilir.
  • Veri setinin doğal dağılımını bozabilir.

Normalizasyon ve Standartlaştırma Seçimi:

Hangi tekniğin kullanılacağı, veri setinin özelliklerine ve modelin türüne bağlıdır. Genel olarak, standartlaştırma tekniği, normalizasyon tekniğine göre daha yaygın olarak kullanılır.

Normalizasyon ve Standartlaştırma Örneği:

import pandas as pd
from sklearn.preprocessing import MinMaxScaler, StandardScaler, RobustScaler

def scale_data(data, method='standard'):
    """
    Verilen veri setini normalleştirme (normalize), standartlaştırma (standard) veya robust bir şekilde ölçekleme işlemi uygular.

    Parameters:
    - data (pd.DataFrame): İşlenecek veri seti.
    - method (str): Kullanılacak ölçekleme yöntemi. 'normalize', 'standard' veya 'robust' olarak belirlenebilir.

    Returns:
    - pd.DataFrame: İşlenmiş veri seti.
    """

    if method == 'normalize':
        scaler = MinMaxScaler()
    elif method == 'standard':
        scaler = StandardScaler()
    elif method == 'robust':
        scaler = RobustScaler()
    else:
        raise ValueError("Geçersiz method. 'normalize', 'standard' veya 'robust' seçiniz.")

    scaled_data = scaler.fit_transform(data)
    processed_data = pd.DataFrame(scaled_data, columns=data.columns)

    return processed_data

# Örnek kullanım:
# df: İlk veri seti
# df_normalized: Normalleştirilmiş veri seti
# df_standardized: Standartlaştırılmış veri seti
# df_robust_scaled: Robust bir şekilde ölçeklenmiş veri seti
df_normalized = scale_data(df, method='normalize')
df_standardized = scale_data(df, method='standard')
df_robust_scaled = scale_data(df, method='robust')

Bu kod, veri setindeki sayısal özellikleri eksiksiz bir şekilde doldurarak ve kategorik özellikleri One-Hot Encoding kullanarak işleyerek modüler ve esnek bir ön işleme pipeline oluşturuyor. Ayrıca, sayısal özelliklere uygulanan Z-Skoru Standartlaştırma, veri setini modellemeye hazır hale getiriyor.

Bu gelişmiş veri ön işleme yöntemi, veri analisti veya makine öğrenmesi mühendisi için kullanım kolaylığı sağlarken, kodun modüler yapısı sayesinde yeni özelliklerin eklenmesini veya mevcut işlemlerin değiştirilmesini de mümkün kılıyor. Bu nedenle, bu kod örneği, veri bilimi projelerinde veri ön işleme aşamasında karşılaşılan zorlukları aşmak isteyenler için değerli bir kaynak olabilir.

import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler, MinMaxScaler, RobustScaler, OneHotEncoder
from sklearn.impute import SimpleImputer

def advanced_preprocessing(data, numerical_features, categorical_features):
    """
    Veri setini gelişmiş bir şekilde ön işleyen bir işlem akışı uygular.

    Parameters:
    - data (pd.DataFrame): İşlenecek veri seti.
    - numerical_features (list): Sayısal özelliklerin adlarını içeren liste.
    - categorical_features (list): Kategorik özelliklerin adlarını içeren liste.

    Returns:
    - pd.DataFrame: İşlenmiş veri seti.
    """

    # Sayısal özellikleri işlemek için kullanılacak transformer
    numerical_transformer = Pipeline(steps=[
        ('imputer', SimpleImputer(strategy='mean')),  # Eksik değerleri doldur
        ('scaler', StandardScaler())  # Z-Skoru Standartlaştırma
    ])

    # Kategorik özellikleri işlemek için kullanılacak transformer
    categorical_transformer = Pipeline(steps=[
        ('imputer', SimpleImputer(strategy='most_frequent')),  # Eksik değerleri en sık kullanılan değerle doldur
        ('onehot', OneHotEncoder(handle_unknown='ignore'))  # One-Hot Encoding
    ])

    # Sayısal ve kategorik özellikleri işlemek için birleştirilmiş transformer
    preprocessor = ColumnTransformer(
        transformers=[
            ('num', numerical_transformer, numerical_features),
            ('cat', categorical_transformer, categorical_features)
        ])

    # İşlem akışını oluştur
    model = Pipeline(steps=[('preprocessor', preprocessor)])

    # Veriyi işle
    processed_data = model.fit_transform(data)

    return processed_data

# Örnek kullanım:
# df: İlk veri seti
# processed_data: Gelişmiş bir şekilde ön işlenmiş veri seti
processed_data = advanced_preprocessing(df, numerical_features=['değer1', 'değer2'], categorical_features=['kategori'])

ETİKETLER: Normalizasyon, Python, Veri Analizi, Veri Analizi Aşamaları, Veri Analizi Dersleri, Veri Standardizasyonu
Editor Şubat 25, 2024
Paylaş
Whatsapp Whatsapp LinkedIn Email Copy Link

Son Yazılar

  • LangChain Tool Tanıtımı (Kategorik)
  • Flowise Tool Node Tanıtımı
  • Flowise – Hazır Chatflow Akışları
  • Flowise – Hangi Node Ne Zaman Kullanılır?
  • Flowise Eğitimi – Node’ları Tanıyalım

Takip Et

Sponsor Linkler

İlginizi Çekebilir

Büyük Dil Modelleri (LLM)LLM - AI AJANLAR

Büyük Dil Modellerinde Yanıt Süresi Optimizasyonu: Ollama ve Langchain

Doğal Dil İşleme (NLP)LLM - AI AJANLARPython Veri AnaliziVeri Analizi

Türkiye’deki Mobil Bankacılık Deneyiminde Neler Gizli: “Part1 – IOS”

Makine ÖğrenmesiPython Veri AnaliziVeri Analizi

Sorun: CatBoost ve NumPy 2.x Anlaşamıyorlar

BLOGPython Veri AnaliziVeri Analizi

Yemek Yapmayı Kolaylaştıran Gizli Güç: Yapay Zeka ile Tarif Önerisi ve Zorluk Tahmini

Türker UZUNTürker UZUN
Takip Et

Veri Analizi, ETL Süreçleri, Makine Öğrenimi, Doğal Dil İşleme Projeleri, Python Dersleri, Python Blog, Teknoloji Yazarı, AI Agents

Removed from reading list

Undo