Home / Veri Madenciliği / Medyan Nedir? Medyan Nasıl Bulunur? – Veri Madenciliği Dersleri

Medyan Nedir? Medyan Nasıl Bulunur? – Veri Madenciliği Dersleri

Veri Madenciliği dersleri kapsamında literatüre hakim olmak çok önemlidir. Veri Madenciliği derslerinde teoriden çok uygulamaya yönelmemiz gerekiyor. Ancak bir takım terimlerin anlamını da bilmemiz çok önemli. Medyan (Median) Veri Madenciliğine has bir terim değildir. İstatistikle uğraşanlar çok iyi bileceği bir kavram olan Medyan ortanca eleman demektir.

Yanlış anlamaya müsait olduğu için önemle vurgulamak gerekir ki Medyan kesinlikle aritmetik ortalama demek değildir. Var olan sayılar içerisinde ortada yer alan eleman demektir.

Veri Madenciliğinde Medyan bulmak için elimizde var olan sayıları küçükten büyüğe sıralamamız çok önemlidir. Medyan, küçükten büyüğe sıralı elemanlar içerisindeki ortanca elemandır. Yani elimizde sıralı olmayan sayılar bulunuyorsa o sayıları küçükten büyüğe sıralamamız gerekmektedir.

Veri Madenciliği ile ilgili yazılım üretirken bunun nasıl kodlanacağı önemli bir konudur. Bu konulara ileride gireceğiz ancak şimdilik elimizde birden çok sayı barındıran bir dizi veri yapısı sahip olduğumuzu düşüneceğiz. Dizideki sayıları (dizideki sayılar int de olabilir double’da. Veri madenciliğinde sık sık double veri tipini kullanacağız) sıralamak için sıralama algoritmaları kullanmanız gerekmektedir.

 

Medyan Bulma Örnek (tek sayıdaki sayılar için)

Medyan bulurken dikkat etmemiz gereken 2 temel unsur vardır. Bir tanesi sayıların sıralı olmasıdır. Bundan zaten bahsettik. İkincisi ise elimizdeki sayı adetinin tek sayıda mı yoksa çift sayıda mı olduğudur. Eğer elimizde tek sayıda sayı bulunuyorsa tam ortada yer alan sayı bizim medyan’ımızdır. Yani;

1 5 6 7 23 45 87

Yukarıda toplam 7 adet sayıdan oluşan bir sayı dizimiz vardır. 7 tek sayı olduğu için tam ortadaki sayı bize Medyanı verir. Medyan ifadesi Q2 olarak da isimlendirilecektir.

Biraz daha teknik bakacak olursan double Dizi[7] diye bir dizide bu elemanlarımızın bulunduğunu varsayalım. Medyanımızın bulunduğu indisi şu şekilde bulabiliriz;

double Medyan = Dizi[Dizi.length / 2];

dikkat ederseniz Dizi.length değeri bize 7’yi verir. Dizi.length/2 bize 3.5 değil 3 değerini döndürür. Çünkü dizi uzunluğunu bulan fonksiyonlar integer değer döndürürler. Yukarıdaki örnekten sağlamasını yaparsanız dizinin 3. indisinde medyanın yer aldığını görebilirsiniz.

Medyan Bulma Örnek (Çift sayıdaki sayılar için)

Eğer elimizdeki sayıların adet toplamları çift sayıda ise Medyan bulma işlemi değişir. Çünkü tam ortaya denk gelen bir eleman yoktur. Hemen aşağıdaki örneğe bakalım.

1 5 6 | 7 45 87

Tam ortaya denk gelen kısma bir çizgi çektik. Orada sayı yok ama medyanın orada olması gerekiyor. Bu yüzden bu sayı dizisinin medyanı hayali çizginin sağındaki ve solundaki sayıların tam ortası olur.

Yani (6 + 7) / 2 = 6.5

6.5 değeri bizim medyanımızdır. Peki bunu kodlarken nasıl halledeceğiz?

Bunu değişik şekillerde yapabiliriz ama ben şu şekilde öneriyorum.

Double SoldakiSayi = Dizi[(Dizi.Length / 2 ) – 1];

Double SagdakiSayi = Dizi[(Dizi.Length / 2 )];

return (SoldakiSayi + SagdakiSayi) / 2

Dizi boyutunun 6 olduğına, medyanın solundaki sayının indisinin 2. indir, sağındaki sayının indisinin 3. olduğuna dikkat edin. Bu örnek tüm durumlar için de geçerli olacaktır.

 

Medyan bulmayla ilgili kod yazarken mutlaka ama mutlaka dizinin uzunluğunu kontrol etmeli ve bu durumlara göre medyan bulmaya dikkat etmelisiniz. Yazılımcının işi teorideki anlatımlarla bitmez gerekli tüm ihtimalleri kontrol etmelidir. Medyan bulma işlemleri genel olarak bu şekilde yapılmaktadır.

Bir cevap yazın

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