Dark

Light

Dark

Light

Scroll to top
İletişime Geçelim
4. Levent, İstanbul
iletisim@oguzerdogan.com
Skype: obadus
İş Teklifleri
work@oguzerdogan.com

Python ile Aykırı Gözlem Analizi (Outlier Detection)

Bu yazıyı okumadan önce müzik önerisi :

Merhabalar, daha önce veri ön işleme adımlarından bahsetmiştim. Bu yazımda karşılaştığımız aykırı değerlerle başa çıkmada kullandığımız yöntemleri uygulamaya döküyorum.

Bu çalışmada Python dilini kullanıyorum ve JupyterLab notebook’u üzerinden işlemlerimi yapacağım.

Hatırlatmak maksadıyla aykırı gözlem ve aykırı değer tanımlarını tekrardan ele alalım.

Aykırı Gözlem : Bir veri setindeki gözlemlerin geri kalanından büyük ölçüde farklı olan gözlemlerdir. Diğer bir tanımla genel eğilimin oldukça dışına çıkan gözlemdir.

Aykırılığı ifade eden nümerik değer aykırı değer,

Aykırı değeri barından gözlem birimi ise aykırı gözlem olarak tanımlandırılır.

Peki bu aykırı gözlemler nelere sebep olabiliyor ?

Genellenebilirlik kaygısı ile oluşturulan kural setlerini ya da fonksiyonları yanıltır. Yanlılığa sebep olur.

Gördüğümüz gibi ilk grafikteki mavi ile gösterilen doğrunun eğimi negatif yönde fakat ikinci grafikteki doğrunun yönü üst kısımdaki aykırı gözlemler sebebiyle değişmiş ve pozitif yönde. Bu aykırı gözlemler bir yanlılığa sebep olmuş.

Gelin şimdi örnek bir veri seti üzerinden bu aykırı gözlemleri yakalayıp datamızın derinliklerine gömelim.https://www.oguzerdogan.com/media/0b8e06e0431b8fbeac1f0070efc91596

İşin sadece mantığını göstermek için örnek bir data seçtim.

Datamızı çektik ve bakmak istediğimiz outlierlar için “ acceleration “ değişkenini seçtik.

Aykırı gözlemleri görselleştirmek için bir çok teknik var biz burada en yaygın olan Kutu Grafiği ( Box Plot ) kullanacağız.

Şimdi “df_acc” olarak tanımladığımız “acceleration” değişkeninin aykırı gözlemlerini box plot yardımıyla inceleyelim.

Gördüğünüz gibi alt ve üst sınırların dışında aykırı gözlemlerimiz bulunuyor.

Aykırı Gözlemleri Belirleme

Interquartile Range, IQR Yöntemi

Aykırı gözlemleri belirleyebilmemiz için box plotta gördüğünüz gibi sınır değerlerini tanımlamamız gerekiyor. Bunun için IQR tekniğini kullanıyoruz.

Q1, değişkenin ilk çeyrelik kısmı ( 0.25 )

Q3, değişkenin üçüncü çeyrekliği oluyor ( 0. 75 )

Q3-Q1 ile IQR değerini hesaplıyoruz.

Q1-Q3-IQR tamam şimdi sırada alt sınır ve üst sınır değerlerinde.

  • Alt sınır : 1–1.5*IQR
  • Üst sınır : 3 + 1.5*IQR

Alt sınırın altındaki ve üst sınırın üstündeki değerler aykırı değer olarak tanımlanacak.

Kodlarımızı yazalım :

Evet sınır değerlerimizi belirledik ve sınırların dışında kalan 9 tane gözlemimiz olduğunu gördük. Bunlara bakmak için;

Aykırı gözlemleri bu şekilde buluyoruz şimdi aykırı gözlemlere yapılan temel işlemleri ele alalım.

1. Silme

Gördüğünüz gibi 398 tane olan gözlem sayımızdan aykırı değerleri çıkartarak 389 gözleme düşürdük.

Burada dikkat edilmesi gereken konu, değişkenleri asıl “accelaration” değişkeninden silmedik. aykırı gözlemlerin olmadığı yeni bir değişken tanımladık.

2. Ortalama İle Doldurma

Bu aşamada tüm aykırı değerleri değişkenin ortalaması ile değiştirdik.

3. Baskılama Yöntemi

Aykırı gözlemlerin aykırılığı konusunda emin değilsek ya da verideki modelde aykırı gözlemlerin de etkisini biraz hissettirmek istiyorsak bu yöntemi kullanıyoruz. Nedir bu yöntem ? Alt sınır ve üst sınır değerleri belirlemiştik.

Bu yöntemde alt sınırı aşan aykırı değeri alt sınıra, üst sınırı aşan aykırı değeri ise üst sınır değerine eşitliyoruz ve verisetinin özünü bozmamaya çalışıyoruz.


Evet bu kadar. Bu yazımda sizlere;

  • Aykırı gözlemi,
  • Aykırı gözlemin sebep olduklarına,
  • Aykırı gözlem değerlerini bulmayı,
  • Aykırı gözlem değerleri üzerinde yapılabilecek temel işlemleri anlatmaya çalıştım.

Kendimi veri bilimi öğrencisi olarak görüyorum ve bu yazıları paylaşma sebebim sizlere bunları gösterirken bir yandan da kendimin pekiştirmesi.

Eğer varsa; hatalarımı, öneri ve görüşlerinizi yorum olarak belirtebilirsiniz.

Author avatar
Oğuz
https://www.oguzerdogan.com
Merhaba ben Oğuz. Kişisel web siteme hoşgeldin. Burada Veri Bilimi & Makine Öğrenmesi çalışmalarımı paylaşıyorum.

Post a comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Size en iyi deneyimi sunabilmek için çerezleri kullanıyoruz.