İçeriğe geç

Anahtar Çıkarımlar

  1. SMOTE, dengesiz veri kümelerinde azınlık sınıfına ait yeni sentetik örnekler üreterek sınıf dengesizliğini gideren bir aşırı örnekleme yöntemidir.
  2. Örnekleri kopyalamak yerine, komşu azınlık örnekleri arasında ara noktalar hesaplayarak gerçekçi ve çeşitli yeni örnekler üretir; bu onu basit tekrar (random oversampling) yönteminden ayırır.
  3. Amaç, modelin azınlık sınıfını görmezden gelmesini engellemek ve sınıflandırma performansını (özellikle recall ve F1) yükseltmektir.
  4. Dolandırıcılık tespiti, tıbbi teşhis, müşteri kaybı (churn) ve arıza tahmini gibi seyrek ama kritik olayların bulunduğu problemlerde yaygın kullanılır.
  5. SMOTE her derde deva değildir: yüksek boyutlu veri, gürültü ve sınıf örtüşmesi olan durumlarda dikkatli kullanılmalı ve yalnızca eğitim verisine uygulanmalıdır.

SMOTE Nedir? Dengesiz Veride Azınlık Sınıfı Çözümü

SMOTE nedir? SMOTE (Synthetic Minority Over-sampling Technique), dengesiz veri kümelerinde azınlık sınıfına ait yeni ve sentetik örnekler üreterek sınıf dengesizliğini gideren bir aşırı örnekleme yöntemidir. Bu rehber: net tanım, SMOTE neden gerekli, nasıl çalışır, varyantları, gerçek dünya ve Türkiye örnekleri, sınırları ve sık sorulan sorular.

SYK
Şükrü Yusuf KAYA
AI Expert · Kurumsal AI Danışmanı

SMOTE nedir? SMOTE (Synthetic Minority Over-sampling Technique, Türkçesiyle sentetik azınlık aşırı örnekleme tekniği), dengesiz veri kümelerinde azınlık sınıfına ait yeni ve sentetik örnekler üreterek sınıf dengesizliğini gideren bir aşırı örnekleme yöntemidir. Mevcut örnekleri kopyalamak yerine, birbirine komşu azınlık örnekleri arasında ara noktalar hesaplayarak gerçekçi yeni örnekler türetir.

Bir sınıflandırma probleminde bir sınıf verinin ezici çoğunluğunu, diğeri ise çok küçük bir azınlığı oluşturuyorsa, model kolayca "her şey çoğunluk sınıfıdır" demeyi öğrenir ve yine de yüksek doğruluk (accuracy) alır. Oysa çoğu zaman asıl önemli olan o küçük azınlıktır: bir dolandırıcılık işlemi, nadir bir hastalık, arızalı bir parça. SMOTE tam olarak bu problemi hedefler. Bu rehber SMOTE nedir, neden gerekli, nasıl çalışır, hangi varyantları vardır ve nerelerde işe yaradığını ele alıyor.

Tanım
SMOTE (Synthetic Minority Over-sampling Technique)
Dengesiz veri kümelerinde azınlık sınıfının örneklerini kopyalamak yerine, komşu örnekler arasında ara noktalar hesaplayarak yeni sentetik örnekler üreten bir aşırı örnekleme yöntemi. Amaç, sınıf dengesizliğini gidererek modelin azınlık sınıfını daha iyi öğrenmesini ve sınıflandırma performansının artmasını sağlamaktır.
Ayrıca: Sentetik azınlık aşırı örnekleme, oversampling, sınıf dengeleme, SMOTE

SMOTE Neden Gerekli? Dengesiz Veri Problemi

Gerçek dünya verisi nadiren dengelidir. Bir bankada işlemlerin büyük çoğunluğu meşrudur, dolandırıcılık binde birdir; bir hastanede testlerin çoğu negatiftir, nadir hastalık az sayıdadır. Bu duruma dengesiz veri (imbalanced data) denir ve makine öğrenmesi modelleri için sinsi bir tuzaktır.

Sorun şudur: standart bir model, hata oranını en aza indirmeye çalışır. Verinin %99'u çoğunluk sınıfıysa, model her örneğe "çoğunluk" diyerek %99 doğruluk alır ve azınlık sınıfını tamamen görmezden gelir. Doğruluk yüksek görünür ama model işe yaramaz; çünkü kaçırdığı tek şey, aslında yakalamak istediğimiz şeydir. Bu yüzden dengesiz veride doğruluk yanıltıcıdır ve recall (azınlığı yakalama oranı) ile F1 gibi metriklere bakılır. SMOTE, azınlık sınıfını çoğaltarak modelin ona hak ettiği ağırlığı vermesini sağlar.

SMOTE Nasıl Çalışır?

SMOTE'un temel fikri şaşırtıcı derecede sadedir: azınlık sınıfının örnekleri arasındaki boş alanı, o örneklerin karışımıyla doldurmak. Yöntem her azınlık örneği için en yakın azınlık komşularını bulur, birini seçer ve iki örnek arasındaki doğru parçası üzerinde rastgele bir noktada yeni bir sentetik örnek yaratır.

Nasıl Yapılır

SMOTE'un sentetik örnek üretme adımları

SMOTE'un bir azınlık örneğinden yola çıkarak yeni bir sentetik örnek üretmesinin temel adımları.

  1. 1

    Bir azınlık örneği seç

    Azınlık sınıfından bir örnek (nokta) alınır.

  2. 2

    En yakın komşularını bul

    Bu örneğin azınlık sınıfındaki k en yakın komşusu (k-NN) hesaplanır.

  3. 3

    Bir komşu seç

    Komşulardan biri rastgele seçilir.

  4. 4

    Ara noktada örnek üret

    İki örnek arasındaki çizgi üzerinde rastgele bir noktada yeni sentetik örnek oluşturulur.

Bu işlem, azınlık sınıfını istenen orana ulaşana dek tekrarlanır. Sonuçta modelin gördüğü şey, aynı noktaların kopyaları değil; azınlık sınıfının "karar bölgesini" dolduran, gerçekçi ama yeni örneklerdir. Bu, aşırı örnekleme ailesinin en önemli fikridir: veriyi tekrar etmek yerine anlamlı biçimde genişletmek. SMOTE'un altında yatan k en yakın komşu mantığı, temel bir makine öğrenmesi kavramıdır; konuyla ilgili daha geniş bir çerçeve için makine öğrenmesi nedir ve algoritma nedir rehberlerine bakabilirsiniz.

SMOTE ile Rastgele Aşırı Örnekleme Arasındaki Fark Nedir?

Sınıf dengesizliğini çözmenin en basit yolu, azınlık örneklerini olduğu gibi çoğaltmaktır (random oversampling). Ancak bu, modele aynı noktaları defalarca göstererek aşırı öğrenmeye (overfitting) davetiye çıkarır. SMOTE bu tuzaktan, kopyalamak yerine yeni örnekler üreterek kaçınır.

Dengesiz veriyle başa çıkma yöntemlerinin karşılaştırması
YöntemNasıl çalışırGüçlü yönüZayıf yönü
Random oversamplingAzınlık örneklerini kopyalarBasit, hızlıAşırı öğrenme riski yüksek
SMOTEKomşular arasında sentetik örnek üretirDaha çeşitli, daha iyi genellemeGürültü ve örtüşmeyi büyütebilir
UndersamplingÇoğunluk örneklerini azaltırHızlı eğitim, dengeli setBilgi kaybı olur
Sınıf ağırlıklarıAzınlık hatasını daha çok cezalandırırVeriyi değiştirmezHer modelde bulunmaz

Özetle SMOTE, basit tekrar ile bilgi kaybettiren undersampling arasında bir orta yol sunar: azınlık sınıfını gerçekçi biçimde büyütür ama çoğunluk verisini de korur. Yine de tek doğru yöntem yoktur; hangisinin işe yaradığı veri yapısına göre çapraz doğrulama ile ölçülmelidir.

SMOTE'un Varyantları

Orijinal SMOTE, tüm azınlık örneklerine eşit davranır. Ancak gerçek verilerde bazı azınlık örnekleri sınıf sınırına yakındır ve daha "riskli"dir; bazıları ise gürültüdür. Bu ayrımları dikkate alan varyantlar geliştirilmiştir:

  • Borderline-SMOTE: Yalnızca sınıf sınırına yakın azınlık örneklerinden sentetik örnek üretir; çünkü karar sınırının netleşmesi gereken yer burasıdır.
  • ADASYN (Adaptive Synthetic Sampling): Öğrenmesi daha zor olan (çoğunluk komşularıyla çevrili) azınlık örneklerine daha fazla sentetik örnek üretir; zorluğa göre uyarlanır.
  • SMOTE-NC: Hem sayısal hem kategorik özellikleri olan veri kümeleri için tasarlanmıştır.
  • SMOTE + Tomek / SMOTE + ENN: Önce SMOTE ile azınlık büyütülür, ardından temizleme (undersampling) yöntemleriyle sınıf örtüşmesi ve gürültü azaltılır.

Bu varyantların çoğu, Python ekosisteminde yaygın kullanılan imbalanced-learn (imblearn) kütüphanesinde hazır olarak bulunur ve scikit-learn pipeline'larıyla birlikte çalışır. Doğru varyant seçimi de veriye bağlıdır; tek bir "en iyi" yoktur.

Gerçek Dünya ve Türkiye Örnekleri

SMOTE, azınlık sınıfının seyrek ama pahalı olduğu her yerde işe yarar. Türkiye'deki sektörlerden somut örnekler:

  • Bankacılık ve ödeme (dolandırıcılık tespiti): Milyonlarca meşru işlem arasında binde birlik sahte işlemleri yakalamak. Kaçırılan tek bir dolandırıcılık yüksek maliyetlidir; SMOTE azınlık (sahte) sınıfını güçlendirir.
  • Sağlık (tıbbi teşhis): Nadir bir hastalığı taşıyan az sayıda hastayı, sağlıklı çoğunluğun içinde ayırt etmek. Burada azınlığı kaçırmak (yanlış negatif) kritik risktir.
  • Üretim (kalite/arıza tespiti): Bir üretim hattında binlerce sağlam parça arasındaki nadir kusurlu parçaları tespit etmek.
  • Telekom ve abonelik (müşteri kaybı/churn): Terk edecek az sayıdaki müşteriyi önceden belirlemek; çünkü kalan çoğunluğa kıyasla terk edenler azınlıktadır.
  • Siber güvenlik (anomali tespiti): Normal trafiğin ezici çoğunluğu içinde nadir saldırı örneklerini modele öğretmek.

Bu örneklerin ortak paydası, dolandırıcılık ya da hastalık gibi anomali tespiti niteliğindeki nadir olayların iş açısından en değerli örnekler olmasıdır. SMOTE, tam da bu değerli ama seyrek örneklerin modelde hak ettiği ağırlığı kazanmasını sağlar. İlişkili yaklaşımlar için anomali tespiti nedir ve veri bilimi nedir rehberleri de faydalıdır.

SMOTE'un Sınırları ve Yaygın Hatalar

SMOTE güçlü bir araçtır ama her probleme uygun değildir ve yanlış kullanıldığında zarar verebilir. Bilinmesi gereken başlıca sınırlar ve hatalar:

  • Veri sızıntısı (en kritik hata): SMOTE, veri train/test olarak ayrılmadan önce tüm veriye uygulanırsa, test bilgisi eğitime sızar ve sınıflandırma performansı gerçekte olduğundan yüksek görünür. SMOTE yalnızca eğitim setine, tercihen bir pipeline içinde uygulanmalıdır.
  • Gürültü ve aykırı değerleri büyütme: SMOTE, gürültülü bir azınlık örneğinden de sentetik örnek üretir; bu, hatalı bölgeleri şişirebilir.
  • Sınıf örtüşmesi: Azınlık ve çoğunluk sınıfları uzayda iç içeyse, üretilen örnekler çoğunluk bölgesine düşerek karar sınırını bulanıklaştırabilir.
  • Yüksek boyut ("boyut laneti"): Çok sayıda özellik olduğunda "en yakın komşu" kavramı anlamını yitirir ve SMOTE'un ürettiği ara noktalar gerçekçiliğini kaybedebilir.

Bu yüzden SMOTE bir düğmeye basıp geçilecek bir çözüm değildir. Doğru kullanım; sızıntıyı önlemek, sonuçları çapraz doğrulama ile denetlemek ve gerektiğinde sınıf ağırlıkları gibi alternatiflerle karşılaştırmaktır. Bu tür veri hazırlama kararlarını kurumsal bir çerçevede ele almak için yapay zeka danışmanlığı hizmetine göz atabilirsiniz.

Sıkça Sorulan Sorular

SMOTE ile rastgele aşırı örnekleme (random oversampling) arasındaki fark nedir?

Rastgele aşırı örnekleme, azınlık sınıfının mevcut örneklerini olduğu gibi çoğaltır (kopyalar); bu, aşırı öğrenme (overfitting) riskini artırır çünkü model aynı noktaları defalarca görür. SMOTE ise kopyalamaz; komşu örnekler arasında ara noktalar hesaplayarak yeni ve farklı sentetik örnekler üretir. Bu sayede azınlık sınıfının karar bölgesi genişler ve model daha iyi genelleme yapar.

SMOTE veriyi çoğaltıyorsa aşırı öğrenmeye yol açmaz mı?

Basit kopyalamaya kıyasla riski daha düşüktür, çünkü ürettiği örnekler birebir tekrar değil, ara değerlerdir. Ancak SMOTE gürültülü örnekleri veya aykırı değerleri de büyütebilir ve sınıf örtüşmesi olan bölgelerde yanıltıcı örnekler üretebilir. Bu yüzden ürettiği örneklerin kalitesi, çapraz doğrulama ile ve yalnızca eğitim verisi üzerinde denetlenmelidir.

SMOTE veri sızıntısına (data leakage) neden olur mu?

Yanlış uygulanırsa evet. SMOTE, veri bölünmesinden (train/test) önce tüm veriye uygulanırsa, test setine ait bilgi eğitim örneklerine sızar ve sınıflandırma performansı gerçekte olduğundan yüksek görünür. Doğru yöntem, veriyi önce ayırmak, ardından SMOTE'u yalnızca eğitim setine uygulamaktır; bu genellikle bir pipeline içinde yapılır.

SMOTE hangi problem türlerinde kullanılır?

Azınlık sınıfının seyrek ama önemli olduğu sınıflandırma problemlerinde: dolandırıcılık tespiti, tıbbi teşhis (nadir hastalıklar), müşteri kaybı tahmini, üretimde arıza/kusur tespiti ve anomali tespiti gibi senaryolar. Ortak nokta, kaçırılan azınlık örneğinin (örneğin gerçek bir dolandırıcılık) maliyetinin yüksek olmasıdır.

SMOTE yerine başka hangi yöntemler kullanılabilir?

Sınıf ağırlıklandırma (class weights), maliyet-duyarlı öğrenme, azınlık sınıfını büyütmek yerine çoğunluk sınıfını küçültme (undersampling), eşik ayarı ve ADASYN veya Borderline-SMOTE gibi SMOTE varyantları alternatiflerdir. En iyi seçim veri yapısına, gürültü düzeyine ve iş problemine göre çapraz doğrulama ile belirlenir.

Özetle: SMOTE Nedir?

Özetle smote nedir sorusunun cevabı şudur: dengesiz veri kümelerinde azınlık sınıfına komşu örnekler arasında ara değerlerle yeni sentetik örnekler üreterek sınıf dengesizliğini gideren bir aşırı örnekleme yöntemi. Amacı, modelin nadir ama kritik örnekleri görmezden gelmesini engellemek ve sınıflandırma performansını yükseltmektir. Doğru kullanım yalnızca eğitim verisine uygulamayı ve sonuçları çapraz doğrulama ile denetlemeyi gerektirir. Temel için makine öğrenmesi nedir ve veri bilimi nedir rehberlerine göz atabilir, kurumsal bir veri/model stratejisi için yapay zeka danışmanlığı ile başlayabilirsiniz.

Danismanlik Baglantilari

Bu yazıya en yakın consulting sayfaları

Bu içerikten sonraki mantıklı adım için en ilgili solution, role ve industry landing'lerini burada görebilirsin.

Yorumlar

Yorumlar