Data Preprocessing
Veri ön işleme, ham tabloları, metinleri ve görüntüleri bir modelin beklediği temiz, ölçeklendirilmiş ve sabit biçimli girdilere dönüştürür. Yaygın adımları, veri sızıntısını önleme kurallarını ve kodu ele alır.
Veri ön işleme, bir makine öğrenimi (ML) modelinin beklediği temiz ve tutarlı biçime sahip sayısal girdiyi oluşturmak için ham veriye uygulanan dönüşümlerin bütünüdür; bu dönüşümler eğitim ve çıkarım sırasında aynı şekilde uygulanır. Tablo verilerinde eksik değerleri ele almak, kategorileri sayılara kodlamak ve özellikleri ölçeklemek anlamına gelir. Görüntülerde dosyaları çözmek, ağ giriş boyutuna yeniden boyutlandırmak, renk kanallarını sıralamak ve piksel değerlerini ölçeklemek anlamına gelir. Ön işleme fiilen modelin bir parçasıdır: 0–1 aralığına ölçeklenmiş RGB görüntülerle eğitilen bir ağ, ağırlıkları değişmemiş olsa bile 0–255 aralığındaki BGR görüntülerle beslendiğinde güvenilmez tahminler üretir.
Yaygın Ön İşleme Adımları#
- Veri temizleme: Yinelenenleri, bozuk dosyaları ve imkânsız değerleri kaldırmak; tutarsız etiketleri veya birimleri düzeltmek.
- Eksik değerleri tamamlama: Eksik değerleri sütun medyanı gibi bir istatistikle, model tabanlı bir tahminle veya ayrı bir "missing" kategorisiyle doldurmak ya da çok fazla eksiği olan satırları silmek.
- Kodlama: Sıralanmamış renk gibi kategorileri one-hot kodlamayla, sıralı boyut gibi kategorileri sıralı kodlarla ve sınıf adlarını tamsayı indeksleriyle sayılara dönüştürmek.
- Ölçekleme ve normalleştirme: Min-maks ölçekleme bir özelliği 0–1 aralığına taşır; standartlaştırma ise ortalamayı çıkarıp standart sapmaya böler. Böylece mesafeye dayalı modellerde milimetreyle ölçülen bir özellik metreyle ölçülen bir özelliği bastırmaz ve gradyan inişi daha hızlı yakınsar. torchvision içindeki ImageNet üzerinde önceden eğitilmiş pek çok model, her RGB kanalının 0,485, 0,456 ve 0,406 ortalamalarıyla; 0,229, 0,224 ve 0,225 standart sapmalarıyla standartlaştırılmasını bekler.
- Yeniden boyutlandırma: Her görüntüyü esneterek, merkezden kırparak veya görüntüyü sığacak şekilde ölçekleyip nesnelerin oranlarını korumak için kalan alanı dolduran mektup kutusu yöntemiyle ağın giriş boyutuna getirmek.
- Belirteçleme: Metni belirteçlere bölmek ve her birini sabit bir söz dağarcığındaki tamsayı kimliğine eşlemek.
Alana özgü adımlar bunlara eklenir. BT taramaları, akciğer dokusunu gösteren aralık gibi bir Hounsfield birimi aralığını modelin gördüğü görüntü yoğunluklarına eşleyen pencereleme işleminden geçirilir; ses ise sabit bir örnekleme hızına yeniden örneklenir ve çoğu zaman spektrograma dönüştürülür.
Eğitim Verisine Uydur, Her Yerde Uygula#
Özellik ortalamaları ve standart sapmaları, eksik değerleri tamamlama değerleri ve kategori söz dağarcıkları gibi ön işlemede kullanılan istatistikler yalnızca eğitim bölümünde hesaplanıp kaydedilir; ardından doğrulama, test ve üretim verilerine değiştirilmeden uygulanır. Bölme işleminden önce bunları tüm veri kümesi üzerinden hesaplamak, test kümesindeki bilgilerin eğitim girdilerini şekillendirmesine yol açar. Bu, değerlendirme puanlarını yükselten bir veri sızıntısı türüdür. Bir scikit-learn Pipeline, ön işleme adımlarını yalnızca fit öğesine aktarılan veriler üzerinde uyarlayarak bu kuralı uygular. Sunum sırasında farklı bir ön işleme, örneğin başka bir yeniden boyutlandırma yöntemi veya farklı bir görüntü çözücü kullanmak, modelin çevrimdışı iyi puan alıp üretimde daha kötü sonuç verdiği eğitim-sunum çarpıklığına yol açar.
Görüntü Modelleri için Görüntü Ön İşleme#
Görüntü modelleri sabit bir tensör düzenine ihtiyaç duyar. OpenCV görüntüleri, BGR sıralı 8 bitlik tamsayıların yükseklik × genişlik × kanal dizileri olarak çözer; PyTorch ağlarıysa kanal öncelikli RGB düzeninde kayan noktalı tensör grupları bekler. Ultralytics'te YOLO26 tahmini bu adımları otomatik olarak uygular: her görüntüyü bozmadan, uzun kenarı varsayılan olarak 640 piksel olan imgsz boyutuna getirir; sabit şekilli dışa aktarılmış modeller için 640 × 640 kareye ulaşacak biçimde 114 değerli gri piksellerle doldurur; PyTorch modellerinde ise yalnızca 32 piksellik adımın bir sonraki katına kadar doldurur. Ardından BGR'yi RGB'ye çevirir, diziyi kanal öncelikli düzene sokar ve 255'e böler. Aşağıdaki OpenCV ve NumPy betiği, kare mektup kutusu işlemini elle gerçekleştirir:
import urllib.request
import cv2
import numpy as np
# Download a sample photo and read it as a BGR uint8 array of shape (height, width, 3)
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
image = cv2.imread("bus.jpg")
# Resize so the longer side is 640 pixels, keeping the aspect ratio
scale = 640 / max(image.shape[:2])
resized = cv2.resize(image, None, fx=scale, fy=scale, interpolation=cv2.INTER_LINEAR)
# Letterbox: center the resized image on a 640x640 canvas of gray (114) padding
canvas = np.full((640, 640, 3), 114, dtype=np.uint8)
top, left = (640 - resized.shape[0]) // 2, (640 - resized.shape[1]) // 2
canvas[top : top + resized.shape[0], left : left + resized.shape[1]] = resized
# Reorder BGR to RGB and HWC to CHW, scale pixels to 0-1, and add a batch dimension
tensor = canvas[:, :, ::-1].transpose(2, 0, 1).astype(np.float32) / 255.0
batch = tensor[None]
print(f"{image.shape} uint8 -> {batch.shape} float32 in [{batch.min():.1f}, {batch.max():.1f}]")Betik (1080, 810, 3) uint8 -> (1, 3, 640, 640) float32 in [0.0, 1.0] değerini yazdırır: 1080 × 810 boyutundaki fotoğraf, her iki yanında 80 piksellik gri bantlarla, PyTorch algılayıcısının beklediği düzen ve değer aralığında tek görüntülük bir gruba dönüşür.
Veri Ön İşleme ve İlgili Terimler#
- Veri etiketleme: Sınıflar ve kutular gibi temel gerçek hedefleri oluşturur; ön işleme de bu hedefleri eğitimin okuyacağı sayısal biçime dönüştürür.
- Özellik mühendisliği: Boy ve kilo sütunlarından beden kitle indeksi türetmek gibi, alan bilgisini kullanarak yeni girdi değişkenleri oluşturmak.
- Yığın normalleştirme: Eğitim ve çıkarım sırasında ara aktivasyonları standartlaştıran, ağ içindeki bir katmandır. Ön işlemedeki girdi normalleştirmesi bir kez, veri ağa ulaşmadan önce gerçekleşir.
- Veri artırma: Her örneğin çeşitli kopyalarını oluşturmak için yalnızca eğitim sırasında uygulanan çevirme, renk kaydırma ve mozaik gibi rastgele dönüşümlerdir. Ön işleme deterministiktir ve eğitim ile çıkarımda aynıdır.










