Ana içeriğe atla

Veri Kayması ve Model Kayması: Python ile Kayma Tespiti

Model kaymasının risklerini yönetin ve veri kayması izlemesine yönelik pratik rehberimizi keşfedin.
Güncel 22 Nis 2026  · 9 dk. oku

"Kayma" terimi, üretimdeki bir makine öğrenimi modelinin performansının zamanla yavaşça kötüleşmesini tanımlamak için kullanılır. Bu, zaman içinde giriş verilerinin dağılımının değişmesi ya da giriş (x) ile hedef (y) arasındaki ilişkinin değişmesi gibi çeşitli nedenlerle meydana gelebilir. 

Gerçek dünyada makine öğrenimini kullandığımızda, veriler dinamik ve sürekli değiştiği için kayma büyük bir sorun olabilir. Bu makalede modellerin neden kaydığına, farklı kayma türlerine, bunları tespit etmek için kullanılan algoritmalara derinlemesine bakacağız ve sonunda Python ile açık kaynaklı bir kayma tespiti uygulamasıyla yazıyı tamamlayacağız.

Kayma Nedir?

Makine öğrenmesi modelleri geçmiş verilerle eğitilir, ancak gerçek dünyada kullanılmaya başlandıklarında kayma adı verilen bir olgu nedeniyle zamanla güncelliğini yitirip doğruluklarını kaybedebilirler. Kayma, bir makine öğrenmesi modelini eğitmek için kullanılan verilerin istatistiksel özelliklerinin zaman içindeki değişimidir. Bu durum, modelin daha az doğru hale gelmesine veya tasarlandığından farklı performans göstermesine neden olabilir. 

Başka bir deyişle, "kayma" bir modelin kullanıldığı ortamda yaşanan değişiklikler nedeniyle doğru tahmin yapma yeteneğinin azalmasıdır.

Makine Öğrenmesi Modelleri Neden Kayar?

Makine öğrenmesi modellerinin zamanla kaymasına yol açabilecek çeşitli nedenler vardır. 

Yaygın bir neden, modelin eğitildiği verilerin güncelliğini yitirmesi veya mevcut koşulları artık temsil etmemesidir. 

Örneğin, geçmiş verilere dayanarak bir şirketin hisse senedi fiyatını tahmin etmek üzere eğitilmiş bir makine öğrenmesi modelini düşünün. Modeli istikrarlı bir piyasa verileriyle eğitirsek, başlangıçta iyi performans gösterebilir. Ancak piyasa zaman içinde daha dalgalı hale gelirse, verilerin istatistiksel özellikleri değiştiği için model artık hisse fiyatını doğru tahmin edemeyebilir.

Model kaymasının bir diğer nedeni, modelin verilerdeki değişiklikleri ele alacak şekilde tasarlanmamış olmasıdır. Bazı makine öğrenmesi modelleri veri değişimlerini diğerlerinden daha iyi yönetir, ancak hiçbir model kaymayı tamamen önleyemez. 

Kayma Türleri

Dikkate alınması gereken iki farklı kayma türünü inceleyelim:

1. Kavram Kayması

Model kayması olarak da bilinen kavram kayması, modelin gerçekleştirmek üzere tasarlandığı görevin zamanla değişmesi durumunda ortaya çıkar. Örneğin, bir makine öğrenmesi modeli e-postanın içeriğine göre istenmeyen e-postaları tespit etmek üzere eğitilmiş olsun. İnsanların aldığı spam türleri önemli ölçüde değişirse, model artık spam’i doğru tespit edemeyebilir.

Kavram Kayması dört kategoriye ayrılabilir (Learning under Concept Drift: A Review, Jie Lu ve diğ.):

  • Ani Kayma
  • Kademeli Kayma
  • Artımsal Kayma
  • Tekrarlayan Kavramlar

Kavram Kayması

Kaynak: https://arxiv.org/pdf/2004.05785.pdf

2. Veri Kayması

Eşdeğer kovaryat kayması olarak da bilinen veri kayması, giriş verilerinin dağılımının zamanla değişmesi durumunda ortaya çıkar. Örneğin, yaşı ve geliri temel alarak bir müşterinin bir ürün satın alma olasılığını tahmin etmek üzere eğitilmiş bir modeli düşünün. Müşterilerin yaş ve gelir dağılımı zaman içinde önemli ölçüde değişirse, model artık satın alma olasılığını doğru tahmin edemeyebilir.

Hem kavram kaymasının hem de veri kaymasının farkında olmak ve etkilerini önlemek veya hafifletmek için adımlar atmak önemlidir. Bu kapsamda bazı stratejiler, bir modelin performansını sürekli izlemek ve değerlendirmek, modeli yeni verilerle güncellemek ve kaymaya karşı daha dayanıklı makine öğrenmesi modelleri kullanmaktır.

Kayma gibi dağıtımdan sonra veri bilimi konuları hakkında daha fazla bilgiyi DataFramed podcast bölümümüzde bulabilirsiniz. 

Kayma Nasıl Tespit Edilir?

Kaymayı tespit etmenin iki yolu vardır:

1. Makine Öğrenmesi Modeli Tabanlı Yaklaşım: Gelen giriş verilerinin kayıp kaymadığını tespit etmek için model tabanlı yaklaşım.

2. İstatistiksel Testler: Veri kaymasını tespit etmek için birçok istatistiksel test vardır. Bunlar temel olarak üç kategoriye ayrılır: 

    • Sıralı analiz yöntemleri 
    • Kaymayı tespit etmek için özel model 
    • Çok yaygın olan zaman dağılımı yöntemi. 

Zaman dağılımı tabanlı yöntemler, kaymayı tespit etmek için iki olasılık dağılımı arasındaki farkı istatistiksel yöntemlerle hesaplar. Bu yöntemler arasında Nüfus Kararlılık İndeksi, KL Diverjansı, JS Diverjansı, KS Testi ve Wasserstein Metrik yer alır. 

Veri Kaymasını Tespit Etme Algoritmaları

Kolmogorov-Smirnov (K-S) testi

Kolmogorov-Smirnov (K-S) testi, iki veri kümesinin aynı dağılımdan gelip gelmediğini belirlemek için kullanılan parametrik olmayan bir istatistiksel testtir. Genellikle bir veri örneklemesinin belirli bir popülasyondan gelip gelmediğini test etmek ya da iki örneklemi karşılaştırarak aynı popülasyondan gelip gelmediklerini belirlemek için kullanılır.

Bu testteki sıfır hipotezi dağılımların aynı olduğudur. Bu hipotez reddedilirse, modelde kayma olabileceğini düşündürür.

K-S testi, veri kümelerini karşılaştırmak ve aynı dağılımdan gelip gelmediklerini belirlemek için yararlı bir araçtır.

Nüfus Kararlılık İndeksi

Nüfus Kararlılık İndeksi (PSI), iki farklı veri kümesinde bir kategorik değişkenin dağılımını karşılaştırmak için kullanılan istatistiksel bir ölçüdür. 

Nüfus Kararlılık İndeksi (PSI), bir değişkenin dağılımının iki örneklem arasında veya zaman içinde ne kadar değiştiğini ölçmek için kullanılan bir araçtır. Genellikle bir popülasyonun özelliklerindeki değişiklikleri izlemek ve bir makine öğrenmesi modelinin performansındaki olası sorunları belirlemek için kullanılır.

PSI, başlangıçta risk skorkartlarındaki bir puanın dağılımındaki değişimleri izlemek için geliştirilmiştir; ancak günümüzde bağımlı ve bağımsız değişkenler dahil olmak üzere tüm modelle ilişkili öznitelikler için dağılımsal kaymaları incelemede kullanılmaktadır. 

Yüksek bir PSI değeri, iki veri kümesindeki değişkenin dağılımları arasında önemli bir fark olduğunu gösterir; bu da modelde kayma olduğu anlamına gelebilir. 

Bir değişkenin dağılımı önemli ölçüde değişmişse veya birkaç değişken bir ölçüde değişmişse, performansı artırmak için modeli yeniden kalibre etmek veya yeniden kurmak gerekebilir.

Page-Hinkley yöntemi

Page-Hinkley yöntemi, zaman içinde bir veri serisinin ortalamasındaki değişiklikleri tespit etmek için kullanılan istatistiksel bir yöntemdir. Genellikle makine öğrenmesi modellerinin performansını izlemek ve model kaymasına işaret edebilecek veri dağılımındaki değişiklikleri tespit etmek için kullanılır.

Page-Hinkley yöntemini kullanmak için ilk adım bir eşik değeri ve bir karar fonksiyonu tanımlamaktır. Eşik değeri, ortalamadaki değişimin anlamlı kabul edildiği değeri; karar fonksiyonu ise bir değişiklik tespit edilirse 1, edilmezse 0 döndüren fonksiyonu ifade eder.

Ardından, her zaman adımında veri serisinin ortalaması hesaplanır ve bir değişim olup olmadığını belirlemek için karar fonksiyonu veriye uygulanır. Karar fonksiyonu 1 döndürürse, bir değişimin tespit edildiğini ve modelin kaymakta olabileceğini gösterir.

Page-Hinkley yöntemi, bir veri serisinin ortalamasındaki değişimleri zaman içinde tespit etmenin basit ve etkili bir yoludur. Veriye bakıldığında hemen fark edilmeyebilecek küçük ortalama değişimlerini tespit etmek için özellikle kullanışlıdır. Ancak, yöntemin verideki değişimleri yeterince duyarlı bir şekilde tespit etmesini ve yalancı alarmlar üretmeyecek kadar da temkinli olmasını sağlamak için eşik değeri ve karar fonksiyonunun dikkatle seçilmesi önemlidir.

Python ile Kayma Tespiti Uygulaması

Bu bölümde kaymayı tespit etmek için Evidently kullanacağız. Evidently, makine öğrenmesiyle çalışan veri bilimciler ve mühendisler için geliştirilmiş, açık kaynaklı bir Python kütüphanesidir. Modellerin doğrulamadan üretime kadar ne kadar iyi çalıştığını test etmeye, değerlendirmeye ve takip etmeye yardımcı olur.

Kitaplıkları İçe Aktarın

```

# import libraries

import pandas as pd

import numpy as np

from sklearn import datasets


from evidently.report import Report

from evidently.metrics import DataDriftTable

from evidently.metrics import DatasetDriftMetric

```

Veri Kümesini İçe Aktarın ve Referans ile Hedef Bölümleri Oluşturun

```

# create ref and cur dataset for drift detection

adult_data = datasets.fetch_openml(name='adult', version=2, as_frame='auto')

adult = adult_data.frame




adult_ref = adult[~adult.education.isin(['Some-college', 'HS-grad', 'Bachelors'])]

adult_cur = adult[adult.education.isin(['Some-college', 'HS-grad', 'Bachelors'])]




adult_cur.iloc[:2000, 3:5] = np.nan

```

Kayma Raporu Oluşturun

```

#dataset-level metrics

data_drift_dataset_report = Report(metrics=[

    DatasetDriftMetric(),

    DataDriftTable(),    

])

data_drift_dataset_report.run(reference_data=adult_ref, current_data=adult_cur)

data_drift_dataset_report

```

Kayma Tespiti Panosu

Kayma Tespiti Panosu - EvidentlyAI kullanılarak oluşturulmuştur

Kayma Raporunu JSON formatında dışa aktarın

```

#report in a JSON format

data_drift_dataset_report.json()

```

Tam Datacamp Defterine buradan göz atın.

Sonuç

Veri ve model kayması, üretimdeki makine öğrenmesi sistemleri için önemli zorluklar oluşturabilir. Kaymanın nedenlerini ve etkilerini anlayarak ve etkili kayma izleme uygulamaları hayata geçirerek, modellerinizin zaman içinde doğru ve güvenilir kalmasını sağlayabilirsiniz. 

Modellerinizin performansını izlemek, bir kayma tespit modeli kullanmak ve güncellenmiş verilerle düzenli olarak yeniden eğitmek, kayma risklerini azaltmak için izleyebileceğiniz en iyi uygulamalardan sadece birkaçıdır. Kayma izlemede proaktif davranarak, makine öğrenmesi sisteminizin kuruluşunuza değer sunmaya devam etmesini sağlayabilirsiniz.

Makine öğrenmesi modellerini kayma açısından izlemek, MLOps adı verilen daha geniş bir alanın yalnızca bir yönüdür. MLOps kavramlarını anlamak, makine öğrenmesi modellerini yerel bir defterden üretimde çalışan bir modele taşımak isteyen her veri bilimci, mühendis veya lider için esastır. 

Kariyerinizde MLOps’u derinlemesine anlamak ve size nasıl fayda sağlayabileceğini görmek isterseniz, MLOps Concepts kursumuza göz atın. Burada MLOps’un ne olduğunu, MLOps süreçlerindeki farklı aşamaları ve MLOps olgunluğunun farklı seviyelerini öğreneceksiniz. Temel MLOps kavramlarını öğrendikten sonra, makine öğrenmesini kesintisiz, güvenilir ve verimli bir şekilde uygulama yolculuğunuzda donanımlı olacaksınız.

Kayma Tespiti SSS

Makine öğrenmesi modeli kayması nedir?

Makine öğrenmesi modeli kayması, bir modelin yeni veriler üzerindeki performansının, eğitildiği eğitim verileri üzerindeki performansından farklı olmasıdır. Bu durum; veri dağılımının zaman içinde değişmesi, modele eklenen ve orijinal varsayımlara uymayan yeni veriler ya da modelin değişen koşullara uyum sağlayamaması gibi çeşitli nedenlerle ortaya çıkabilir.

Model kayması neden bir sorundur?

Model kayması, bir makine öğrenmesi modelinin performansını ve doğruluğunu önemli ölçüde etkileyebilir. Modelin tahminleri daha az güvenilir hale geldikçe, olumsuz sonuçlara yol açabilecek yanlış kararlar veya eylemler ortaya çıkabilir. Örneğin sağlık alanında model kayması yanlış teşhis veya tedavi önerilerine, finans alanında ise kötü yatırım kararlarına neden olabilir.

Model kayması nasıl tespit edilir?

Bir modelin kayıp kaymadığını belirlemenin çeşitli yolları vardır; istatistiksel testler, kayma tespit algoritmaları ve model performansının izlenmesi bunlardan bazılarıdır. Bu yöntemlerin bir kısmı gerçek zamanlı kayma tespiti için, bir kısmı ise belirli aralıklarla veya toplu değerlendirmeler için uygundur. Belirli uygulama ve veri ortamına uygun tekniği seçmek önemlidir.

Model kayması nasıl önlenir?

Model kaymasını önlemek; dikkatli model seçimi, düzenli izleme ve test etme ile proaktif müdahalelerin birleşimini gerektirir. Bu, kaymaya daha dayanıklı algoritmalar kullanmayı, modelleri yeni verilerle düzenli olarak yeniden eğitmeyi veya kayma tespit edildiğinde onu aktif biçimde ele alacak stratejiler uygulamayı içerebilir. Ayrıca kaymaya neden olabilecek faktörleri net bir şekilde anlamak ve bunları önlemek için adımlar atmak da önemlidir.

Veri dağılımı model kaymasını nasıl etkiler?

Veri dağılımı, bir makine öğrenmesi modelinin performansını önemli ölçüde etkileyebilir. Veri dağılımı zaman içinde değişirse model, ilk varsayımlarıyla uyuşmayan yeni verileri artık doğru tahmin edemeyeceğinden model kaymasına yol açabilir. Bu; verilerdeki doğal dalgalanmalar, yeni veri kaynaklarının eklenmesi veya veriyi üreten temel süreç ve sistemlerdeki değişiklikler gibi çeşitli şekillerde gerçekleşebilir.

Model kayması geri döndürülebilir mi?

Bazı durumlarda, modeli yeni verilerle yeniden eğiterek veya parametrelerini ayarlayarak model kayması tersine çevrilebilir. Ancak, veri dağılımı önemli ölçüde değişmişse ya da model aşırı karmaşık veya uzmanlaşmış hale gelmişse bu her zaman mümkün değildir. Bu gibi durumlarda yeni bir modelle baştan başlamak gerekebilir.

Model kayması tamamen ortadan kaldırılabilir mi?

Model kaymasını tamamen ortadan kaldırmak zor, hatta imkânsızdır. En dayanıklı ve iyi tasarlanmış makine öğrenmesi modelleri bile verilerdeki veya veriyi üreten temel süreçlerdeki değişimlerden etkilenebilir. En iyi yaklaşım, düzenli izleme, test etme ve müdahale yoluyla model kaymasının etkisini yönetmek ve azaltmaktır.

Model kayması model performansını nasıl etkiler?

Model kayması, bir makine öğrenmesi modelinin performansı üzerinde önemli bir etkiye sahip olabilir. Modelin tahminleri daha az doğru hale geldikçe, doğruluk, kesinlik, duyarlılık ve genel model etkinliği gibi önemli metriklerde düşüşe yol açabilir. Bazı durumlarda model kayması, modelin tamamen başarısız olmasına ve yanlış ya da güvenilmez tahminler üretmesine bile neden olabilir.

Model kayması model doğruluğunu nasıl etkiler?

Model kayması, bir makine öğrenmesi modelinin doğruluğunu olumsuz etkileyebilir. Modelin tahminleri daha az doğru hale geldikçe, gerçek dünyadaki uygulamalarda olumsuz sonuçlara yol açabilecek yanlış kararlar veya eylemler ortaya çıkabilir. Örneğin sağlıkta yanlış teşhis veya tedavi önerileri, finansta ise kötü yatırım kararları söz konusu olabilir. Modelin doğruluğunu korumak için model kaymasını düzenli olarak izlemek ve test etmek önemlidir.

Konular

MLOps Kursları

Kurs

MLOps Kavramları

2 sa
40.8K
MLOps ile makine öğrenmesi modellerini yerel not defterlerinden üretimde gerçek iş değeri yaratan işlevsel modellere dönüştürmeyi keşfedin.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow