Anasayfa / Makine Öğrenmesi / Kümeleme / Veri Madenciliğinde Kümeleme (Clustering)

Veri Madenciliğinde Kümeleme (Clustering)

√Kümeleme sınıflandırmadan farklı olarak denetimsiz/eğitimsiz bir yöntemdir. Sınıflandırmada bir hedef değişken vardır ve veri setinin bir kısmı eğitim için ayrılır, modelin öğrenmesini sağlanır. Bu öğrenmeye göre aynı niteliklere sahip yeni bir nesnenin hangi sınıfa dahil olacağı tahmin edilir. Kümelemede ise hedef değişken yoktur dolayısıyla sınıf da yoktur. Sınıflandırmada amaç benzer nesneleri aynı sınıfa dahil etmek iken; kümelemede amaç benzer nesneleri aynı grupta toplamaktır. Örneğin; Kırşehirliler buraya, psikopatlar oraya, salağa yatanlar öbür tarafa gibi. Sınıflandırmada zaten bir salağa yatan tayfa vardır ve bunlar benzer, ortak özellikler taşıyordur, boynu bükük durmak, sessiz davranmak, aşırı uyumlu görünmek gibi. Yeni biriyle karşılaştığımızda bu kişinin özellikleri en çok salağa yatanlar ile benzeşiyor ise “Haa! bak bu da salağa yatanlardan” diye sınıflandırırız.

Kümelemede kaç grup oluşacağı verinin içindeki nesnelerin birbirine benzerlik derecesine göre değişir. Örneğin 100 kişilik bir grupta herkesin adı Ahmet ve yaşı da 30 ise bu grubu ancak tek kümeye ayırabiliriz. Farklı kümelerin oluşması için nesnelerin tamamen birbirine benzememesi çok fazla da birbirinde ayrı olmaması gerekir. Herkesin adı Ahmet olsun ancak yaşlar farklı olsun. İşte şimdi bu grubu yaşlara göre kümeleyebiliriz. Çocuk, genç, orta yaş, yaşlı gibi. Peki isimler farklı olsa ne olur? Fark eden pek bir şey olmaz çünkü iki yaşın birbirine ne kadar yakın ve uzak olduğunu ölçebiliriz ancak isimlerle bunu yapamayız. Öyleyse bu örnekte isim niteliğini kümelemek için kullanamayız. Peki isimden vazgeçtim sadece yaşa göre kümeleyelim, kaç küme olacak? 100 kişilik grupta diyelim ki 40 farklı yaş olsun. Ne yapacağız 40 farklı küme mi oluşturacağız yoksa 4 mü 14 mü? İşte bu noktada işleri biraz daha kolaylaştırmak için kullanıcı katkısı alınır. Az önceki örneğimizde yaşlara göre dört küme belirleyelim demiştik. Biz kümeleme algoritmasına 4 küme yap dediğimizde o da işini ona göre yapacaktır. 14 küme yap deseydik bile 100 kişilik grubu 14 kümeye ayıracaktı elbet. Ancak 14 kümeyi yorumlarken zorlanabiliriz. Ne iş göreceğiz 14 yaş kümesiyle mesela. Ancak 4 gibi makul bir sayı belirlersek yorumlanabilirliği ve faydası daha çok olan bir küme elde etmiş oluruz. Çocuklara şunu yapalım, gençlere şunu verelim, yaşlılar böyle yapsın gibi. Küme sayısını sezgisel olarak belirlemenin yanında bir çok yöntemle de belirlenebilir. Ancak sorumluluk araştırmacıdadır 🙂

Benzerlik ve Uzaklık

Kümelemede sık sık kullanılan iki kavram: benzerlik ve uzaklık. Benzerlik ve uzaklık farklı kavramlar önce onu belirtelim. Ben de belli bir zamana kadar ikisinin farkını tam anlayamamıştım, umarım şimdi anlamışımdır. İkisini de ölçen farklı yöntemler var. Nesneleri birbirine benzerliklerine göre bir kümede toplarız demiştik. Makineler rakamlardan anlar, biz de makineye uzaklık ve benzerliği anlatmak için işi rakamlara dökmeliyiz. Elimizdeki veriyi saçılma diyagramına saçalım ve birbirine yakın nesneler aynı kümededir diyelim. Analitik uzayda iki nokta (her nokta bir nesneyi temsil eder) arası uzaklığı birbirine yakın olan nesneler aynı kümede toplanabilir deriz. Aynı kümede olan nesneler olabildiğince birbirine yakın diğer kümelerden ise uzak olmalıdır. Peki nesneler iki boyutlu analitik uzayda temsil edilebilecek kadar basit iki niteliğe sahip değil ise uzaklığı nasıl hesaplayacağız?

UZAKLIK

Numerik nitelikler için Öklid (Euclid)  sağolsun buna çözüm bulmuş. Öklid mesafesi, çok boyutlu uzayda nesnelerin birbirine olan uzaklığıdır. İki nesne ne kadar birbirine yakın ise öklit uzaklığı da o kadar sıfıra yakın olur. İki nesne arasındaki mesafe Euclid’e göre:

 İkiNesneArasıMesafe = NiteliklerArasıFarklarKarelerToplamı

a ve b iki ayrı nesne olsun bu nesnelerin i=1,2,3… z’ye kadar nitelikleri olsun.

$ mes(a,b)=\sqrt { \sum _{ i=1 }^{ z }{ ({ a }_{ i }-{ b }_{ i })^{ 2 } } } $

a = {1,2,3} ve b = {4,5,6} ikisi arasındaki mesafeyi hesaplayalım:

$ mes(a,b)=\sqrt { (1-4)^{ 2 }+(2-5)^{ 2 }+(3-6)^{ 2 } } $
$ mes(a,b)=\sqrt { 9+9+9 } $
$ mes(a,b)=5,19 $

Nitelikler nümerik değil ise başka yöntemler de kullanılabilir. Örneğin; Hamming.

BENZERLİK

Benzerlik ise iki nokta arasındaki mesafenin tersi bir anlama sahiptir. Benzerlik konusunda farklı ölçüm yöntemleri olsa da genel formülü şu şekilde ifade edebiliriz.

$ ikiNesneArasiBenzerlik = \frac { 1 }{ 1+ikiNoktaArasiMesafe }  $

Benzerliği ölçmek için kullanılan yöntemlerden bazıları şunlardır: Dice, Jaccard, Kosinüs (Cosine), Pearson ve Overlap. Kosünüs için örneğimizi burada yapalım. Kosinüs formülü:

$ { Benzerlik(a,b) }_{ KOSINUS}=\frac { \sum _{ i=1 }^{ n }{ { a }_{ i }b_{ i } } }{ \sqrt { \sum _{ i=1 }^{ n }{ { a }_{ i }^{ 2 } } } \sum _{ i=1 }^{ n }{ { b }_{ i }^{ 2 } } }  $

Rakamları formüldeki yerine koyalım:

$ { Benzerlik(a,b) }_{ KOSINUS }=\frac { (1*4)+(2*5)+(3*6) }{ \sqrt { \left[ { 1 }^{ 2 }+2^{ 2 }+3^{ 2 } \right] \left[ { 4 }^{ 2 }+5^{ 2 }+6^{ 2 } \right] } } = \frac { 32 }{ 32,83 } = 0,97 $

Hakkında Erkan ŞİRİN

2014'ten beri hem akademik hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Halihazırda İmpektra Bilişim A.Ş.'de büyük veri yöneticisi olarak çalışmakta olup aynı zamanda Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisidir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete eğitimler vermekte ve projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama sürecidir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

R ile Zaman Serileri Çözümlemesi Bölüm 3 (Ayrıştırma Yöntemleri)

Merhaba Veri Bilimi Okulu sevenler bu yazımızda zaman serisi modellerinden olan Ayrıştırma Yöntemlerinden bahsedeceğiz. Bir …

Bir cevap yazın

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