Anomaliler ve aykırı değerler nedir?

Python ile Anomali Tespiti

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

İç değerler vs. aykırı değerler

  • Anomali tespiti: anormal veri noktalarını bulma
  • İç değerler (inliers):
    • "Normal" veri noktaları
    • Çoğunluğu temsil eder
  • Aykırı değerler (outliers):
    • Çok nadir görülür
    • İstatistiksel olarak farklıdır

Aykırı değerlere iki örnek: yeşil bir tarlada tek kırmızı lale ve beyaz çubuklardan ayrılmış tek siyah çubuk

Python ile Anomali Tespiti

Bir anomali olarak Dünya

Tüm gezegenler iç değerdir

Samanyolu galaksisinin çok uzaktan görüntüsü.

Yalnızca Dünya aykırı değerdir

Atmosferin mercek etkisiyle gezegende yaşam olduğunu yansıtan Dünya görseli.

Python ile Anomali Tespiti

İstatistiksel tanım

  • Alışılmadık ölçüde farklı
  • Özellikleri belirgin biçimde ayrılır
  • Bir veri noktasının aykırı olup olmadığına gözlemci karar verir
Python ile Anomali Tespiti

Anomali tespitinin kullanım alanları

"security" metni ve üzerine gelen fare imlecinin görseli.

Python ile Anomali Tespiti

Anomali tespitinin kullanım alanları

Mavi eldivenli bir elin içinde mavi sıvı bulunan küçük bir kimyasal kap tuttuğu görsel.

Python ile Anomali Tespiti

Anomali tespitinin kullanım alanları

Bir erkeğin Visa kartını, ödeme terminali tutan bir kadına uzattığı görsel.

Python ile Anomali Tespiti

Örnek veri

import pandas as pd

numbers = pd.Series([24, 46, 30, 28, 1289, 25, 21, 31, 48, 47])
Python ile Anomali Tespiti

Etkilenen ortalama ve varyans

Aykırı değer çıkarılmış veri

numbers_a = pd.Series([24, 46, ...])
numbers_a.mean()
33.33
numbers_a.var()
114.5

Aykırı değer içeren veri

numbers_b = pd.Series([1289, 24, ...])
numbers_b.mean()
158.9
numbers_b.var()
157771.65
Python ile Anomali Tespiti

Eğitim verisindeki anomaliler

  • Anomaller gürültü yaratır
  • Yeni bir alt grup sanılabilir
  • Gerçek örüntülerden dikkati çeker
Python ile Anomali Tespiti

Aykırı değer vs. yenilik tespiti

Aykırı değer tespiti

  • Aykırı değerler yalnızca eğitim verisinde bulunur

Yenilik (novelty) tespiti

  • Yenilikler yalnızca yeni veride bulunur
Python ile Anomali Tespiti

5 sayı özeti

import pandas as pd

big_mart = pd.read_csv("big_mart.csv")
sales = big_mart['sales']
sales.describe()
count     8523.000000
mean      2181.288914
std       1706.499616
min         33.290000
25%        834.247400
50%       1794.331000
75%       3101.296400
max      13086.964800
Python ile Anomali Tespiti

Histogram çizme

import numpy as np
import matplotlib.pyplot as plt

# Satışların uzunluğunun karekökünü bulun
n_bins = np.sqrt(len(sales))
# Tamsayıya çevirin
n_bins = int(n_bins)


# Çizim plt.figure(figsize=(8, 4)) plt.hist(sales, bins=n_bins, color='red')
Python ile Anomali Tespiti

Ortaya çıkan histogram

Kırmızı sütunlu ve sağ kuyruğu uzun ürün satışları histogramı.

Python ile Anomali Tespiti

Saçılım grafiği çizme

integers = range(len(sales))

plt.figure(figsize=(16, 8))
plt.scatter(integers, sales, c='red', alpha=0.5)
Python ile Anomali Tespiti

Ortaya çıkan saçılım grafiği

Alt yarıda yoğun, yukarı doğru seyrelmiş bir nokta bulutu gösteren saçılım grafiği.

Python ile Anomali Tespiti

Hadi pratik yapalım

Python ile Anomali Tespiti

Preparing Video For Download...