BÖLÜMLEYCİ KÜMELEME ALGORİTMALARININ FARKLI VERİ

advertisement
BÖLÜMLEYCİ KÜMELEME ALGORİTMALARININ FARKLI VERİ
YOĞUNLUKLARINDA KARŞILAŞTIRMASI
Hussein Ali Ridha AL-ZAND
YÜKSEK LİSANS TEZİ
BİLGİSAYAR BİLİMLERİ
GAZİ ÜNİVERSİTESİ
BİLİŞİM ENSTİTÜSÜ
2013
ANKARA
Hussein Ali Ridha AL-ZAND tarafından hazırlanan BÖLÜNMELİ KÜMELEME
ALGORİTMALARININ
FARKLI
VERİ
YOĞUNLUKLARINDA
KARŞILAŞTIRMASI adlı bu tezin Yüksek Lisans tezi olarak uygun olduğunu
onaylarım.
Yrd. Doç. Dr. Hacer KARACAN
Tez Yöneticisi
Bu çalışma, jürimiz tarafından oy birliği ile Bilgisayar Bilimleri anabilim dalında
Yüksek lisans tezi olarak kabul edilmiştir.
Başkan : Doç. Dr. Erdoğan DOĞDU
Üye
: Doç. Dr. Suat ÖZDEMİR
Üye
: Yrd. Doç. Dr. Hacer KARACAN
Tarih : 31/10/2013
Bu tez, Gazi Üniversitesi Bilişim Enstitüsü tez yazım kurallarına uygundur.
TEZ BİLDİRİMİ
Tez içindeki bütün bilgilerin etik davranış ve akademik kurallar çerçevesinde
eldeedilerek sunulduğunu, ayrıca tez yazım kurallarına uygun olarak hazırlanan
buçalışmada orijinal olmayan her türlü kaynağa eksiksiz atıf yapıldığını bildiririm.
Hussein Ali Ridha AL-ZAND
iv
BÖLÜNMELİ KÜMELEME ALGORİTMALARININ FARKLI VERİ
YOĞUNLUKLARINDA KARŞILAŞTIRMASI
(YÜKSEK LİSANS TEZİ)
Hussein Ali Ridha AL-ZAND
GAZİ ÜNİVERSİTESİ
BİLİŞİM ENSTİTÜSÜ
Ekim 2013
ÖZET
Teknolojinin yaygın kullanılmasının neticesinde hacmi her geçen gün artan
büyük veri yığınları ortaya çıkmaya başlamıştır. Bu kadar büyük boyutta
verinin analizi ve içindeki herhangi bir bilgiye ulaşmak basit inceleme
yöntemleriyle oldukça zor olduğundan veri madenciliği devreye girmiştir. Veri
madenciliği, çok büyük veri tabanlarından, önceden bilinemeyen, geçerli ve
kullanılabilir bilginin çıkarılma işlemi olarak ifade edilmektedir. Başka bir
deyişle veri madenciliği, çok büyük veri tabanlarındaki ya da veri
ambarlarındaki veriler arasında bulunan ilişkiler, örüntüler, değişiklikler,
sapma ve eğilimler, belirli yapılar gibi ilginç bilgilerin ortaya çıkarılması
işlemidir.Veri madenciliği alanında son zamanlarda yaygın bir şekilde
kullanılan yöntemlerden biri kümeleme yöntemidir. Kümeleme, veri setindeki
bilgileri farklı kümelere ayırarak küme içindeki verilerin özelliklerinin
benzerlik oranı minimum ve kümeler arasında benzerlik oranını maksimum
yapmaktadır. Bu çalışmada bölümleyici kümeleme yöntemleri ele alınarak
farklı dağılımlı veri setleri üzerinde bölümleyici kümeleme algoritmalarının
karşılaştırması
gerçekleştirilmiştir.
Bölümleyici
kümeleme
algoritmaları
arasından "k-means" ve "kernel k-means" algoritmaları seçilmiştir. Farklı
dağılımlı veri setlerini kümeleyerek iki algoritmanın hızı, kümeleme kalitesi ve
v
bellek kaplaması açısından bilgiler elde edilmiş ve bu bilgiler ışığında iki
algoritmanın karşılaştırma sonuçları sunulmuştur.
Bilim Kodu
: 902,1.014
Anahtar Kelime : Kümeleme, veri madenciliği, kümelemealgoritmaları,Kmeans algoritması, kernel metotları, kümeleme analizi.
Sayfa Adedi
: 92
Tez Yöneticisi
: Yrd. Doç. Dr. Hacer KARACAN
vi
COMPARISON OF PARTITIONING-BASED CLUSTERING
ALGORITHMS ON DIFFERENTLY DISTRIBUTED DATA
(M.Sc. Thesis)
Hussein Ali Ridha AL-ZAND
GAZİ UNIVERSITY
INFORMATICS INSTITUTE
October 2013
ABSTRACT
As a result of widespreadtechnology usage, large volumes of collected data
began to emerge. It is impossible to discover and analyze any information in
such large data collection, so data mining comes into play. Data mining is a
process that discovers unpredictable and usable knowledge from databases. In
other words, data mining is the process of finding relation patterns, changes,
deviations and trends, as well as interesting information like specific structures
from large databases. One of the widely used data mining methods is clustering,
which divides the data set into different clusters while trying to make the
likelihood ratio as minimum inside the cluster and as maximum among other
clusters depending on the options in the database. In this study, partitioningbased clustering methods are compared by applying them on data sets with
different distribution patterns. We used k-means and kernel k-means
partitioning algorithms for clustering data sets. By applying clustering
operations on differently distributed data sets we compared the speed,
clustering quality and the size of memory used in clustering for these
algorithms. The information that we gathered by this comparison is presented
and discussed in the related sections of this thesis.
vii
Science Code : 902,1.014
Key Words : Clustering, data mining, cluster algorithms, K-means algorithm,
kernel methods, cluster analysis.
Page Number: 92
Adviser
: Assist. Prof. Dr. Hacer KARACAN
viii
TEŞEKKÜR
Bu araştırmanın konusu, deneysel çalışmaların yönlendirilmesi, sonuçların
değerlendirilmesi ve yazımı aşamasında yapmış olduğu büyük katkılarından dolayı
tez danışmanım Sayın Yrd. Doç. Dr. Hacer KARACAN, her konuda öneri ve
eleştirileriyle yardımlarını gördüğüm hocalarıma ve arkadaşlarıma teşekkür ederim.
Bu araştırma boyunca maddi ve manevi desteklerinden dolayı aileme teşekkür
ederim.
ix
İÇİNDEKİLER
ÖZET...........................................................................................................................iv
ABSTRACT ................................................................................................................vi
TEŞEKKÜR .............................................................................................................viii
İÇİNDEKİLER ...........................................................................................................ix
ÇİZELGELERİN LİSTESİ..........................................................................................xi
ŞEKİLLERİN LİSTESİ ............................................................................................xiii
SİMGELER VE KISALTMALAR ..........................................................................xiv
1. GİRİŞ .......................................................................................................................1
1.1.Literatürde yapılan çalışmalar.............................................................................3
2. Veri Madenciliği...................................................................................................... 7
2.1.Veri madenciliğinde bilgi keşif sürecinin aşamaları………………………….8
2.2.Veri Madenciliği modelleri……………………………………………….....9
2.2.1. Sınıflandırma Modelleri ve algoritmaları………………………..…....10
2.2.2. Kümeleme modelleri………………………….………………………14
3. Kümeleme Analizi ve Algoritmaları……………………..………………………15
3.1.Kümeleme Analizi……………………………………...…………………...15
3.1.1. Aralık – Ölçekli değişkenler………………………………………….20
3.1.2. Binary değişkenler…………………………………………………….21
3.1.3. Kategorik değişkenler……..………………………………………….22
3.1.4. Sıralı değişkenler………………..……………….……………………23
3.1.5. Oran - Ölçekli değişkenler……………………..……………………..25
3.1.6. Karışık değişkenler………………………………..…………..………26
x
3.2.Kümeleme algoritmaları…………………………………...………..………27
3.2.1. Sonek Ağaçları algoritması……………..…………………………….28
3.2.2. DBSCAN Algoritması (Density Based Spatial Clustering of
Applications with Noise)…………...…....…..…………………….….30
3.3.Bölümleyici kümeleme algoritmaları………………………...…………..…33
3.3.1. K-Medoid algoritması…………………………………..……………..34
3.3.2. Clara ve Clarans algoritması…………………………………..……...36
3.3.3. Fuzzy C-means Algoritması………………………………..…………38
3.3.4. K-Means Algoritması…………………………………….……..…….39
3.3.5. Kernel esaslı kümeleme ve Kernel k-means algoritması…………..…42
4. Uygulama………………………………………..……………………………….46
4.1.Program Ara Yüzü……….…………………………..…………..………….46
4.2.Karşılaştırma………………………..……………………………..………...54
4.2.1. Büyük veri setleri karşılaştırma sonuçları………………………….....56
4.2.2. Orta hacimli veri setleri karşılaştırma sonuçları…………………..….61
4.2.3. Küçük hacimli veri setleri karşılaştırma sonuçları……...……….…...65
5. Sonuç...…………..………………………..….………………………………….71
5.1.İki algoritmanın farklı yoğunluklu ve aynı hacimli veri setlerinde uygulama
sonucu karşılaştırması……………………………..………..……………….71
5.2.Algoritmaların farklı yoğunluklu ve farklı hacimli veri setlerinde uygulama
sonucu karşılaştırması………………………….……………..……………..83
KAYNAKLAR…………………………………………..………………………….87
ÖZGEÇMİŞ……………………………………………………………………......92
xi
ÇİZELGELERİN LİSTESİ
Çizelge
Sayfa
Çizelge 3.1. Hasta bilgileri tablosu……………...…………..................................... 22
Çizelge 3.2. Hasta test 1 sonucu……………………………………………..……...24
Çizelge 3.3. Hasta test 2 sonucu…………………………………………..………...25
Çizelge 3.4. Hasta testlerinin sonucu………………………………………...……...27
Çizelge 5.1. k-means algoritması (Öklid formülü) kernel k-means algoritması (RBF
fonksiyonu) büyük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu……………………………………..…………………………...57
Çizelge 5.2. k-means algoritması (Öklid formülü) kernel k-means algoritması
(Polynomial fonksiyonu) büyük hacimli veri setleri üzerinde
karşılaştırma Tablosu Sonucu….……………………………..…….....58
Çizelge 5.3. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(RBF fonksiyonu) büyük hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu…………………………………………..……...……...59
Çizelge 5.4. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(Polynomial fonksiyonu) büyük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu.........……………………………...……...59
Çizelge 5.5. k-means algoritması (Kosinüs formülü) k-means algoritması (Öklid
formülü) büyük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu………..…………………………………………..…………….60
Çizelge 5.6. kernel k-means algoritması (RBF fonksiyonu) kernel k-means
algoritması (Polynomial fonksiyonu) büyük hacimli veri setleri
üzerinde karşılaştırma tablosu sonucu……...……………………….....60
Çizelge 5.7. k-means algoritması (Öklid formülü) kernel k-means algoritması (RBF
fonksiyonu) orta hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu……………………..…………………………………………...61
Çizelge 5.8. k-means algoritması (Öklid formülü) kernel k-means algoritması
(Polynomial fonksiyonu) orta hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu…………………...……………………...62
xii
Çizelge
Sayfa
Çizelge 5.9. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(RBF fonksiyonu) orta hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu……………………………………………..…………..63
Çizelge 5.10. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(Polynomial fonksiyonu)orta hacimli veri setleri üzerinde
Karşılaştırma tablosu sonucu………..………...……………………...63
Çizelge 5.11. k-means algoritması (Kosinüs formülü) k-means algoritması (Öklid
formülü) orta hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu…………………………………..……………….……………64
Çizelge 5.12. kernel k-means algoritması (RBF fonksiyonu) kernel k-means
algoritması (Polynomial fonksiyonu)orta hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu………………..………………………...65
Çizelge 5.13. k-means algoritması (Öklid formülü) kernel k-means algoritması
(RBF fonksiyonu) küçük hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu……………………..…………………………………66
Çizelge 5.14. k-means algoritması (Öklid formülü) kernel k-means algoritması
(Polynomial fonksiyonu) küçük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu……...…………………………..……...67
Çizelge 5.15. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(RBF fonksiyonu) küçük hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu……………………………………..……………...…68
Çizelge 5.16. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(Polynomial fonksiyonu) küçük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu………………………………..………...68
Çizelge 5.17. k-means algoritması (Kosinüs formülü) k-means algoritması (Öklid
formülü) küçük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu………………………..……………………………………….69
Çizelge 5.18. kernel k-means algoritması (RBF fonksiyonu) kernel k-means
algoritması (Polynomial fonksiyonu) küçük hacimli veri setleri
üzerinde karşılaştırma tablosu sonucu.……..………………………...70
xiii
ŞEKİLLERİN LİSTESİ
Şekil
Sayfa
Şekil 2.1. Veri Madenciliği Bilgi Keşif Sürecinin Aşamaları......................................9
Şekil 2.2. Veri Madenciliği Modelleri………………………………………………10
Şekil 3.1. Ağacın genel yapısı…………………………………..…………….…….28
Şekil 3.2. Bilişim kelimesi için Sonek Ağacı……………………………………….30
Şekil 3.3. Eps uzaklığı……………………………………………………………...31
Şekil 3.4. A) Doğrudan Yoğunluk Erişilebilir B) Yoğunluk Erişilebilir noktalar….32
Şekil 3.5. DBSCAN algoritması…………………………………………………….33
Şekil 3.6. K-medoid algoritması A) sınıflandırmadan önce veri seti B) İlk
rastgele seçilen temsilcilere göre gruplandırmak C) İkinci hesaplanan
temsilcilere göre gruplandırmak sonucu.……...….……………………….35
Şekil 3.7. A) K-means kümeleri B) fuzzy C-means kümeleri……………………...38
Şekil 3.8. K-means algoritması ile guruplara ayrılmış veri tabanı nesneleri K=3…..40
Şekil 4.1. Kümeleme uygulamasının ekran görüntüsü…...…………………………48
Şekil 4.2. Veri seti seçme ekranı………………………………………………….…49
Şekil 4.3. veri seti seçmek için göz at ekran görüntüsü……………………..………49
Şekil 4.4. k-means ve kernel k-means algoritmaların çalıştıran kısmının ekran
görüntüsü…………………………………………………………………50
Şekil 4.5. k-means algoritması için benzerlik formülü seçim kutusu……………….51
Şekil 4.6. k-means algoritması ve kernel k-means algoritmasının sonuç bölümü…..52
Şekil 4.7. k-means algoritması ve kernel k-means algoritmasının kümeleme yapmış
ekran çıktısı…………………………………………………………….....54
xiv
SİMGELER VE KISALTMALAR
Bu çalışmada kullanılmış bazı simgeler ve kısaltmalar, açıklamaları ile birlikte
aşağıda sunulmuştur.
Simgeler
Açıklama
δ
Delta
Log
Logaritma
∑
Toplam
µ
Mu
exp
Eksponansiyel
Fi
xv
Kısaltmalar
Açıklama
VTBK
Veri Tabanlarında Bilgi Keşfi
MKM
Modified K-Means
FCM
Fuzzy C-Means
KDD
Knowledge Discovery in Database
SVM
Support Vector Machine
DBSCAN
Density-Based Spatial Clustering of Applications With Noise
CLARA
Clustering Large Applications
CLARANS
Clustering Large Applications Based on Randomized Search
PAM
Partitioning Around Medoids
RBF
Radial Basis Function
1
1. Giriş
Her geçen gün teknoloji büyük gelişmeler göstermektedir. Bu gelişmelerle birlikte
veri boyutları da aynı oranda artmaktadır. Yüksek kapasiteli işlem yapma gücünün
ucuzlamasının bir sonucu olarak, veri saklama hem daha kolaylaşmış, hem de verinin
kendisi ucuzlamıştır. Veri tabanlarında saklanan veri, bir arşive benzetilirse, bu veri
arşivi tek başına değersizdir ve kullanıcı için çok fazla bir anlam ifade etmez. Ancak
bu veri arşivi, belirli bir amaç doğrultusunda sistematik olarak işlenir ve analiz
edilirse, değersiz görülen veri yığınında, amaca yönelik sorulara cevap verebilecek
çok değerli bilgilere ulaşılabilir [1]. Büyük veri tabanlarının içinde bulunan değerli
ve aranan veya bilinmeyen bilgiyi ortaya çıkarmak için bulunan uygulamalar ve
mümkün çözümler üretmek için önemli bir araştırma alanı olan, veri tabanlarında
bilgi keşfi (VTBK) ortaya çıkmıştır. veri madenciliği VTBK sürecinin içerisinde
modelin
değerlendirilmesi
aşamalarından
ortaya
çıkan
en
önemli
kesimi
oluşturmaktadır. Bundan dolayı birçok kaynakta VTBK ile veri madenciliği eş
anlamlı olarak kullanılmaktadır.
Veri madenciliği verilerin içindeki bilgilerin, ilişkilerin, değişikliklerin, hataların ve
istatistiksel olarak önemli olan bilgi ve değerlerin otomatik olarak keşfedilmesidir
[2].Veri madenciliği VTBK tanımından yola çıkarak büyük miktardaki veriden
anlamlı bilginin çıkarılması ile ilgili bir yöntemden ibarettir. Başka bir deyişle
önceden bilinmeyen yararlı bilginin büyük miktardaki veri arasından bulunup
çıkarılmasıdır. Büyük miktardaki veri setinde bulunan nesnelerin keşfedilmesinde ve
bu verilerle ilgili tahminler yapılmasında kullanılabilecek ilişkilerin çıkarılmasıdır
[3]. Veri madenciliğinin veritabanı üzerinde uygulanmasının yanı sıra kullanıldığı
diğer alanlara da bakarsak, son yıllarda sıkça ihtiyaç duyulan ve üzerinde bulunan
dev veri tabanlarının güçle kontrol edilmesi nedeni ile web sitelerinin verileridir.
Web verilerini kontrol etmek ve içindeki bilgileri yararlı ve anlaşılan bir hale
getirtmek için veri madenciliği yöntemleri kullanılmıştır ve buna Web madenciliği
adı verilmiştir. Web madenciliği, WWW üzerinden kullanışlı bilgiyi keşfetme ve
analiz etme işlemi şeklinde geniş olarak tanımlanır. Bu geniş tanım bir yandan
milyonlarca siteden, çevrimiçi (online) veri tabanlarından, kaynakların otomatik
2
olarak aranması ve elde edilmesi işlemi olan Web İçerik Madenciliğini tarif ederken,
diğer yandan bir yada daha çok Web sunucusu veya çevrimiçi servisten kullanıcı
erişim desenlerinin keşfi ve analizi işlemi olan Web Kullanım Madenciliğini tarif
eder. Daha sonradan bu iki kategoriye, Web sitelerinin bağlantı (link) yapılarını da
kapsayan yapısal özetini üreten Web Yapı Madenciliği de eklenmiştir [4].
Veri Madenciliğinin bir büyük dalını temsil eden ve son zamanlarda çok ilgi çeken
belirleyici yöntemlerden olan kümeleme yöntemidir. Kümeleme veri tabanındaki
nesneleri genel olarak belli sayıda kümelere ayırmaktadır. Aynı özelliği taşıyan
nesneler aynı grupta olurken birbirinden farkı çok olan nesneler farklı gruplarda yer
almalarını sağlamaktadır, yöntemin hedeflediği gruplar arası farkı maksimuma
yükseltirken gruplar içi minimum olmasıdır. Kümelenme verileri gruplandırarak
birkaç homojen gruba dağıtılmasını amaçlayan bir veri analiz aracıdır. Yıllar
çalışmalarının ardından sunulan kümeleme bazı uygulamalarda kümelemeye ihtiyaç
duyurduğundan dolayı çıkan sorunları ortadan kaldırmak amacı ile geliştirilmiştir.
Başka bir deyişle çalışılan fenomeni anlamak veya yorumlamak için çok sayıda bilim
dalının verilerin kümelemesine ihtiyaç durmuştur[5]. İlk yaklaşımları sezgisel veya
geometrik prosedürleri dayanmaktaydı. Çift gözlemler arasındaki benzersizliği göze
alarak
hesaplanmaktadır.
Kümeleme
ayrıca
olasılık
çerçevesinde
de
kıyaslanmaktadır, kümeleme kavramının şekillendirmesini kendi olasılık dağıtımında
yapmaktadır. Günümüzde çoğunlukla hesaplama işlemleri çok boyutlu yöntemleri
kullanarak gerçekleşmektedir ki bu yöntemlerle ilgili model tabanlı metotlarla
gerçekleşmektedir. Çok boyutlu kümeleme yönteminin günümüzde bir çok bilim
dalının ihtiyaç bulduğu bir yöntemdir ve buna da örnek olarak resim analizidir. Çok
boyutlu kümeleme yöntemi zor olduğu kadar etkili bir yöntemdir, içinde
hesaplamaları yapmak için kullanılmakta olan genellikle gauss formülünü
kullanılmaktadır[6].
3
1.1. Literatürde yapılan çalışmalar
Son yıllarda veri tabanlarında yapılan işlemleri kolaylaştırmak amacıyla veri
madenciliği sıklıkla kullanılmıştır. Veri madenciliği tanımlayıcı ve tahmin edici
yapılardan oluşmaktadır. Tanımlayıcı yapılarda önde gelen metotlardan biri
kümeleme metodudur. Kümeleme işleminde veri tabanının üzerinde kullanılan
algoritmaya dayanarak nesneler gruplara ayrılır. Grup içi nesnelerin birbirine
benzeme oranı maksimum yapılırken gruplar arası nesnelerin benzerlik oranının
minimum olması sağlanır. Kümeleme algoritmalarından olan merkez esaslı k-means
algoritması bu alanda çok yaygın kullanıma sahiptir. K-means algoritması nesnelerin
merkezlere uzaklıklarını hesaplayarak grupların belirlenmesini sağlar. K-means
algoritmasının yaygın kullanımı nedeni ile araştırmacılar bu algoritmanın
geliştirmesine ve iyi performansla çalışmasına yönlenmişlerdir. Algoritmanın küme
kalitesinin artırılması açısından yapılan çok sayıda çalışmamevcuttur.Mat Isa ve
arkadaşları (2010) k-means algoritmasının performansının artırması için nesnelerin
optimum merkezi bulunmasını sağlayan fuzzy k-means algoritmasını, daha kaliteli
sonuç verdiğini kanıtlamak için, ele almıştır. Standart k-means algoritması ile fuzzy
k-means
algoritmasının
arasında
yapılan
karşılaştırmada
standart
k-means
algoritması ile FCM fuzzy c-means algoritmasını birleştirmiş ve nesnelerin daha
başarılı ve etkili şekilde merkezleri bulmasında ve algoritmanın başarılı performans
gösterdiğini veriler üzerinde deneyerek kanıtlamıştır[7]. Wang, J (2011) gürültülü
veri tabanının normal halindeyken ve gürültülü nesneleri çıkararak k-means
algoritmasını uygulayarak karşılaştırma yapmıştır. standart k-means algoritması veri
tabanında uygulanırken grupların yeni merkezlerini bulmakta bir grup nokta grup
merkezinden uzakta olabilir. Bu grup nokta gürültülü nokta sayılır küme merkezinin
hesaplanmasını etkileyebilir ve yeni merkez noktalar yanlış hesaplanmış olabilir. Bu
sorunun ortadan gidermek için gerçekleştirilmiş çalışmada önce bu tür gürültülü
noktaları kümeden çıkaracak yöntemler kullanıpveri setini gürültüsüz hale getirlir,
sonra k-means algoritmasını kullanarak küme merkezleri hesaplanmıştır. Böylece kmeans algoritmasının daha etkili ve kaliteli sonuç vererek daha iyi performansla
çalıştığını göstermiştir[8]. S. Ren ve arkadaşları (2011) k-means algoritmasının
sadece Öklid formülünün kullanılmasını yetersiz görmüş, Öklid formülü sadece
4
mesafe kıyaslamak için kullanıldığı nedeni ile nesnelerin hepsini merkez nokta
koordinatlarına göre eşit görmektedir. Oysa nesnelerin bazıları grup merkezlerine
alakalı diğerleri alakasızdır, böylece alakasız nesneler kümeye karmaşıklık katma
imkânı olabilir. Bunu önlemek için her nesneye bir değişim katsayısı eklenir, her
nesnenin değişim katsayısına göre alakalı ise küme uzantısına alınır değilse
kısıtlanacaktır[9].
D. Li ve arkadaşları (2009) k-means algoritmasını büyük hacimde veri tabanında
birden uygulaması ve aynı veri tabanını parçalara bölerek uygulaması arasında kalite
açısından bir karşılaştırma gerçekleştirmişlerdir. k-means algoritması çok büyük
hacimdeki veri setlerinin standart yöntemle sıkıntılı çalışmasını göstermiştir ve bunu
ızgara yöntemi yoluyla verinin azaltılması ve parçalara bölünüp k-means
algoritmasının daha iyi performansla çalıştığını göstermiştir. Çok büyük olan veri
setlerini küçük parçalı hücrelere bölerek ızgaralı bir yapı haline dönüştürerek
kümeleme işlemini gerçekleştirmektedir. Her hücrenin kendi merkez ağırlığı var ve
böylece büyük hacimde veri setinin küçük parçalara ayrılması kontrolünün
kolaylaştırmasını sağlar[10]. k-means küme kalitesini artırmak için Prasanta K. Jana
(2012) bir çalışmada Voronoi diyagramını kullanarak k-menas algoritmasını
uygulamış ve standart k-means ile karşılaştırmasını gerçekleştirmiştir. Yapılan
çalışmada rasgele merkez nesnesinin seçilmesinin ortaya çıkardığı problemini
ortadan kaldırmak için bu rasgele nesnenin seçiminin yerine merkezleri bulmakta
Voronoi diyagramını kullanmışlardır.
Veri setini Voronoi diyagramının uzayında verteks haline getirerek yarıçaplılarına
göre voronoi daireleri sınırlarında yerleştirilir. Her yuvarlak kendi hesaba alınacak en
büyük yarıçaplı yuvarlaktan başlayarak, eğer yuvarlağın içindeki her hangi iki
noktanın arasındaki mesafe yarıçapından küçük ise iki noktadan bir tanesi
silinecektir ve şu aşamaya kadar seçilen merkez nokta ile seçilen yuvarlağın içinde
bir noktanın arasındaki mesafe yarıçapından daha küçük ise yuvarlaktaki nokta
silinecektir. Bu işlem tüm merkezler seçilinceye kadar devam eder, bu yöntemi
kullanarak daha kaliteli kümeleme elde edilmiştir[11].
5
Ayrıca k-means algoritması küme kalitesinin arttırılmasının yanında kümeleme
hızını yükseltmek içinde yapılan çalışmalar gerçekleşmiştir, D. Chang ve arkadaşları
(2009) k-means algoritmasının performans ve hazınının artırması için algoritmanı
genetik algoritma ile birleştirmişler. Kullandıkları stratejiye göre kümenin merkezini
bulmakta olası bölme işlemi veri noktalarına dayanmasının yerine koromsum merkez
şifresini kullanarak bulmaktadır. Algoritma kümenin ölçümünü optimize ederek en
uygun küme merkezi bulmaya çalışır[12]. A.M. Bagirov ve arkadaşları (2011) global
k-means ve standart k-means arasında hız açısından bir karşılaştırma yapmışlardır.
Algoritma küme merkezlerini önceki aşamalara bakarak sürekli test eder ve kbölünme problemini (en uygun merkez sayısı) çözmeye çalışır. Algoritmanın en
önemli aşaması küme merkezinin başlangıç noktasını hesaplamaktır.
Başlangıçta k tane rasgele merkez seçmek yerine sadece bir merkeze göre
kümelemeyi yapar. sonrak tane uygun merkezi bulmak için N defa algoritmanı
uygular ve bunların arasından en uygun ikinci merkezi buluri her defasında yeni bir
merkez ekleyerek aynı hesaplamaları yapar ve en uygun merkez sayısını buluncaya
kadar devam eder. Başlangıç noktanın hesaplanması için kümede bilinen ve
ekstradan bulunan fonksiyonların minimize edilmesidir. Yapılan testlere göre global
k-mens algoritmasının standart algoritmadan daha hızlı sonuç vermesi tespit
edilmiştir[13]. A.H.Beg ve arkadaşları (2011) yeni k-means algoritması ile standart
k-means algoritması arasında karşılaştırma yapmışlar. k-means yeni algoritması ile
standart k-means algoritmasının arasındaki hız farkını göstermiştir. Geliştirilmiş
algoritma merkezi bulmak için maksimum ve minimum noktaları kullanmaktadır.
Başlangıçta merkez olarak maksimum nokta alınır ve sonra minimum nokta alınır,
sonra alınan noktaların ortalaması alınır ve yeni merkez nokta inşa edilir. Sonra inşa
edilen merkez noktalar aynı mekanizmaya göre devam eder. Sonuç olarak standart kmeans algoritmasından son kümeleri %60 daha az aşama ile göstermiş[14].
T. Hitendra Sarma ve arkadaşları (2012) k-means algoritmasının hızlandırılması için
yeni metot uygulayarak daha hızlı bir k-means algoritması geliştirmişler ve standart
k-means algoritması ile karşılaştırmışlar. Veri setini belli sabit hacimde parçalara
6
ayırarak her parçaya bir tane prototip veriyor, ileri seviyelerde verilen prototiplere
standart algoritmanı uygulayarak parçaları gruba katarak kümeleme işlemi yapıyor.
Sonuçlar standart algoritmanın aynısını veriyor ama daha hızlı sürede elde
ediliyor[15]. Arthur ve Vassilvitskii k-means algoritması ile k-means++ algoritması
arasında karşılaştırma yapmışlardır. k-means algoritmasının rasgele merkez
seçiminin daha dikkatlice ve optimal seçilmesi sağlayan k-means++ algoritması daha
hızlı performans göstermiştir. Algoritma önceden k tane merkezin seçilmesi için
rasgele bir tane nesne seçilir, seçilen bu nesneye göre her aşamada O(log k)
olasılığına göre yeni bir merkez seçilir. Bu işlem k tane nesne seçilinceye kadar
devam eder, bu aşama bitikten sonra standart k-means adımları seçilen merkezlere
uygulanır [16].
7
2. Veri Madenciliği
Veri Madenciliği büyük hacimde olan ve genellikle denetimsiz kalan veri setlerini
makul ve kullanılır bir hale getirmek amacıyla kullanılmaktadır. Veri Madenciliği
kullanıcıları genellikle iş dünyasında ağır sayıda bulunmaktadır, bunun nedeni ise iş
dünyasında ağır hacimde ve sayıda bulunan verilerdir. Bualanda veri madenciliğinin
kullanılması şirket sahiplerinin şirketleri daha rekabetçi ve karlı olmasıdır. Veri
Madenciliği veri setini makul bir hale getirmektense veri setinin içinden bilgileri
keşfedip anlaşılan, kullanılır, geçerli ve faydalı hale getirmektedir. Veri
Madenciliğinin kullanılmasının nedenleri veritabanındaki veri setinin hacmi, küçük
veri setleri için normal şartlar altında belirli tollar kullanarak veri setini analiz
etmektedir veya bazen gözetleyerek sınıflandırılır. Hâlbuki büyük veri setleri,
örneğin AT&T cep teflon şirketi her gün milyonlarca veri toplamaktadır veya NASA
gibi büyük kurumlar yer gözleminde yüzlerce gigabayt saat başına toplamaktadır.
İşte bunlara benzer çok büyük hacimde veri setlerinin analizi ve sınıflandırması
gözetleme yoluyla imkânsız oluyor. İşte bu yüzden veri madenciliği teknikleri bu
alanda kullanıyor. Demek ki Veri madenciliği, diğer bir adla veri tabanında bilgi
keşfi; çok büyük veri hacimleri arasında tutulan, anlamı daha önce keşfedilmemiş
potansiyel olarak faydalı ve anlaşılır bilgilerin çıkarıldığı ve arka planda veri tabanı
yönetim sistemleri, istatistik, yapay zekâ, makine öğrenme, paralel ve dağınık
işlemlerin bulunduğu veri analiz teknikleridir. Son zamanlarda kurumların ağırlıkla
verileri analiz etmek istenen ve sürekli büyüyen veriler ki bu verileri analiz etmek
için çok sayıda uygulama geliştirilmeye başlatılmıştır. Örneğin ağ trafiğini izleme,
banka veri sistemi, web tıklama akışı analizi ve kredi kartı dolandırıcılığı algılama,
bu nedenle şuan yeni hızlı güçlü veri algoritmaları bu alanda kullanılmaktadır.
Kısaca Veri Tabanlarında Bilginin Keşfi” (KDD) olarak adlandırılmaktadır.[17]
Alternatif veri madenciliği isimleri: “Veri Tabanlarında Bilginin Keşfi” (Knowledge
Discovery in Database, KDD), “Bilgi çıkarımı” (Knowledge Extraction), “Veri ve
Örüntü Analizi” (Data/PatternAnaysis), “Veri Arkeolojisi” (Data Archeology), “Veri
Eşeleme” (Data Dredging) vb. [18].
8
2.1. Veri Madenciliğinde Bilgi Keşif Sürecinin Aşamaları
Büyük veri tabanlarında ilginç ve değerli olan bilgiyi algılamak ve erişmek oldukça
zordur. Veri tabanında bilgi keşif sürecinin aşamaları (Knowledge Discovery in
Databases) bu değerli, öncede bilinmeyen kullanılabilir olan bilgiye belirli metotlar
uygulayarak tanımlamada çok büyük rol oynamaktadır. Genelde bilinen veri
madenciliği ve bilgi keşif süreci kavramları işlemleri aynı şeyleri hedeflediği için
aynı anlama gelmektedir ve aynı alanı ifade etmekte kullanılır, hâlbuki bu iki kavram
birbirinden ayrı alanları ifade eder ve genelde bilgi keşfi bir büyük alan olarak veri
madenciliği bilgi keşfinin aşamalarından birini temsil etmektedir. Bilgi keşfi süreci
araştırmacılar tarafından makine öğrenme, örüntü tanıma, veri tabanı, istatistik,
yapay zekâ, veri görüntüleme ve yüksek performanslı hesaplama alanlarında
geliştirilmiştir ve hala geliştirilmektedir. Bilgi keşfi yukardaki alanlarda yüksek
boyutlu bilgiler arasından yararlı bilgileri elde etmeyi hedefler[19]. Şekil (2.1.) bilgi
keşfinin aşamalarını göstermektedir.
Bilgi
keşfinin
aşamalarında
veri
madenciliği
yöntemleri
ve
algoritmaları
kullanılmaktadır. Fakat sadece veri madenciliği yöntemlerini kullanarak iyi bir
sonuca varamayız bu yüzden bilgi keşfinin süreci iyi bir şekilde uygulanması için bir
kaç aşamanın üzerinden dikkatlice geçmekte fayda vardır ve bu aşamalar şu şekilde
sıralanabilir[20]:
1.
Uygulama alanının incelenmesi: Öncelikle konuyla ilgili bilgi ve uygulama
amaçların belirlenmesi.
2.
Amaca uygun veri kümesi yaratma: Analiz edilecek verinin hangi veritabanında
yapılacağını belirterek, veri seçmek ya da keşfedilecek alt veri örnekleri
oluşturma.
3.
Veri ayıklama ve önişlem: Gürültülü ve tutarsız verileri silme.
4.
Veri azaltma ve veri dönüşümü: Analizde gerekli özellikleri (boyutları) seçme,
özellikler arasındaki ilişkiyi belirleme, veri dönüşümü ya da veri birleşimi
yaparak boyut azaltma.
9
5.
Veri madenciliği tekniği seçme: Sınıflandırma (classify), bağlantı kuralları
(association rules), kümeleme (clustering).
6.
Veri madenciliği algoritması seçme.
7.
Model değerlendirme ve bilgi sunma.
8.
Bulunan bilginin yorumlanması.
Şekil 2.1. Veri Madenciliği Bilgi Keşif Sürecinin Aşamaları.
2.2. Veri Madenciliği modelleri
Veri madenciliğinde iki tür kullanılan model vardır, bu modeller tahmin edici
modeller ve tanımlayıcı modellerdir. Tahmin edici modellerde, sonuçları bilinen
verilerden yola çıkarak bir model geliştirilir, bu modelden yararlanılarak sonuçları
bilinmeyen veri kümeleri için sonuç değerlerin tahmin edilmesinde karar vermede
kullanılmaktadır. Örneğin bir banka önceki dönemlerde vermiş olduğu kredilere
ilişkin gerekli tüm verilere sahip olabilir. Bu verilerde bağımsız değişkenler kredi
alan müşterinin özellikleri, bağımlı değişken değeri ise kredinin geri ödenip
10
ödenmediğidir. Bu müşterinin verilerine olan uygun olarak kurulan model olacaktır,
daha sonraki kredi taleplerinde bulunduğunda mevcut olan müşteri özelliklerine
dayanarak verilecek olan kredinin geri ödenip ödenmeyeceğinin ihtimallerinde
kullanılmaktadır. Tanımlayıcı modellerde ise verilecek kararda rehberlik etmede
kullanılabilecek mevcut verilerdeki nesnelerin tanımlanması sağlanmaktadır. X/Y
aralığında geliri ve iki veya daha fazla arabası olan çocuklu aileler ile çocuğu
olmayan ve geliri X/Y aralığından düşük olan ailelerin satın alma örüntülerinin
birbirlerine benzerlik gösterdiğinin belirlenmesi tanımlayıcı modellere bir örnektir,
aşağıdaki şekil (2.2.) Veri Madenciliği modellerini göstermektedir.
2.2.1. Sınıflandırma Modelleri ve algoritmaları
Mevcut verilerden hareket ederek geleceğin tahmin edilmesinde faydalanılan ve veri
madenciliği teknikleri içerisinde en yaygın kullanıma sahip olan sınıflandırma
modelleridir.
Sınıflandırma
modelleri
çok
sayıda
algoritmalar
kullanarak
sınıflandırma işlemini gerçekleştiriyor. Bu modelin koşullarından biri temel bilginin
mevcut olmasıdır.
Şekil 2.2. Veri Madenciliği Modelleri [18].
11
Mevcut olan veri bilgilerinin özelliklerinden yola çıkarak gelecek verilerin
sınıflandırılması için uygun model oluşturulur. Bu mevcut verilerin modeli eğitmek
için kullanılan yönteme eğitim seti denir. Oluşturulan modelde sınıflandırma
algoritmaları
kullanarak
verilerin
sınıflandırması
gerçekleştirilmektedir.
Sınıflandırmayla ilgili çok sayıda algoritma bulunmaktadır, aşağıda sınıflandırma
algoritmaları gösterilmektedir.
Karar ağaçları (ID3)
Karar ağaçları, ağaç şeklinde sınıflandırıcılardır. Bu ağaçtaki her düğüm bir yaprağı
veya karar düğümünü belirtir. Yaprak düğümü hedef niteliğin değeridir. Karar
düğümü ise, bir nitelikte uygulanacak olan test değeridir, bu düğümü, o niteliğe ait
olan tüm olası nitelik değerleri izler, bu değerler ise ağacın dallarını oluşturur. Karar
ağaçlarının öğrenme algoritmaları, bir hipotezi sunmak için bir küme karar ağacı
kullanılırlar. Öğrenme kümesinde, ham veri incelenerek mümkün olan en iyi şekilde
sınıflandırılır. Algoritma bu işlemi özyineli olarak tekrar eder ve en son ortaya
çıkardığı karar ağacı en son hipotezi oluşturur. Karar ağacı algoritması veriyi iki
bölüme ayırmaktadır; öğrenme ve test setleri, bu iki grup veri oldukça homojen
olmaktadır [21].
Karar ağacı algoritması aşamaları şöyledir:
Algoritma: Karar-Ağacı-Oluştur
Giriş Değişkenleri : Örnek kümesi, nitelik-listesi
Metot :
1. N düğümünü oluştur
2. Eğer örnek değerlerinin tümü aynı sınıftaysa (Sınıf C)
i. N düğümünü C etiketinde bir yaprak düğümü olarak döndür
3. Eğer nitelik-listesi bossa
i. N düğümünü Örnek kümesindeki en fazla kullanılan sınıf etiketinde
bir yaprak düğümü olarak döndür
4. Nitelik-Listesi’nden en fazla bilgi kazançlı test-niteliğini seç
12
5. N düğümünün etiketine test-niteliği ismini ver
6. Test-niteliğinin her bir bilinen değeri için dön
i. N düğümünden test-niteliği=ai olacak şekilde bir dal çiz
7. si = örnek kümesinde test-niteliği= ai olan örnekler olsun
8. Eğer si bossa
i. Örnek kümesi içinde en fazla kullanılan sınıf etiketinde bir yaprak çiz
9. Değilse Karar-Ağacı-Oluştur(si, nitelik-listesi, test-nitelik)’ dan dönen
düğüm değerini ağaca ekle[21].
K-NN Algoritması
K en yakın komşuluk algoritması sorgu vektörünün en yakın K tane komşu vektör ile
sınıflandırılmasının bir neticesi olan denetlemeli bir algoritmasıdır. Bu algoritma ile
yeni bir vektörü sınıflandırabilmek için dokuman vektörü ve eğitim dokümanları
vektörleri kullanılır. Bir sorgu örneği ele alınır, bu verilen noktaya en yakın K tane
eğitim noktası bulunur. Sınıflandırma verilen bu K tane noktanın en fazla olanı ile
yapılır. K en yakın komşuluk uygulaması verilen sorgu örneğini sınıflandırmak bir
komşuluk sınıflandırma algoritmasıdır.
K en yakın komşuluk algoritması çok kolaydır. K en yakın komşulukları bulmak için
sorgu örneği ile eğitim dokümanları arasındaki mevcut tüm uzaklıklar dikkate alınır.
En yakın komşuları bulunmasından sonra mevcut olan komşulardan kategorisi en
çok olan dokümanın kategorisini tahmin etmekte kullanılır. Tüm dokümanlar vektör
halinde olarak temsil edilir. Sorgu dokümanı ile diğer dokümanlar arasındaki kosinüs
benzerliği hesaplanır. Benzerlik oranı 1’e en yakın olan n tane vektörün
kategorisinden çok olanı dokümana atanır.
Diyelim ki K=(V1,….,Vi) eğitim seti farz etsek ve P=(P1,P2 ,…., Pj) doküman
vektörleri olsa, herhangi bir P vektörünün bulunması için:
sim(Pi,K) = Max(Pi,Vi)
maksimum benzerlik vektörün kategorisini bulmak üzere kosinüs benzerliği
kullanılmaktadır [22].
13
SVM algoritması
SVM (Support Victor Machine) algoritması bir makina öğrenme metodu olarak 1990
yılında Vapnik tarafından ortaya çıkarılmıştır. Bu algoritma statik öğrenme
teorilerine göre geliştirilmiştir[23]. Avantajlarından biri çok boyutlu örüntü tanıma
problemlerini çözmekte kullanılıyor. SVM algoritması ikiye ayrılmaktadır. Doğrusal
SVM ve doğrusal olmayan SVM. Bu algoritma makina öğrenme yöntemini kullanan
algoritmalar arasında en güçlü ve kesin sonuçlar veren algoritma sayılabilir[24].
Yapay sinir ağları
Yapay sinir ağları beyin hücreleri olan nöronların çalışma prensibini modelleyen
öğrenebilen algoritmalardır.
Sınıflandırma amaçlı kullanılan yapay sinir ağları
genelde back propagation algoritması ve RBF ağlarını kullanmaktadır. RBF (radial
Bases Functıon Network ) girdi, gizli ve çıktı dökümlerinden oluşan yapay sinir
ağlarıdır. Girdi düğümü gizli düğümüne doğrusal olmayan, gizli düğümü çıktı
düğümüne doğrusal olan fonksiyonlarla bağlanmaktadır. Yapay sinir ağları öğrenme
ve genelleştirme kabiliyetleri olan uyarlanabilir ve hata payını en aza düşüren güçlü
bir metottur.[25]
Bayes sınıflandırması
Bayes sınıflandırıcısı istatistik metotlara dayanan tipik bir sınıflandırma modelidir.
Özel bir sınıfa ait olarak verilen bir olasılık gibi, sınıf üyeliklerine ait olasılıklarını
önceden söyleyebilirler. Bayes sınıflandırıcısı Bayes teoremi için kuramsal
temelledir, bayes teorimi kullanarak sınıflandırmanı gerçekleştiriyor[26]. Bayes
teorimi ise diyelim X sınıf uyeliği bilinmeyen veri orneği olsun. H ise bu veri orneği
X in C sınıfına ait olduğunu öngören bir hipotez olsun.
( )
(
( ) ( )
)
( )
( )
14
2.2.2. Kümeleme Modelleri
Kümeleme modellerinde amaç, küme üyelerinin birbirlerine çok benzediği, ancak
özellikleri birbirlerinden çok farklı olan kümelerin bulunması ve veri tabanındaki
kayıtların bu farklı kümelere bölünmesidir. Başlangıç aşamasında veri tabanındaki
kayıtların hangi kümelere ayrılacağı veya kümelemenin hangi değişken özelliklerine
göre yapılacağı bilinmemekte, veritabanının iyice analiz edilmesi gerekmektedir ve
sonra kümelerin neler olacağı tahmin edilir[21].
Kümelenme verileri gruplandırarak birkaç homojen gruba dağıtılmasını amaçlayan
bir veri analiz aracıdır. Yıllar çalışmalarının ardından sunulan kümeleme bazı
uygulamalarda kümelemeye ihtiyaç duyurduğundan dolayı çıkan sorunları ortadan
kaldırmak amacı ile geliştirilmiştir. Başka bir deyişle çalışılan fenomeni anlamak
veya yorumlamak için çok sayıda bilim dalının verilerin kümelemesine ihtiyaç
durmuştur[27]. İlk yaklaşımları sezgisel veya geometrik prosedürleri dayanmaktaydı.
Çift gözlemler arasındaki benzersizliği göze alarak hesaplanmaktadır. Kümeleme
ayrıca
olasılık
çerçevesinde
de
kıyaslanmaktadır,
kümeleme
kavramının
şekillendirmesini kendi olasılık dağıtımında yapmaktadır [28]. Kümelemeye genel
bir bakışla bakılırsa iki parçadan oluşmaktadır ve bunlar Bölümleyici metotlar ve
hiyerarşik
metotlardır.
Benzerlik-esaslı
metotlar
ve
model-esaslı
metotlar
Bölümleyici-esaslı metotların ana dallarını temsil etmektedir. Benzerlik-esaslı
metotların en basit örneğini vermiş olursak standart k-means algoritmasının çalışma
şeklidir (nesnelerin birbirine benzerlik oranına göre guruplara ayırması)[5].
Kümeleme ayrıca içinde kullanılan tekniklere göre sınıflandırılır ve hesaplamada
kullanılan mesafe formülleri içermektedir, bunlar kullanılan algoritmaya göre
değişir, üçüncü bölümde kümelemenin analizi, teknikleri ve algoritmaları detaylı bir
şekilde anlatılmıştır.
15
3. Kümeleme Analizi ve Algoritmaları
3.1. Kümeleme Analizi
Kümeleme analizi sayısal, dilsel veya yapısal veri setleri içinde saklanan grupları
(kümeler) ortaya çıkarmak için tasarlanmıştır. Her grup üyeleri benzer özelliklere
sahiptir. Kümeleme analizi ayrıca sınıflamaları geliştirerek karmaşık verileri çözmek
için kullanılır ve bu verileri anlaşılır bir hale getirerek önemli verileri ortaya
çıkarmakta katkıda bulunur. Yazılım teknolojisinin gelişimi nedeni ile bilim ve iş
alanında, birçok durumda uygulanan etkili ve kolay yorumlanabilen bir yöntem
görünmüştür. Bu yöntem 1960 yılının başında ortaya çıkmıştır. O zamanlarda
Aldenderfer ve Blashfield kümelemenin tüm sınıflandırma sisteminin kullandığı
bilim dallarında uygulanmasına öneride bulunmuşlardır[29]. Kümeleme analizinin
asıl amacı objeleri guruplara ayırıp verileri sınıflandırmaktır. Nesneleri tanımlayan
özellikler bir guruba benzerlik veya benzersizlik oranına göre alınmaktadır.
Nesnelerin birbirine benzerliğini dikkate alıp grubun üyelerini belirler veya başka
gruplardan olan üyelerin farklılıklarına göre grup sınırlarını çizmektedir. Örüntü
tanıma, veri analizi, görüntü işleme, market araştırması gibi çeşitli uygulamalarda
yaygın olarak kullanılmaktadır.
Kümeleme analizi nesnelerin sınıflandırılmasına ile ilgili ayrıntılı açıklama
yapılmasını
hedeflemektedir.
Nesnenin
özellikleriyle
grupların
özellikleri
karşılaştırılarak aralarındaki benzerliğe göre guruplar belirlenir. Daha sonra
guruplara dahil edilen nesnelerin profilleri ortaya konur. Kümelemenin diğer amacı
ise verinin guruplara ayrılması dışında veri hacmini küçültmektir ve kontrolünün
kolaylaşmasıdır. Satış hareketleri veya çağrı merkezi kayıtları gibi çok fazla
parametre içeren çok büyük miktarlardaki verileri analiz etmede en uygun
yöntemlerden biri kümelemedir. Kümeleme analizinin veriye uygulandığında
sağladaığı avantajlar şöyledir:
 Verinin alt yapısı: verinin gözetlenmesini kolay bir şekilde sağlamak, onunla ilgili
uygun hipotezler oluşturmak ve verinin belirgin özelliklerini belirlemek.
16
 Verinin doğal sınıflandırması: formlar veya organizmalar arasındaki benzerliğin
derecesini tespit etmek.
 Verinin sıkıştırılması: veriyi organize ederek küme prototipinin özetlenmesini
sağlayan metotlar gibi.
 İlişkilerin
görünmesi:
gösterebilme özelliği
kümelemenin
sayesinde
grafiksel
görüntüleri
benzerliklerin kolayca
ile
tespit
sonuçları
edilmesini
sağlamaktadır.
 Sıra dışı nesnelerin tespiti: anormal durumların kolayca tespit edilmesi, böylece
sıra dışı verilerin kolayca belirlenmesi.
 Başka veri madenciliği algoritmalarına katkıda bulunması: bazı veri madenciliği
algoritmalarının büyük hacimde verilerle sıkıntılı çalışması nedeni ile kümeleme
analizi bu verilere uygulanarak verinin parçalar haline getirerek en uygun
başlangıç noktasını seçmesine yardım etmektedir[30].
Kümeler, nesnelerin uzayda birbirlerine olan yakınlıklarını temsil ederek ifade edilir.
Önceki söze dayanarak nesneler arasındaki benzerlik veya benzersizlik uzaydaki
birbirleri arasındaki mesafe ile ifade edilmektedir. Uzaydaki çok boyutlu nesnelerin
arasındaki uzaklıkların hesaplanması için genelde geometrik uzaklık formülleri
kullanılmaktadır. Çeşitli sayıda değişkene göre nesneler arasındaki benzerlik ve
uzaklıkları hesaplamak için kullanılan ölçüler[31]:
1. Sayısal veriler için ölçüler:
 Öklid uzaklığı
 Manhattan uzaklığı
 Maksimum uzaklığı
 Minkowski uzaklığı
 Mahalanobis uzaklığı
 Kosinüs uzaklığı
 Ortalama uzaklığı
2. Kategorik veriler için ölçütler:
 Basit eşleştirme uzaklığı
17
 Katsayı eşleştirme uzaklığı
3. Zaman serisi verileri için ölçütler:
 Minkowski uzaklığı
 Dinamik zaman tüneli uzaklığı
Yukarıdaki uzaklık formüllerinden faydalanarak bireyler arasındaki uzaklık ve
dolayısıyla benzerlik veya benzersizlikler belirlenir. Kümeleme işlemi belirlenen
bireyler arası uzaklıklara göre küme içi homojen ve kendi aralarında heterojen
gruplar
kurmaktadır.
Bu
grupları
farklı
kümeleme
yöntemlerine
göre
oluşturmaktadır. Kümeleme yöntemleri farklı teknikler yardımıyla uygulanır ve bu
teknikler kümenin farklı özelliklerine göre kümenin şeklini tespit eder. Genel olarak
kullanılan yöntemler ve teknikler aşağıdaki gibidir:
Model Esaslı Kümeleme Yöntemleri
Bu tekniklere, model esaslı kümeleme yöntemleri denmesinin nedeni; kullanılan
algoritmaların veri setine uygun bir model seçerek çalışıyor olmasıdır. Kısaca
algoritmalar, veriler ile bazı matematiksel modeller arasındaki uyumu optimize
etmeye çalışırlar. Bu teknikler genellikle verilerin mevcut olasılık dağılımları
tarafından oluşturulduğunu varsaymaktadır[32]. Yöntem model olarak bir yoğunluk
fonksiyonu inşa eder ki bu fonksiyon veri noktalarının uzaysal bir dağılımını yansıtır
ve bu yöntemle kümeleri yerleştirir. Ayrıca istatistik yöntemleri kullanarak
kümelerin sayısını otomatik olarak belirler ve gürültüleri göze alarak en iyi
kümelemeyi elde eder. EM algoritması bu tekniği kullanan en iyi statik
algoritmalardandır.
Merkeze Dayalı Bölümleyici Kümeleme Yöntemleri
Merkeze dayalı bölümleyici kümeleme yöntemleri, n adet nesneden oluşan veri setini
başlangıçta belirlenen k(k<n) adet kümeye ayırmaktadır. Kümeleme sonucunda elde
edilen kümelerde, küme içi benzerlik maksimum iken kümeler arası benzerlik
minimumdadır. Merkeze dayalı kümeleme yönteminin uygulanmasının iki amacı
vardır;1) her veri nesnesinin bir tane kümeye ait olma zorunluluğu, 2) her kümenin
18
en az bir tane nesnesinin olması zorunluluğudur. Amaçların birincisi bazı fuzzy
algoritmalar için geçerli değildir. Bunun sebebi o algoritmalarda her nesnenin iki
kümeye ait olması olasılığıdır. En çok kullanılan merkeze dayalı bölümleyici
kümeleme
teknikleri
k-means,
algoritmalarıdır. Bölümleyici
k-medoid,
PAM,
CLARA
ve
CLARANS
yöntemleri daha detaylı bir şekilde aşağıda
anlatılmaktadır.
Hiyerarşik Kümeleme Yöntemleri
Hiyerarşik yöntemler verilen veri setinin nesneleri için bir hiyerarşik ayrışma inşa
etmektedir. Hiyerarşik küme, bir veri setindeki her bir nesnenin dizi içindeki bir
sonraki nesnenin içinde yer aldığı bir nesneler dizisidir. Hiyerarşik kümeleme
tekniklerinde, başlangıçta küme sayısı belirtilmemektedir. Algoritma, x: veri seti s:
uzaklıklar matrisi olmak üzere; (x, s) girdi olarak tanımlanmaktadır. Sonuçta çıktı
olarak elde edilen kümeler hiyerarşiktir. Hiyerarşik kümeleme tekniklerinin
birçoğunda uygulanan süreç optimizasyon esaslı değildir. Bu tekniklerdeki amaç,
birleşme tamamlanıncaya kadar bölmenin ilerlemesi için tekrarlamalar kullanarak
temel yaklaşımlar bulmaktır[25]. Hiyerarşik kümeleme metotları, nesnelerin iç içe
gruplanma ilişkisini ve gruplanmaların değiştiği benzerlik seviyelerini ağaç yapısı
şeklinde gösteren bir yapı oluşturma temeline dayanır. Hiyerarşik tekniğini kullanan
metotlar inşa etme tipine bağlı olarak iki gruba ayrılır:
 Birleştirici Hiyerarşik Kümeleme (top - down)
 Ayrıştırıcı Hiyerarşik Kümeleme (bottom - up)
Yoğunluk Bazlı Yöntem
Birçok kümeleme yöntemi, nesnelerin arasındaki mesafe farkına ve benzerliklerine
göre kümeleme yapar ve çıkan sonuç genelde küreseldir. Bu yöntemler buldukları
değişik kümelerin tespitinde yetersiz kalmaktadır. Yoğunluk bazlı yöntemler ise
nesnelerin yoğunluğuna göre gruplama yapar. Komşuluk içindeki yoğunluk belli bir
seviyeyi aşana kadar kümeler büyümeye devam eder. Bu yöntemin gürültülü
verilerden etkilenme oranı düşüktür. Yoğunluk bazlı yöntemlere örnek olarak
Dbscan ve Optics algoritmaları verilebilir.
19
Izgara Tabanlı Kümeleme Yöntemleri
Izgara Tabanlı Kümeleme Teknikleri, veri setini ızgaralı bir yapı oluşturmak için
belli sayıda hücreye bölmekte ve bütün kümeleme işlemlerini bu ızgara yapı üzerinde
gerçekleştirmektedir. Izgara hücrelerin yoğun noktalarına göre küme sayısının
belirlenmesi ve veri nesnesi olmayan ızgara hücreler ile küme merkezleri arasındaki
uzaklığın hesaplanması bu teknik içerisinde yer alan algoritmaların hızlı çalışmasını
sağlar. Bu durum ızgara tabanlı tekniklerin en büyük avantajı olarak kabul
edilmektedir[33].
Kümeleme analizi yukarıda anlatılan yöntemlere uyan algoritmaları uygulayarak veri
nesnelerinin kümelemesini sağlar. Kümeleme analizi farklı veri türlerine
uygulanmaktadır, verinin türüne göre nesneler arası mesafeler hesaplanarak kümeler
elde edilir. Diyelim ki kümelenmesi gereken veri seti n tane nesne içermektedir.
Örneğin kişi, ev, doküman, devletler vb… .Veri setinin kümelenmesi genel olarak
aşağıda anlatılan 2 tür veri yapısından birine göre yapılmalıdır.
Kare kodun(Data Matrix): bu veri yapısı ntane obje bilgisini sunmaktadır.
Örneklendirmek gerekirse; bu bilgiler birkaç kişinin bilgileri olabilir, bu kişiler p
tane bilgi özelliği içermektedir; yaş, boy, cins gibi. Veri setinin yapı şekli nesne-ileözellik matrisi şeklinde ifade edilebilir.
Farklılık Matrisi (Dissimilarity matrix): bu veri seti yapısında n tane verilerin
arasındaki yakınlık oranına göre hesaplama yapmaktadır. Bu veri yapısında
genellikle nesne-ile-nesne arasındaki ilişki tablo şeklinde sunulmaktadır.
Kare kodun veri yapısı genellikle farklılıklar göstermektedir. Bu yüzden bazen kare
kodun veri matrisine iki-Modelli matrisi denmektedir. Birçok kümeleme algoritması
genelde kümelerin hesaplanmasında farklılık matrisini kullanmaktadır. Eğer veri seti
kare kodun matrisi ile sunulmuşsa, önce bu veriyi farklılık matrisine dönüştürülüp
sonra hesaplanması gerçekleştirilmektedir. Aşağıda tüm veri türlerini anlatıp ve
20
kümelenmesi için her veri türünün nasıl farklılık matrisine uzaklık formüllerini
kullanarak dönüştürülmesini göstermekteyiz.
3.1.1. Aralık – Ölçekli değişkenler
Aralık – ölçekli değişken veri türleri sürekli ölçülenen doğrusal ölçeklerdir. İçinde
bulunan örnekler standart ölçeklerle değerlendirilir, örneğin ağırlık ve yükseklik,
enlem ve boylam(ev gibi nesneden bahsedilirse), ve hava durumu ölçekleri. Bu
verilerde kullanılan ölçü birimi kümeleme analizini etkileyebilir. Örneğin bir veri
setinin metre ve inç birimlerini içermesi ve ağırlık ünitelerinden kilogram ve pound
birimlerini içermesi kümeleme yapısını etkilemektedir. Genelde küçük veri birimleri
kullanılırsa küme içinde büyük hacim aralığa yol açar ve buda kümeleme yapısında
büyük etki bırakmaya neden olur. Birim ölçülerinin seçimine bağlılık probleminin
ortadan kaldırılması için verilerin standartlaştırılması yapılmaktadır. Standartlaştırma
işlemi tüm verilerin aynı ağırlıkları vermelerini amaçlamaktadır. Standartlaştırma
işlemi verilerin kullanıldığı birimle ilgili bilgi verilmiş halinde olursa pratik ve etkili
olur.[34] Standartlaştırma işlemlerini gerçekleştirmek için (diyelim ki f kullanılan bir
değişkendir
ve
değişkenin
standartlaştırılması
için)
aşağıdaki
iki
adım
uygulanmaktadır:
 Mutlak sapma hesaplanması, sf:
(|
|
|
|
|
|)
( )
X1f … Xnf f ’e ait olan n tane ölçektir, ve mf f” in ortalamasıdır.
 Standartlaşmanın hesaplaması:
( )
Standartlaştırma işlemi tamamlandıktan sonra nesnelerin arasındaki mesafeleri
kıyaslama işlemi gerçekleştirilir.Aralık-ölçekli değişkenlerinin içerdiği nesnelerin
arasındaki benzersizlik hesaplama işlemi her çift nesne arasındaki mesafeyi
hesaplamaya dayanarak yapılmaktadır. Benzersizlik hesaplama işlemleri daha önce
21
belirlenen formülleri kullanarak hesaplanmaktadır. Aralık-ölçekli değişkenler için en
çok kullanılan formül Öklid formülüdür ve bu formülun ifade şekli aşağıdaki gibidir.
(
)
√(
)
(
)
(
)
( )
i=(xi1,xi2, … , xin) ve j=(xj1,xj2, … , xjn) iki n-boyutlu veri nesnesidir.
Öklid formülünü verilere uygulayarak aşağıdaki matematiksel gereksinimleri
karşılamaktadır:
d(i,j)≥0: hesaplanan mesafe negatif numara olmaz.
d(i,j)=0: nesnenin mesafesi kendisi ile hesaplanmış anlamına gelir.
d(i,j)= d(j,i): mesafe simetrik fonksiyonudur.
3.1.2. Binary değişkenler
Binary değişkenler başka bir deyişle ikili değişkenler ikili durumda bulunmaktadır: 0
ve 1. 0 değişkenleri iletimi yoktur anlamına gelmektedir, 1 ise değişkenin iletildiğini
ifade etmektedir. İkili değişkenler iki halde ifade edilen veri değişkenlerinin üzerinde
etkili bir şekilde uygulanır. Örneğin hasta bilgilerinden sigara içer değişkeninin
yanıtı iki yanıt içerir; içer ve içmez. Bu değişkeni binary değişkeni ifadesine
çevirirsek hasta sigara içiyorsa 1 ve içmiyorsa 0 şeklinde ifade edilir.
Binary değişkenlerinin benzersizliklerinin hesaplanması için değişken veri setinde
olan tüm bilgileri bir ve sıfır üzerinden sınıflandırmalıyız. Diyelim ki iki nesnemiz
var:i ve j. Nesneler için hesaplanmak istenen değişken ihtimalleri q sayısı bire eşit
olan i ve j nesneleri içeriyor.R, i değeri 1 olan ve j değeri 0 olan nesne sayısını
içeriyor, s ise i değeri 0 ve j değeri 1’e eşit olan nesne sayısını içeriyor. Son olarak t
her iki nesnenin değeri 0 olan nesne sayısını içeriyor[35]. Hesaplamaları yaptıktan
sonra i ve j nesnelerinin arasındaki benzersizlik hesaplaması aşağıdaki formüle göre
yapılır:
(
)
( )
22
Ayrıca iki nesnenin arasında mesafeyi hesaplamak için sadece benzersizlik
kullanılmaz, bunun yerine benzerlik özelliğini de kullanabiliriz. Binary değişkenleri
için nesnelerin arasındaki benzerliği hesaplamak için aşağıdaki formül kullanılır:
(
)
( )
Örnek: Diyelim ki hastaa bilgisi tablosu var, aşağıdaki çizelge 3.1. de üç tane hasta
kaydı gösterilmektedir. Bu hastaların muayenesi sonucu öksürük ve ateşlerinin olup
olmadığı hastalar tablosuna kaydedilmiştir. Hastaların durumunun değerlendirilmesi
sonucunda, ateş veya öksürükleri varsa kayıtta E, yoksa H yazılır. Bu bilgilerin
binary formatına çevirken E için 1 ve H için 0 değerini veriyoruz. Bu üç tane
hastanın öksürük ve ateş bilgilerine göre aralarındaki benzersizliklerin hesaplaması
şöyle yapılır:
(
)
(
(
)
)
Çizelge 3.1. Hasta bilgileri tablosu.
Hasta ismi Ateş Öksürük
Ahmet
E
H
Ayşe
E
H
Ali
E
E
3.1.3. Kategorik değişkenler
Kategorik değişkenler binary değişkenlerinin genellenmiş halidir ki içinde iki
durumdan fazla içerir. Örnek olarak harita renkleri bir kategorik değişkendir ve beş
durumdan oluşmaktadır: kırmızı, sarı, yeşil, mavi ve pembe. Değişkenler genel
23
olarak harf serileri, semboller veya bir seri rakamlarla gösterilebilir. Eğer değişkenler
rakamlarla ifade edilirse bu rakamlar sadece o değişkenleri ifade etme anlamına
gelir. Fakat herhangi sıralamalı değerini ifade etmez[36].
Diyelim ki i ve j nesneleri kategorik değişkenler içeriyorsa, bu iki nesnenin
arasındaki benzersizliğin hesaplanması değişkenlerin arasındaki uyumsuzluk oranına
göre yapılır. Hesaplama işlemi aşağıdaki formülle de gösterilmektedir:
(
)
( )
Nesnelerin arasındaki uyumsuz değişkenlerinin sayısını m ifade etmektedir.P ise
toplam değişkenlerin sayısını ifade ediyor.
3.1.4. Sıralı Değişkenler
Sıralı değişkenler genelde kategorik değişkenlere benzemektedir. Onlardan tek farkı
içindeki bilgiyi ifade eden M tane veri durumunun belirli ve anlamlı bir sıra halinde
olmasıdır. Sıralı değişkenler objektif halinde ölçülemeyen öznel değerlendirmeleri
kaydetmekte çok yararlıdır. Örneğin profesyonel rütbeler sık sık düzenli sıra halinde
numaralandırılır, asistan, doçent ve profesörler gibi. Sıralı değişkenlerin değerleri
rütbelerine göre sınıflara ayrılır.
Sıralı değişkenlerinin nesneleri arasındaki benzersizliğin hesaplanması Aralık-ölçekli
değişkenlerinde olduğu gibi yapılmaktadır. Diyelim ki f bir set sıralı değişkenler
arasından bir değişkendir ve bu değişken n tane nesne içermektedir. Nesnelerin
arasındaki benzersizlikler aşağıdaki adımlara göre hesaplanır:

F değişkeninin içindeki i nesnesinin değeri xif’dir ve f,mf sıralı durum
içermektedir. Her xif kendisiyle uyan rütbe ile değiştirilir.

Her sıralı değişken farklı durum sayısına sahip olduğu için değişken
durumlarının eşit bir şekilde 0.0,1.0 arasında sıkıştırılarak yer alması gerekir. Bu
24
işlemi gerçekleştirmek için her durumun rif’si kullanılarak aşağıdaki formüle
göre hesaplanmaktadır[37].
( )

Durumların değerlerini hesapladıktan sonra nesneler arasındaki benzersizlikleri
mesafe hesaplama formüllerinden (Öklid, Manhatten vb.) birini kullanarak
hesaplamalar yapılır.
Örnek: Aşağıdaki çizelge 3.2. hastalarla ilgili bir test sonucuna göre üç sıralı durum
içermektedir: makul, iyi, çok iyi. Tablo üç durum içerdiği için mf değeri 3
olmaktadır. Belirlenen bu durumlara göre hastaların arasındaki benzersizlikleri
hesaplamak için birinci adıma göre önce sıralı olan durumların rütbelerine göre
eşitlenmesidir. Makul eşittir 1, iyi eşittir 2 ve çok iyi eşittir 3. İkinci adımda
standartlaştırma
işlemleri
başlatılır
ve
sıralı
değişkeninin
rütbelenmiş
üç
durumuna(0.0,1.0) değerleri arasında eşit değerler verilir ve bunların hesaplaması
aşağıdaki gibi olur:
Bu hesaplamaları yaptıktan sonra her durum için standartlaştırılmış değer yerine
yerleştirilerek Öklid formülünü kullanarak benzersizlik değeri hesaplanır.
Çizelge 3.2. Hasta test 1 sonucu.
Nesne Tanımlayıcı Test Sonucu
1
Çok iyi
2
Makul
3
İyi
4
Çok iyi
25
3.1.5. Oran - Ölçekli Değişkenler
Oran – Ölçekli değişken, lineer olmayan ölçekler üzerinde pozitif ölçümler yapar,
eksponansiyel ölçüler gibi. Benzer örnekler bakteriyel nüfusu büyüme oranı veya bir
radyoaktif elementinin çürümesidir. Genelde Aralık – Ölçekli değişkenlere çok
benzemektedir ve benzersizliklerin hesaplanmasına doğru işlenmesi için üç tane
yöntem vardır ve bunlar:
 Değişkenler Aralıklı – Ölçekli değişken gibi davranmak. (Genelde bu yöntem çok
kullanılmamaktadır.)
 Oran – Ölçekli olan f değişkeninin içinde bulunan i nesnenin xif değerine
yif=log(xif) formülü olan logaritmik dönüşümü uygulamak. Ortaya çıkan yifdeğeri
Aralık – Ölçekli değişken gibi hesaplamaları yapılır.
 Değişkeni sıralı sürekli veri gibi davranmak ve rütbelerine aralıklı değer gibi
davranmak[34].
Örnek:Aşağıdaki çizelge 3.3. te test sonuçlarının arasındaki benzersizlikleri bulmak
için logaritmik formülü kullanılarak ortaya çıkan değerler, birinci nesne için 2.65,
ikinci nesne için 1.34, üçüncü nesne için 2.21 ve dördüncü nesne için 3.08’dir. Bu
değerleri bulduktan sonra Öklid formülü uygulanarak nesneler arasındaki
benzersizlik şöyle bulunmuştur:
Çizelge 3.3. Hasta test 2 sonucu.
Nesne Tanımlayıcı Test Sonucu
1
445
2
22
3
154
4
1,210
Dis(1,2) = 1.31
Dis(1,3) = 0.44
Dis(1,4) = 0.43
26
Dis(2,3) = 0.87
Dis(2,4) = 1.74
Dis(3,4) = 0.87
3.1.6. Karışık Değişkenler
Birçok veri tabanlarında nesneler farklı karışık değişken türleri ile ifade edilirler.
Genel olarak veri tabanları daha önce belirlediğimiz veri türlerinin tümünü içerebilir.
Bu tür veri tabanlarının nesneleri arasındaki benzersizliğin hesaplanması için iki
yöntemden biri kullanılmaktadır. Birincisi her değişkeni ayrı ayrı gruplara ayırmak
ve aralarındaki mesafeleri değişkenlere uyan yöntemlere göre yapmaktır. Bu yöntem
uyumlu bir şekilde sonuçlandırılırsa uygulaması mümkün olur. İkincisi ise tek
kümeleme analizi kullanarak tüm değişkenlerin türlerini birden işlemektir. Bu teknik
farklı türde değişkenleri bir benzersizlik matrisinde birleştirir, tüm anlamlı
değişkenleri (0.0,1.0) aralıklı benzer ölçeğe getirmektedir.
Diyelim ki veri seti p tane karışık değişken türü içermektedir. İki nesnesi olan i ve j
arasındaki d(i,j)‘nin hesaplanması şöyle tanıtılır:
(
)
( ) ( )
∑
Gösterge
∑
( )
( )
( )
= 0 eğer iki nesnenin içerdiği değerlerinden biri veya ikisi yoksa (kayıt
edilmemiş ise) veya nesneler binary değişkenler ise ve değerleri 0 ise.
( )
Benzersizlikleri f değişkeninde etkileyen değer
değeridir ve bu değer şöyle
hesaplanır:
|
( )

Eğer f aralıklı tabanlı ise:

Eğer f binary veya kategorik ise:
( )
|
=0 eğer xif =xjf , başka durmalarda değeri
0 dır.

Eğer f sıralı ise: rütbeleri hesaplayıp sonra değerleri standartlaştırıp sıralı
değişken formülünü uygulayarak hesaplamalar yapılır.
27

Eğer f oran ölçekli ise: oran ölçekli değişkenlerin üç hesaplama yönteminden
birini kullanarak benzersizlikler yapılır[36].
Örnek:Aşağıdaki çizelge 3.4. yukarıda anlatılan veri durumlarının verildiği test
sonucu örneklerinin toplanmış halidir. Test sonuçlarının toplanmış hali bir veri
tabanında gerçekleştiği için bu tür veri seti karışık değişken türü olarak belirlenir.
Nesnelerin arasındaki benzersizliği hesaplamakta test 1 sonucu (kategorik) ve test 2
sonucu (sıralı) üzerinde olan işlemler yukarıdakinin aynısıdır. Test 3 sıralı ölçekli
değişkenlerikapsar. Bu değişkenler yukarıdaki gibi önce logaritmik formülüne
uygulanarak her nesne için sonuçlar, sırasıyla 2.65,1.34, 2.21’dir. Bu sonuçların 3.08
değeri maxhxh değeri olarak ve 1.34 değeri minhxh değeri olarak belirlenmiştir.
Sonuçları standartlaştırmak için her iki nesnenin arasındaki farkın sonucunu alarak
(3:08-1:34) = 1.74 de bölünür. Tüm test türlerinin sonuçları hesaplandıktan sonra bu
sonuçları karışık değişken formülünde uygulayarak benzersizlik sonuçları her iki
nesne arasında hesaplanır. Örneğin 1 ve 2 nesnelerinin arasındaki karışıklık
benzersizliği şöyle hesaplanır:
Bu formül tüm nesneler için uygulanır ve sonuçlar şöyle olur.
dis(1,2) = 0.92
dis(1,3) = 0.58
dis(1,4) = 0.08
dis(2,3) = 0.5
dis(2,4) = 1.00
Çizelge 3.4. Hasta testlerinin sonucu.
Nesne Tanımlayıcı
Test 1
Test 2
Test 3
1
Kod-A Çok iyi
445
2
Kod-B
Makul
22
3
Kod-C
İyi
164
4
Kod-A Çok iyi
1210
28
3.2. Kümeleme algoritmaları
Kümeleme analizinin amacı, verilerin belirli bir model üzerinden geçip farklı
gruplara ayrılmasıdır. Bu gruplar küme olarak adlandırılmıştır. Kümeleme işlemleri
verilerin içerdiği nesnelerin özelliklerine göre yapılır. Benzer özellikli nesneler aynı
kümede yer alır. Farklı özellikli nesnelerise farklı kümelerde yer alır. Yukarıdaki
bahsi geçen değişken türleri kümeleme analizinden geçirilerek kümelere dağılımı
yapılır. Bu veri değişkenlerinin kümelenmesi için kümeleme algoritmaları kullanılır.
Kümeleme algoritmaları belirlenen bir model üzerinde çalışan ve verilerin içerdiği
nesne özelliklerine göre kümelere ayırmaktadır. Kümeleme algoritmalarının
birbirinden farklı çalışma yöntemleri vardır; bazı yoğun bölgelere göre, bazı merkez
noktalara göre ve bazı veriyi hiyerarşik şekilde gruplarlar. Yukarıda anlatılan
kümeleme yöntemlerine göre her yöntemle ilgili farklı sayıda algoritma vardır,
aşağıda önde gelen ve çok yaygın olarak kullanılan kümeleme algoritmalarını
anlatmaktayız.
3.2.1. Sonek Ağaçları algoritması
Bilgisayar Biliminde en yüksek erişim hızını sağlayan veri yapıları, ağaçlardır ve
ağaçlar bu özelliklerini hiyerarşik yapılarına borçludur. Şekil (3.1.)’daki örnek ağaçta
oval şekiller düğümleri, oklar ise kenarları temsil eder. Ağaçta bir adet kök düğüm
vardır ve arama işlemleri her defasında kök düğümden başlar.
Şekil 3.1. Ağacın genel yapısı.[38]
29
Sonek, kök veya gövdesinin sonunda yer alan ektir (Gusfield, 1997). Bir dizinin daha
hızlı analiz edilmesi için kullanılan kapsamlı bir veri yapısıdır [38]. Örneğin;
karşımızda Gazi Üniversitesi gibi bir harf serisi olursa bu serinin her kelimesi veya
serinin her harfini bir kelime farz edersek serinin sonekleri şöyle tanımlanır:
T1 = Gaziüniversitesi = txt
T2 = aziüniversitesi
T3 = ziüniversitesi
T4 = iüniversitesi
T5 = üniversitesi
T6 = niversitesi
T7 = versitesi
T8 = ersitesi
T9 = rsitesi
T10 =sitesi
T11 =itesi
T12= tesi
T13 = esi
T 14 = si
T 15 = i
Başka bir örnek “bilişim” kelimesi için tanımlanabilecek sonekler şunlardır: “bilişim,
ilişim, lişim, işim, şim, im, ve m”. Dolayısıyla bir kelimenin harf sayısı kadar soneki
olur. “Bilişim” kelimesine ait sonekler Şekil (3.2.)’deki ağaçta dizginlenmiştir. Bütün
ağaç veri yapılarında olduğu gibi Sonek Ağacı da bir tane kök düğüm içerir ve bütün
arama işlemleri kök düğümden başlar. Kökten yaprak düğüme giden yolda
karşılaşacağımız alt harf serilerinin birleşimi bir soneki temsil eder. Boyutu ne olursa
olsun, her sonek için ağaçta özel bir yol oluşturur. Sonek bilgisinin veri tabanında
hangi adreste saklandığını ise yaprak düğümler belirler. Eğer aranan kelime ya da
desen yaprak düğüme gelene kadar bulunduysa desen veri tabanında var manasına
gelir. Sonek ağacı, verilen bir kelimeye ait tüm sonekleri dizinleyen ağaca denir.
Sonek ağacında erişim süresi sadece sorgunun boyutuna bağlıdır. Örneğin “bilişim”
kelimesi yedi harften oluşmaktadır ve sonek ağacında “bilişim” kelimesini
30
aradığımızda en çok yedi adım sonunda bilgi erişimi garanti edilir. Veri tabanının
büyüklüğünün terabyte mertebesinde olması dahi arama süresini değiştirmez.
Şekil 3.2. Bilişim kelimesi için Sonek Ağacı.[34]
Ağaçta sorgu ya da desen arama süreci hiçbir zaman desenin boyutundan fazla
olamaz. Çünkü ağaç üzerinde kökten yaprak düğüme doğru hareket ederken, her
düğüm erişiminde en az bir karakter okunur. Eğer ağaçta aranılacak desen m
karakterden oluşuyorsa, en çok m düğüm erişimi sonunda aranılan desene ağaçta
ulaşılır.
Sonek ağacı, en hızlı veri erişimini sağladığı için etkileyici bir dizinleme tekniğidir.
Öte yandan, ağacın önemli dezavantajları da vardır. Bunlar kötü bellek yerleşimi,
ağacın çok fazla yer kaplaması ve ağacın dengesiz yapısıdır. Bu sebeplerden dolayı
ağacın oluşturulma süreci çok uzun sürebilir. Sonek ağacı konusundaki araştırmalar,
bu sorunları çözmeyi amaçlar [39].
3.2.2. DBSCAN (Density Based Spatial Clustering of Applications with Noise)
Algoritması
Veri madenciliği kümeleme modellerinden biri olan yoğunluk tabanlı yöntemlere
dayalı bu algoritma nesnelerin komşuları ile olan mesafelerini hesaplayarak belirli
bir bölgede önceden belirlenmiş eşik değerden daha fazla nesne bulunan alanları
31
gruplandırarak
kümeleme
işlemini
gerçekleştirir.
DBSCAN
algoritmasını
hesaplaması için kullanılan bazı terim ve yaklaşımlar içermektedir ve bunlar:
Şekil 3.3. Eps uzaklığı [40]
Çekirdek nesne: Bir veri nesnesi önceden belirlenen bir eşik değerden daha çok
nokta içeriyorsa bu nesne çekirdek nesnedir.
Eps: Bir veri nesnesinin komşularını belirlemek için gerekli olan yakınlık
mesafesidir.
MinPts: Bir bölgenin yoğun olarak adlandırılabilmesi için Eps komşuluğunda
bulunması gereken en az komşu sayısıdır.
Doğrudan Yoğunluk Erişilebilir Nokta : p noktası q nun Eps komşuluğunda ise ve q
noktası p ye göre çekirdek nesne ise p noktası q ya göre doğrudan yoğunluk
erişilebilir noktadır.
Yoğunluk Erişilebilir Nokta : diyelim ki pi+1 noktası p noktasına göre Doğrudan
Yoğunluk Erişilebilir Noktadır, ve p1,p2,p3… pn Doğrudan Yoğunluk Erişilebilir
Nokta olmasını farz edelim p1=p ve pn=q ise q noktası Eps ve MinPts değerlerine
göre p noktasına yoğunluk erişilebilirdir.
32
Şekil 3.4. A) Doğrudan Yoğunluk Erişilebilir B) Yoğunluk Erişilebilir noktalar.[40]
DBSCAN algoritmasının çalışması iki önemli değer MinPts ve Eps parametreleri
bildirilmelidir. Başlangıç olarak rasgele bir p noktası seçilir. Diyelim ki p noktası
olarak rasgele seçildi, MinPts ve Eps değerlerine göre yoğunluk erişilebilir olan tüm
noktaları bulur, eğer p çekirdek nokta koşulunu sağlıyor ise yeni bir küme keşfetmek
üzereyiz anlamında gelir ve bu noktanın komşularını tek tek ele alırız. p noktasına
yoğunluk erişilebilir olan tüm noktalara teker teker alarak aynı işlem uygulanır, eğer
herhangi bir nokta çekirdek nokta koşulunu sağlamıyorsa bu nokta kümenin sınır
noktasıdır. İncelenen tüm noktalardan hiçbiri çekirdek nokta koşulunu sağlamadığı
zaman kümenin sınırları belirlenmiş olur. algoritma yeni bir rasgele nokta seçerek
aynı işlemleri tekrar eder. Eğer rasgele seçilen nokta çekirdek nokta koşulunu
sağlamıyorsa bu nokta gürültü ya da istisna olarak tanımlanır.[41]
DBSCAN algoritmasının Çalışma Yöntemi
DBSCAN algoritması, veri noktalarının iki ya da çok boyutlu uzayda birbirleri ile
olan komşuluklarını ortaya çıkarır. DBSCAN algoritmasının amacı, Bazı bölgelerde
kendiliğinden oluşan kümelenmeleri tespit etmek ve bu kümelenmelerden anlamlı
sonuçlar çıkarmaktır. Bu tür kümelenmeler bazı noktaların ortak bir eğilimi hakkında
önemli bilgiler verir. Örneğin deprem noktalarının kayıtlarının tutulduğu veri
tabanındaki kümelenmeler bir fay hattını belirtebilir. Öncelikle veritabanı, Eps ve
MinPts değerlerini giriş parametresi olarak alır. Veritabanındaki herhangi bir
nesneden başlayarak tüm nesneleri kontrol eder. Eğer kontrol edilen nesne daha önce
bir kümeye dahil edilmişse işlem yapmadan diğer nesneye geçer. Eğer nesne daha
önce kümelenmemiş ise, bir bölge sorgusu yaparak nesnenin Eps komşuluğundaki
33
komşularını bulur. Komşu sayısı MinPts ’den fazla ise, bu nesne ve komşularını yeni
bir küme olarak adlandırır. Daha sonra, önceden kümelenmemiş her bir komşu için
yeni bölge sorgusu yaparak yeni komşular bulur. Bölge sorgusu yapılan noktaların
komşu sayıları MinPts ’den fazla ise kümeye dahil eder. Bu işlem, incelenen
noktaların komşu sayısı MinPts ’den az çıkana kadar sürer. Bu durum kümenin
sınırlarına gelindiğini işaret eder [40].
Bölge sorgusunun tekrarlı olarak uygulanması Şekil (3.5. A) de görülmektedir. Şekil
(3.5. A) bir küme olmak üzere Q1,Q2,Q3… bölge sorgularını temsil etmektedir.
Rastgele seçilen ilk nokta Q1 sorgusunun merkezindeki nokta olsun. Örneğin
MinPts=3 için bu nokta çevresinde Q1 bölge sorgusu gerçekleştirildiğinde iki yeni
nokta bulunmuştur. Bu noktalar kümeye dahil edilmiştir. Noktalardan biri üzerinde
Q2 sorgusu oluşturulmuş ve yeni bir nokta daha bulunmuştur. Bu şekilde bulunan her
yeni nokta için Q3, Q4, Q5 sorguları oluşturularak kümenin tamamı bulunmuştur.
Şekil 3.5. DBSCAN algoritması [42]
DBSCAN algoritması veritabanının her elemanını bir kümeye dahil etmez, istisna
verileri süzme yeteneğine sahiptir [42].
3.3. Bölümleyici kümeleme algoritmaları
Bölümleyicikümeleme algoritmaları veri setinden n tane giriş parametre kabul eden
ve bu parametreleri k tane kümeye bölen algoritmalardır. Bu tekniği kullanan tüm
algoritmalar merkez noktaların kümeni temsil etmesi esasına dayanır. Bölümleyici
algoritmaların kolay uygulanabilirliği ve verimli sonuçlar vermesi neden ile yaygın
bir şekilde kullanılmamaktadır. Bölümleyici algoritmaların arasından yaygın
34
kullanılan
algoritmalar
k-means,
k-medoid,
clara
ve
clarans,
c-means
algoritmalarıdır. Bu algoritmalarla ilgili aşağıda temel bilgiler verilmektedir ve
açıklamalar yapılmaktadır. Ayrıca tezde kullanılan k-means ve kernel k-means
algoritmalarını detaylı bir şekilde anlatılmaktadır.
3.3.1. K-Medoid algoritması
Bir grup nesneyi k tane kümeye bölerken esas amaç, birbirine çok benzeyen
nesnelerin bir arada olduğu ve farklı kümelerdeki nesnelerin mümkün olduğunca
birbirinden benzersiz olduğu kümeleri bulmaktır. K-medoids algoritmasının temeli
verinin çeşitli yapısal özelliklerini temsil eden k tane temsilci nesneyi bulma esasına
dayanır. En yaygın kullanılan k-medoids algoritması 1987 yılında Kaufman ve
Rousseeuw tarafından geliştirilmiştir. Temsilci nesne diğer nesnelere olan ortalama
uzaklığı minimum yapan kümenin en merkezi nesnesidir. Bu nedenle, bu bölünme
metodu her bir nesne ve onun referans noktası arasındaki benzersizliklerin toplamını
küçültme mantığı esas alınarak uygulanır. Kümeleme literatüründe temsilci nesnelere
çoğunlukla merkez tipler denilmektedir[43].
Amacın k tane nesneyi bulmak olmasından dolayı bu k-medoids metodu olarak
adlandırılmaktadır. k adet temsilci nesne tespit edildikten sonra her bir nesne en
yakın olduğu temsilciye atanarak k tane küme oluşturulur. Sonraki adımlarda her bir
temsilci nesne, temsilci olmayan nesne ile değiştirilerek kümelemenin kalitesi
yükseltilinceye kadar ötelenir. Bu kalite nesne ile ait olduğu kümenin temsilci
nesnesi
arasındaki
ortalama
benzersizlik
maliyet
fonksiyonu
kullanılarak
değerlendirilir. K-medoids algoritmasında birinci aşama yapılandırma aşamasıdır. Bu
aşama kümelemenin başlangıç aşamasıdır, k adet temsilci nesne seçilene kadar
devam eder. Başlangıç merkezleri rastgele atanabileceği gibi çeşitli işlemler sonucu
da belirlenebilir. Algoritmanın ikinci aşaması değiştirme (Swap) aşamasıdır. Bu
aşama temsilci nesneleri geliştirerek kümeleme işleminin verimini arttırmak için
uygulanır. Her bir (i,h) çifti için hesaplama yapılır. Değişim ihtimallerinin
kümelemeye nasıl bir etkisi olduğu incelenerek her nesnenin diğer nesne ile
35
benzerlik oranını kıyaslayarak kayıt edilir ve bu kıyaslamalar belli mekanizmalarla
hesaplanır, sonuca bakarak her bir kombinasyon için kümeleme kalitesi hesaplanır.
Şekil 3.6. K-medoid algoritması A) sınıflandırmadan önce veri seti B) İlk rastgele
seçilen temsilcilere göre gruplandırmak C) İkinci hesaplanan temsilcilere
göre gruplandırmak sonucu.[43]
Yapılan benzerlik hesaplamaları sonucunda her nesne için bulunan değer toplanır.
Toplamı minimum olan nesnenin kümenin yeni merkezi olarak alınır ve tüm kümeler
için benzer işlem yapılır. Yeni temsilci nesneler yeni baştan kümelerin hesaplama
işlemlerini yapar ve yeni küme sonuçları elde edilir[44]. K-medoid algoritması
aşağıdaki adımlarla gerçekleşir:
1. Başlangıç medoidleri rastgele seçilir
2. Kalan her nesne en yakın olduğu medoid’in kümesine atanır;
3. Medoid olmayan rastgele bir nesne seçilir, Orandom;
4. Oj medoid’i ile Orandom’ın değişişimi için toplam maliyet TCih hesaplanır;
5. Eğer TCih< 0 ise Oj ve Orandom değiştirilerek medoid kümesi yenilenir;
6. Hiçbir değişim olmayıncaya kadar ikinci adıma geri dönülür.[44]
K-Medoid algoritmasının Avantajları

Kümeleme algoritmaları arasında kararlı sonuç üreten algoritmalardan sayılır.

Veri işlemi esnasında ilk adımda merkez seçilen nesneler kümeni etkilelemez.
36
K-Medoid algoritmasının Dezavantajları

Veriye uygun k sayısının belirlenmesi için birden fazla denemenin yapılması
gerekir.

Farklı büyüklüklerde kümelerin tespitinde doğru olmamak imkânı var.

Karmaşıklık probleminin hassasiyetinin nedeni ile sadece küçük veri setlerinde
uygun olur [44].
3.3.2. Clara ve Clarans algoritmaları
CLARA algoritması büyük veritabanlarında etkili olan 1990 yılında Kaufman ve
Rousseeuw tarafından bulunan bölümleyici bir metottur. Bu algoritma K-medoid
algoritmasının büyük hacimde verilerin sınıflandıramaması nedeni ile bu soruna
çözüm olarak ortaya çıkarılmıştır. Clara algoritması verilerin tümünü kullanarak
gruplara ayrılmasının yerine veritabanının temsilcisi olarak içinden bir grup örnek
ele alarak gruplandırma işleminde kullanılır. Bu örneğin içindeki merkez noktaları
K-Medoid algoritması kullanılarak bulunur. Örnek küme doğru bir şekilde
algoritmanı uyguladıktan sonra bulunan merkez noktalar, tüm veritabanı için
kullanılarak bulunan merkez noktalarla aynı olur. Bulunan örnek veri seti merkezleri
tüm veri seti için merkez olarak alınır ve veriler o merkeze göre sınıflandırılır. Clara
algoritmasının
iyi
avantajlarından
biri
büyük
hacimde
olan
verilerin
sınıflandırmasıdır fakat algoritmanın performansı örnek grubunun boyutuna bağlıdır.
Bulunan alınan örnek gruplar içinde bulunan merkezler doğru bir şekilde bulunmuşsa
iyi performans ve iyi sonuç elde etmiş olunur fakat gerçek merkezler alınan örnek
grubunun
içinde
olmadığı
durumda
clara
algoritması
başarılı
sonuçlar
vermemektedir[45].
Clarans algoritması 1994 yılında Raymond T. Ng ve Jiawei Han tarafından
sunulmuştur, ve algoritmanın esas amacı clara algoritmasının performansını artırmak
ve sonuçların örnek grubunun seçimine bağlı olduğu için yanlış gurup merkezi
seçmelerini önlemektir.
CLARANS algoritmasında CLARA’dan farklı olarak örnek gurubu noktalar
algoritmanın her aşamasında değişebilmektedir. Böylece tüm veritabanının örnek
37
gurubunun seçimi tarafsızca gerçekleşmiş olur. Algoritmanın örnek seçimi sürekli
değişmektedir ve her seçimde gurup merkezinin performansını hesaplayarak bellekte
tutmak gerekmektedir. Clarans algoritmasının hesaplamasında iki esas tanım vardır,
bu tanımlar local numara ve max komşu bu iki yaklaşım algoritmanın farklı örnekler
üzerinde çalışmasını ve test etmesini sağlar, local numara algoritmanın kaç tane
örnek alacağını belirler diğeri ise gurubun etrafındaki maksimim komşu sayısını
belirler. Algoritma ilk baştan akışı rastgele bir guruba verir. Seçilen düğümün
maliyeti hesaplanır, sonra örnek gurubun etrafındaki komşulardan rastgele birini
seçer ve toplam maliyetlerini karşılaştırır, eğer komşunun maliyeti daha eksikse
değerler değiştirilir ve yeni seçilen komşu ele alınır ve minimum maliyet kendi
maliyeti olarak seçilir buna ilave en iyi merkez düğüm olarak alınır. Aksi takdirde
eğer asıl düğümün maliyeti daha az ise komşu hesaptan çıkar ve etrafta yeni komşu
ile karşılaştırma başlar. Bu işlem maksimum komşu sayısını doldurana kadar devam
eder, komşu sayısı dolunca işlem sonlanır ve başka bir örnek grup seçmeye başlar,
yeni örnek grupta aynı işlemi uygular ve bu işlemler local numara sayısına varınca
sona erer[46]. Aşağıda verilen adımlar clarans algoritmasının prosedürüdür:

Local numara ve max komşu parametreleri girilir. İ değeri 1 eşitlenir ve mini
maliyet değerini en büyük değere eşitlenir.

Akım rasgele bir düğüme ayarlanır.

J parametresi tanımlanır ve değeri 1 e eşitlenir.

Akımdan geçerli rasgele bir komşu seçilir S, ve iki düğümün maliyet farkı
hesaplanır.

Eğer S düğümünün maliyeti akımdaki düğümün maliyetinden daha az ise akım
maliyeti S maliyetine eşitlenir ve 3. Adıma tekrar dönülür.

Aksi durumda j parametresi 1 değer aratılır. Eğer j parametresi max komşu
değerine eşitse adım dörtte geri dön.

Aksi durumda j max komşudan büyükse, akım maliyeti ile mini maliyet
karşılaştırılır, eğer mini maliyetten eksik ise mini maliyet olarak alınır ve
şuandaki akım düğümünü en iyi düğüm olarak alınır.
38

İ parametresi bir değer artırılır, eğer i local numaradan büyükse en iyi düğümü
ortaya çıkar ve işlemi sondur, aksi durumda adım 2 ye geri dön[46].
3.3.3. Fuzzy C-means Algoritması
Bulanık Bölümleyici kümeleme tekniklerini en başarılı şekilde kullanan algoritmalar
arasından Fuzzy c-means (FCM) algoritmasıdır, bu alanda en iyi yöntem sayılır.
Fuzzy c-means algoritması 1973 yılında Dunn tarafından ortaya atılmış ve 1981’ de
Bezdek tarafından geliştirilmiştir[47]. Algoritmanın esas mantığı nesnelerin iki veya
daha fazla kümeye ait olabilmesine izin vermektir. Bulanık mantık prensibi gereği
her veri, kümelerin her birine [0,1] arasında değişen birer üyelik değeri ile aittir. Eğer
bir nesne mevcut olan tüm kümelere ait olursa, o nesnenin üyelik değerinin toplamı
“1” olmalıdır. Nesne hangi küme merkezine yakın ise o kümeye ait olma üyeliği
diğer kümelere ait olma üyeliğinden daha büyük olacaktır. Çoğu bulanık kümeleme
algoritması amaç fonksiyon tabanlıdır. Amaç fonksiyonun belirlenen minimum
ilerleme değerine yakınlaşırsa kümeleme işlemi tamamlanır. Temel olarak k-means
algoritmasına çok benzemekle beraber fuzzy c-means’in k-means’den en önemli
farkı, görüldüğü gibi verilerin her birinin sadece bir sınıfa dâhil edilme
zorunluluğunun olmamasıdır. Aşağıdaki şekil (3.7.) de k-means ve Fuzzy c-means
arasındaki fark gösterilmektedir.
Şekil 3.7. A) K-means kümeleri B) fuzzy C-means kümeleri[47].
39
Fuzzy c-means algoritması amaç fonksiyonu temelli bir metottur. Algoritma, en
küçük kareler yönteminin genellemesi olan aşağıdaki amaç fonksiyonunu öteleyerek
minimize etmek için çalışır:
∑∑
‖
‖
(
)
X veritananında bulunan nesnedir, m üyelik değerinin ağırlığını temsil ediyor ve Cj
küme merkezinin prototipini temsil eder.
U üyelik matrisi rastgele atanarak algoritma başlatılır. İkinci adımda ise merkez
vektörleri hesaplanır. Hesaplanan küme merkezlerine göre U matrisi yeniden
hesaplanır. Eski U matrisi ile yeni U matrisi karşılaştırılır ve fark ε’dan küçük olana
kadar işlemler devam eder.
3.3.4. K-Means Algoritması
K-Means
algoritması,
veritabanındaki
n
tane
nesnenin
k
adet
kümeye
bölümlenmesini sağlar. Kümeleme sonucu küme içi elamanlar arasındaki
benzerlikler çok iken, kümeler arası (inter-cluster) elamanları arasındaki benzerlikler
çok düşüktür. K-means algoritması veri madenciliğinde kullanılan tipik algoritmadır
büyük hacimde olan veri setlerini sınıflandırmasında ve farklı sayıda gruplara
ayırmakta kullanılır. K-means algoritması ilk olarak MacQueen tarafından 1967
yılında önerilmiştir, iyi tanımlanırmış kümeli problemleri çözmekte kullanılıyordu.
K-means algoritması iki ana parçadan oluşmaktadır birinci parça k merkez
değerlerini rastgele belirlemektir, belirlenen k merkez değeri sabit olmalıdır. Diğer
parça ise veri setindeki her nesnenin belirlenen k merkez değerlerine uzaklıkları ve
değerini kıyaslamaktır, ortaya çıkan her nesnenin her k merkezine uzaklık değerini
göze alarak bu nesnelerin hangi kümelere ait olduğu belirlenir, nesnenin hangi
merkeze uzaklık açısından daha yakınsa o merkezin kümesine dâhil olmaktadır[48].
Daha sonra, her bir kümenin ortalama değeri hesaplanarak yeni küme merkezleri
belirlenir ve tekrar nesne-merkez uzaklıkları incelenir. Şekil (3.9.) K-means
algoritmasının örnekleri guruplara ayırmasını göstermektedir.
40
Kümeleme sürecinde türüne özgü olarak hata kareleri ölçütü “square-error criterion”
toplamı kullanılır. En düşük E değerine sahip kümeleme en iyi sonucu verir.
∑∑
|
|
(
)
Şekil 3.8. K-means algoritması ile guruplara ayrılmış veri tabanı nesneleri K=3 [34].
E: veritabanındaki bütün nesnelerin “square error” toplam kümelerin toplam
vektörlerinin arasındaki uzaklıklarının karesidir.
X: uzayda bir nesneye verilen noktayı gösterir.
Xi: Ci kümesinin merkez noktasını gösterir
Yukardaki fonksiyonun değerinin ne kadar az olursa k-means algoritmasının o kadar
başarılı bir şekilde nesneleri guruplara ayarmış anlamında geliyor.
Nesneleri özeliklerine göre koordinasyon uzayında temsil edilir ve koordinasyonun
her vektörü nesnenin bir özelini temsil etmektedir ki bu koordinasyonla merkez
nokta koordinasyonu (nesneler arasından rastgele seçilen) arasındaki mesafeyi
hesaplayarak işleme başlanır [48]. Nesne koordinasyonu ve merkez koordinasyonu
arasındaki mesafeyi kıyaslamak için öklit uzaklığı fonksiyonu kullanılır[41]:
41
(
)
[∑(
) ]
(
)
D(Xi,Yi) : bulunması istenen iki noktanı arasındaki mesafeni temsil etmektedir.
∑
(
) : her koordinasyonun x-axis ve y-axis değerlerinin toplam farklarının
karesini temsil etmektedir.
Dikkate alınması gereken şey koordinasyonla tüm merkezler arasında bu uzaklık
formülü uygulanır ve en kısa mesafeye sahip olan merkez nesneni kendi gurubuna
almış olmaktadır.
k-means algoritmasının aşamaları adım adım olarak şöyle ifade ederiz :
1. Başlangıçta küme merkezini belirlemek için D veri tabanında k tane alt küme
oluşturulacak şekilde rasgele n tane nesne seçilir.
2. Her nesnenin ortalaması hesaplanır. Merkez nokta kümedeki nesnelerin
niteliklerinin ortalaması,
3. Her nesne en yakın merkez noktanın olduğu kümeye dâhil edilir.
4. Nesnelerin kümelemesinde değişiklik olmayana kadar adım 2’ye geri dönülür[49].
K-means algoritmasının en büyük problemi başlangıçta merkez noktayı belirlemek
için seçilen nesnelerin küme içindeki seçiciliğiyle ilgilidir. Eğer kötü bir seçim
yapılırsa nesnelerin kümelenmesindeki değişiklik çok sık olur ve farklı sonuçlar
doğurabilir. K-means yöntemi, sadece kümenin ortalaması tanımlanabildiği
durumlarda kullanılabilir, kullanıcıların k değerini, yani oluşacak küme sayısını
belirtme gerekliliği bir dezavantaj olarak görülebilir. Esas önemli olan dezavantaj ise
dışarıda kalanlar (outliers) olarak adlandırılan nesnelere karşı olan duyarlılıktır.
Değeri çok büyük olan bir nesne, dâhil olacağı kümenin ortalamasını ve merkez
noktasını büyük bir derecede değiştirebilir. Bu değişiklik kümenin hassasiyetini
bozabilir. Bu sorunu gidermek için kümedeki nesnelerin ortalamasını almak yerine,
kümede ortaya en yakın noktada konumlanmış olan nesne anlamındaki medoid
kullanılabilir.
42
K-means Algoritmasının Avantajları
Bu algoritmanın avantajları uygulanabilirliğinin kolay olması ve büyük veri
kümelerinde hızlı çalışabilmesidir. Büyük
veri setlerini işlerken nispeten
ölçeklenebilir ve verimlidir. Karmaşıklığı diğer kümeleme yöntemlerine göre az. Kmeans algoritması yoğun kitlelerden (bulutlanmış) oluşan veritabanılarda daha iyi
uygulanır ve daha verimli sonuçlara varmaktadır [50].
K-means Algoritmasının Dezavantajları

Kullanıcının küme sayısını belirlemek zorunluluğu vardır.

Kategorik sel ve metin sel içeren veritabanlarının üzerinde uygulanması
gerçekleştirilemez.

Gürültülü ve sıra dışı verilere duyarlı bir metottur.

Kümelemede kullanılan özelliklerin hangisinin kümelemeye daha fazla katkısı
olduğunu bilmeyiz.

Kümelemeden sonra bazı kümeler boş küme olması ihtimali vardır bu yüzden
böyle bir durumda bazı optimizasyonların yapılması gerekir[50].
3.3.5. Kernel esaslı kümeleme ve Kernel k-means algoritması
Kernel esaslı kümeleme standart kümelemeden farklı uzaylarda çalışır. Veri
setindeki nesne vektörlerini alıp lineer olmayan fonksiyonları kullanarak farklı daha
yüksek uzaya taşır. Kernel esaslı kümeleme yöntemleri vektörleri çok boyutlu uzaya
taşır ve kümeleme işlemlerini n boyutlu ortamda yapar. Vektörlerin yüksek uzaylara
taşınıp kümelenmesi daha kolay, daha etkili ve kaliteli kümeler elde edilmesini
sağlamaktadır[51].
Kernel k-means algoritması standart k-means kümeleme algoritmasının lineer
olmayan uzantısıdır. Bu yöntem eş yönlü ve doğrusal ayrılamayan uzayların
kümeleme işlemlerini etkili bir şekilde yapılmış olması kanıtlanmıştır. Bu metot
tekrarlamalı bir metottur, ki başlangıçta veri noktaları lineer olmayan dönüşümleri
(.) kullanarak giriş uzayından çok boyutlu uzayına dönüştürür ve sonra işlemi
gerçekleştirir ve kümeleme hata oranını minimize etmeye çalışır. Başka bir deyişle
43
kernel k-means algoritması aynı standart k-means algoritmasının işini çok boyutlu
uzayda gerçekleştirir. Veri setindeki x ve y noktalarının çok boyutlu uzayda
(x). (y) transformasyonunun hesaplaması için K(x,y) fonksiyonu kullanılır, ki K:
D X D→ R ve buna kernel fonksiyonu adı verilir. Kernel fonksiyonları farklı türlerde
bulunmaktadır ve genelde en çok sayda kullanılan temel fonksiyonlar şunlardır:
Lineer kernel : K(xi, xj) = xi ・ xj,
Polynomial kernel a rütbesinde: K(xi, xj) = (xi ・ xj + 1)a,
Radial(RBF) kernel: K(xi, xj) = k(xi, xj) = exp(−r||xi − xj ||2).
Kernel k-means algoritmasının tekrarlamalı işlevinde algoritmanın K(xi, xj) değerinin
hesaplamasını gerçekleştirir, tekrarlamalı adımalar başlamadan önce hazırlanması
gereken metris hazırlanır ki bu metris kernel metrisidir H = [Kij]nxn, ve nesnenin
(i,j) li girişi Kij= K (xi,xj). Kernel k-means algoritması için zaman ve alan
gereksinimleri O(n2)dir, ki burada n veri setinin hacmini ifade ediyor. Ayrıca
algoritmanın gereksinimlerinden olan küme sayısının belirlenmesi k ve başlangıç
noktaların belirlenmesidir[52].
Diyelim ki D= {x1,x2,… ,xn} n hacminde olan bir veri setidir, k veri setinin
bölünmesi istenen küme sayısıdır. µ(0) başlangıç çekirdek noktaları ve π(0) veri
setinin başlangıç bölünmesidir. Kernel k-means algoritması tekrarlamalı bir metottur,
k, µ(0) ve başlangıç çekirdek noktaları ve π(0) girdi olarak alır ve veri seti için son
bölme sonuçlarını ΠD çıkış olarak elde eder. Kernel k-means algoritmasını temsil
eden ve kriter fonksiyonunu minimize etmek için kullanılan fonksiyon şöyledir:
∑ ‖ ( )
∑
‖
(
)
( )
Bu fonksiyonda mj kendi kümesine ait Ci kümesini temsil etmektedir ki mj:
∑
( )
( )
| |
(
)
44
Taşınılmış çok boyutlu uzayda. Nesnelerin taşındığı hesaplama uzayında iki nokta
ϕ(xi) ve ϕ(xj) arasındaki uzaklığı hesaplamak için aşağıdaki fonksiyon kullanılır:
‖ ( )
( )‖
( )
(
( )
)
(
( )
( )
)
(
‖
hesaplaması
Ayrıca ‖ ( )
)
( ) değerini göze almadan aşağıdaki
açıklamaya göre hesaplayabiliriz:
‖ ( )
‖
‖ ( )
∑
( )
( )
| |
( )
( )
(
‖
)
( )
Ki,
(
)
| |
∑
( )
( )
( )
Ve
( )
| |
∑
( )
∑
(
( )
( )
(
)
)
Fonksiyonlarına göre hesaplanmaktadır. Tekrarlamalı kernel k-means algoritmasının
adımları aşağıdaki gibidir[53]:
| ve G(Cj) bulunur.
1.
Her Cj kümesi için,|
2.
Her xi nesnesi için her kümeye göre F(xi,Cj) değeri hesaplanır.
3.
‖ ( )
‖ değeri hesaplanır ve xi nesneyi en yakın olan kümeye dahil
edilir.
4.
Küme merkezi mj değeri güncellenir ki j=1… k ya kadar.
45
5.
1. Adımdan 4. Adıma kadar kümelerin sonuçları birbirine yaklaşıncaya kadar
tekrar edilir.
Çıkış:
Son bölünme sonuçları ve kümeler ΠD={C1,C2,…,Ck}.
46
4.
Uygulama
4.1. Program Arayüzü
Bu bölümde üçüncü bölümde anlatılan bölümleyici kümeleme algoritmaları ele
alınacaktır. Bölümleyici kümeleme algoritmalarını bu bölümde pratik bir şekilde
gösterilmeye çalışılacaktır. Bölümleyici kümeleme algoritmaları arasından ele
alınacak iki algoritma k-means algoritması ve kernel k-means algoritmalarıdır. Bu iki
algoritma farklı dağılımlı ve yoğunluklu veri setlerinde test edilecek ve çıkan
sonuçlar karşılaştırılacaktır. K-means algoritmasında mesafe kullanmak için iki tane
yöntem kullanılacaktır; bunların ilki Öklid formülü diğeri ise kosinüs formülüdür. Bu
iki yöntem vektörlerin arasındaki benzerliği hesaplayarak mesafeyi ve vektörle hangi
merkeze daha yakın olduğunu belirler. Diğer tarafta ise kernel k-means algoritması
içinde RBF (Radial Basis Function) kernal ve polynomial kernel yöntemleri olmak
üzere iki adet yöntem kullanılmaktadır. Veri setleri kullanılan bu yöntemlere
uygulanarak her veri setinin türüne göre sonuçlar elde edilmektedir. Kullanılan veri
setleri hacmi ve dağılım şekline göre şöyle sıralanmaktadır:
1.
Küçük hacimli düz dağılımlı veri setleri.
2.
Orta hacimli düz dağılımlı veri setleri.
3.
Büyük hacimli düz dağılımlı veri setleri.
4.
Küçük hacimli yığılı dağılımlı veri setleri.
5.
Orta hacimli yığılı dağılımlı veri setleri.
6.
Büyük hacimli yığılı dağılımlı veri setleri.
Yukarıdaki belirtilen özellikte veri setleri iki algoritmanın yöntemlerine tek tek
uygulanarak sonuçlar elde edilir. Elde edilen sonuçlar tüm yöntemler ve veri türleri
için karşılaştırılır. Karşılaştırma yöntemi aşağıdaki gibidir:
1.
Standart k-means kosinüs ve Öklid yöntemleri arasında hız karşılaştırması.
2.
Standart k-means kosinüs ve Öklid yöntemleri arasında bellek kaplama
karşılaştırması.
47
3.
Standart k-means kosinüs ve Öklid yöntemleri arasında kalite tamlık skoru
karşılaştırması.
4.
Standart k-means kosinüs ve kernel k-means RBF yöntemleri arasında hız
karşılaştırması.
5.
Standart k-means kosinüs ve kernel k-means RBF yöntemleri arasında bellek
kaplama karşılaştırması.
6.
Standart k-means kosinüs ve kernel k-means RBF yöntemleri arasında kalite
tamlık skoru karşılaştırması.
7.
Standart k-means kosinüs ve kernel k-means polynomial yöntemleri arasında hız
karşılaştırması.
8.
Standart k-means kosinüs ve kernel k-means polynomial yöntemleri arasında
bellek kaplama karşılaştırması.
9.
Standart k-means kosinüs ve kernel k-means polynomial yöntemleri arasında
kalite tamlık skoru karşılaştırması.
10. Standart k-means Öklid ve kernel k-means RBF yöntemleri arasında hız
karşılaştırması.
11. Standart k-means Öklid ve kernel k-means RBF yöntemleri arasında bellek
kaplama karşılaştırması.
12. Standart k-means Öklid ve kernel k-means RBF yöntemleri arasında kalite
tamlık skoru karşılaştırması.
13. Standart k-means Öklid ve kernel k-means polynomial yöntemleri arasında hız
karşılaştırması.
14. Standart k-means Öklid ve kernel k-means polynomial yöntemleri arasında
bellek kaplama karşılaştırması.
15. Standart k-means Öklid ve kernel k-means polynomial yöntemleri arasında
kalite tamlık skoru karşılaştırması.
Uygulama ara yüzü,matlab 7.7.0 2009 ortamında hazırlanmıştır. Kümeleme kalite
karşılaştırması için “completeness score” fonksiyonu kullanılmıştır. Bu fonksiyonu
kullanmak için python 2.3.7 versiyonundansklern kütüphanesinden yararlanılmıştır.
Bunun sonucunda matlab ortamında hazırlanan ara yüz meydana gelmiştir.
48
Uygulama çalıştırıldığında ilk olarak programın genel ara yüzü ile karşılaşırız.
Programın ara yüzü genel olarak üç kısımdan oluşmaktadır; ilk kısmı veri seti seçme
kısmı, ikinci kısmı iki algoritmanın çalıştırma tuşları ve çizim ekranı, üçüncü kısmı
ise algoritmaların performanslarına göre verilen sonuçlar ki bu sonuçları
karşılaştırmada kullanacağız. Uygulamanın genel ekran görüntüsü aşağıdaki şekil
(4.1) deki gibi görülmektedir:
Şekil 4.1. kümeleme uygulamasının ekran görüntüsü.
Uygulamanın ilk parçasına bakacak olursak, bu bölüm veri seti bölümü adı altında
geçmektedir. Bu bölümde programa yüklenen veri setleri (.txt) uzantılı veri
setlerinden ibarettir. Bunun nedeni (.txt) uzantısı veri setlerinin kolay kullanış sekli
ve matlab programı içinde esneklik göstermesi, ayrıca az bellek kullanması ve hızlı
bir şekilde programa yüklenmesidir.
Veri seti bölümünde bir tane frame içinde dört nesne bulunmaktadır, Bunlar veri seti
seçme tuşu, veri setinin bulunduğu dosya uzantısı, veri setinin orijinal kümeleme
etiket dosyası ve etiket tuşunun bulunduğu dosya uzantısıdır. Veri seti seçme ekranı
aşağıdaki şekil (4.2) de gösterilmektedir.
49
Şekil 4.2. Veri seti seçme ekranı.
Veri setini seçmek için şekilde göründüğü gibi dosya seç tuşuna basılır, dosya seç
tuşuna basıldığında yeni bir dosya seçme ekranı açılacak, bu ekrandan veri seti (.txt)
uzantılı olarak seçilir. Ayrıca veri setinin orijinal kümeleme dosyasını seçmek için
lebel seç tuşu kullanılır ve aynı şekilde dosya yüklenir. Aşağıdaki şekil (4.3) te veri
tabanı seçme ekranı gösterilmektedir.
Şekil 4.3. veri seti seçmek için göz at ekran görüntüsü.
Yukarda bahsedilen konu hazırlanan uygulamanın ilk parçası olan veri seti yükleme
kısmı idi. Uygulamanın ikinci kısmı algoritmaların çalıştırma nesnelerini
içermektedir. Bu bölüm iki parçadan oluşmaktadır, her parça bir tane algoritma
çalıştırır. Bölümlerin bir parçası standart k-means algoritması için diğeri ise kernel kmeans algoritması için kullanılmıştır. Her iki parçada aynı sayıda nesne içermektedir
ve içerikleri hariç birçoğunun görevi aynıdır. Aşağıdaki şekil (4.4) uygulamanın
ikinci parçasını göstermektedir.
50
Şekil 4.4. k-means ve kernel k-means algoritmaların çalıştıran kısmının ekran
görüntüsü.
Yukarıdaki şekil (1) de görülen iki parçanın sol tarafı standart k-means algoritmasını
ifade etmektedir. K-means algoritmasını çalıştırmak için kendine özel olan alanda
dört tane nesne bulunmaktadır, bu nesneler algoritma çalıştırma tuşu, metin kutusu,
seçenek kutusu ve çizim ekranından oluşmaktadır. Veri seti yüklendikten sonra kmeans algoritması bölümünün metin kutusuna küme sayısı yazılması gerekir. Metin
kutusuna yüklenen veri setinin kaç adet sınıfa ayrılacağına dair bilgi girilmesi
gerekir. Sınıf sayısını belirledikten sonra seçenek kutusuna sıra gelir, seçenek
kutusunun görevi algoritmanın kümelemede hangi benzerlik formülünü kullanacağını
belirlemektir. Standart k-means algoritmasının uygulamasını hesaplamak için iki tane
benzerlik hesaplama formülü kullanılmıştır, bunların birincisi Öklid formülü diğeri
ise kosinüs formülüdür. Benzerlik formülü seçimi aşağıdaki şekil 4.5’te
gösterilmektedir.
51
Şekil 4.5. k-means algoritması için benzerlik formülü seçim kutusu.
Kümeleme işleminde kullanılacak hesaplama formülü kutudan seçildikten sonra sıra
uygulama tuşuna gelecek. Uygulama tuşuna basılarak k-means algoritması yüklenen
veri setini alıp, belirlenen sınıf sayısı ve seçilen benzerlik formülüne göre veri
setindeki her nesneyi en yakın kümeye göndererek kümeleme işlemini gerçekleştirir.
İkinci algoritmanın (kernel k-means algoritması) tarafına gelirsek çalıştırma tuşunun
kodlama kısmı ve hesaplama yöntemi seçimi kısmı hariç diğer nesneler standart kmeans algoritmasının nesnelerinin aynısını içermektedir. Kernel k-means algoritması
için iki tane hesaplama fonksiyonu kullanılmıştır, bunlar RBF kernel ve Polynomial
kernel fonksiyonlarıdır. Veri seti yüklendikten sonra sınıf sayısı girilir ve hesaplamak
için iki kernel fonksiyonlarından biri seçilir ve sonra da algoritmayı çalıştırmak için
uygula tuşuna basılır ve sonuçlar elde edilir.
52
Uygulamanın üçüncü kısmı sonuçlar kısmından ibarettir. Uygulama başlangıcından
beri iki algoritmanın çalıştırılması ve sonuçlarının elde etmesini hedeflemektedir.
Sonuçlar kısmı bu uygulamanın en önemli kısmı sayılabilir çünkü algoritmaların
çalıştırma performansını yansıtan bir bölümdür. Veri setleri üzerinde iki algoritmanın
arasındaki karşılaştırma sonuçları ve analizi bu bölüme bağlıdır. Aşağıdaki şekil
4,6’da uygulamanın sonuçlar bölümünü göstermektedir.
Şekil 4.6. k-means algoritması ve kernel k-means algoritmasının sonuç bölümü.
Sonuç bölümü iki parçadan oluşmaktadır ve bunların biri standart k-means
sonuçlarını diğeri kernel k-means algoritmasının sonuçlarını içerir. Her iki parça aynı
nesneleri içermektedir. Bu bölümde bulunan nesneler algoritmaların hız, kalite ve
bellek kaplama performanslarını göstermektedir. Bu bölümde her algoritmaya ait
olan parça kümeleme hızı ile ilgili birer kutu içermektedir. Algoritmalar çalıştırılınca
program her iki algoritma için farklı olarak uygulama hızını hesaplama işlemini
gerçekleştirir ve programın içindeki hız değişkeninin değerini sonuç bölümündeki
53
kümeleme hızı kutucuğuna yerleştirir. Kümeleme hızının hesaplamasında matlab
programlama dilinin içindekitik…tok komutundan yaralanılmıştır.
Kümeleme hızının alt tarafında ise ikinci performans hesaplama kutusu
yerleştirilmiştir ve buda kümeleme işleminin kalitesini hesaplamaktadır. Kalite
hesaplama kısmı küme tamlık skoru adı altında geçmektedir. Kümeleme işleminin
tamamlanması ile birlikte veri setinin kümeleme sonucu ele alınıyor ve veri setinin
gerçek sınıfları ile karşılaştırılıyor. Sonuçta tamlık değeri 0-1 arasında çıkmaktadır.
Bu çıkan tamlık değeri ise algoritmaların ne kadar gerçek kümelemeye yakın
olduğunu yansıtır. Değer ne kadar yüksek ise algoritma o kadar iyi kümeleme işlemi
yapmış anlamına gelmektedir. Tamlık skorundan sorumlu olan program parçası
matlab haricinde olup Python programlama dilinde gerçekleştirilmiştir. Python da
sklren kütüphanesi kullanılarak içindeki completness_scorefonksiyonu ile bu işlem
gerçekleştirilmiştir, sonrada hesaplama sonucunu matlab’taki ara yüzüne taşıyarak
kalite kutusuna özel olan bölgeye yerleştirilmiştir.
Sonuç bölümünün üçüncü nesnesi bellek kaplama kutucuğudur. Bellek kaplama
kutusu tamlık skoru nesnesinin tam altında yer almaktadır. Bu nesnede algoritmalar
çalıştırıldığında kümeleme işlemi gerçekleştirilinceye kadar kaç MB bellek
kullanılması gerektiğini göstermektedir. İki algoritmadan hangisi çalıştırılırsa
program bellek hesaplama bölümü ile devreye girmeye başlar, algoritmanın ne
yaptığını ve ne kadar değişken kullandığını ve her değişkenin kaç MB bellek
kullandığını hesaplamaya başlar. Hesaplamanın sonunda toplam bellek kullanımında
ne kadar kullanıldığıyla ilgili bilgi bellek kaplamaya özleştirilen bölgeye gönderilir.
Bellek kaplama işlemini uygulamadaki programlama kısmı matlab programlama
dilindeki who-whos komutunu kullanarak belleği byte halinde hesaplamayı
gerçekleştirir ve sonra program byte ile olan hacmi MB haline dönüştürüp ara
yüzünde belleğe özel bölgeye yerleştirir.
Uygulamanın ara yüzü genel olarak yukarıdaki anlatılan kısımlardan oluşmaktadır.
Programı çalıştırmak için veri seti yüklenir. Veri seti text olarak yüklendikten sonra
program kullanıcısı veri setinin kaç kümeye ayrılması gerektiğini belirlemeli ve
54
kutuya girişi sayı olarak gerçekleştirmelidir. Kümeleme algoritmalarının daha iyi
performans göstermesi için küme sayısının girişi veri setinin orijinal küme sayısına
göre girilmesi gerekir. Bu yüzden kullanıcının seçtiği veri seti ile ilgili bilgi sahibi
olması gerekir. Kullanıcı, küme sayısı kutusunun alt tarafında bulunan seçenek
kutusundan kullanılacak formülü seçecek, bu seçenek iki algoritma için de geçerli
olacaktır. Yukarıdaki bilgilerin tamamı kullanıcı tarafından girildikten sonra
kullanıcı iki algoritmanın müstakil olan uygulama tuşlarını kullanarak algoritmanın
çalıştırılmasını gerçekleştirir. Aşağıdaki şekil 4.7, algoritmaların çalıştırıldığı an ve
veri setinin nasıl kümelere ayrıldığı çizim ekranını göstermektedir.
Şekil 4.7. k-means algoritması ve kernel k-means algoritmasının kümeleme yapmış
ekran çıktısı.
Yukarıdaki şekilde görüldüğü gibi k-means ve kernal k-means algoritmalarının
kümeleme yapmış hali böyle yansımaktadır. Kümeleme yapan algoritmaların sağ
tarafında bulunan sonuç ekranı da aynı anda sonuç verir. Her iki algoritma için hız,
tamlık skoru ve bellek kaplama sonuçlarını gösterir ve hangi algoritmanın daha iyi
performansla çalıştığını belirler.
4.2. Karşılaştırma
Karşılaştırma bu tezde bahsi geçen iki algoritmanın arasında 4. bölümde anlatılan ara
yüzü kullanarak üç performans açısından yapılmaktadır. Bunlar kümeleme hızı,
55
kümeleme tamlık skoru ve küme bellek kaplamasıdır. Karşılaştırma iki algoritma
arasında olacaktır ve kümeleme işlemi belli veri setleri üzerinde gerçekleştirilecektir.
Algoritmaların her biri iki yöntem kullanmaktadır. Karşılaştırma işlemi bu
yöntemleri göz önünde bulundurarak karşılaştırmalar gerçekleştirilecektir. Standart
k-means algoritması için kullanılan yöntemler uzaklık formülleri veya bazı
kaynaklara göre benzerlik formüllerinden ibarettir. Bu tezde standart k-means
algoritması için kullanılan uzaklık formüllerinden olan Öklid formülü ve kosinüs
formülleridir. Kernel
k-means
algoritması için kernel esaslı
fonksiyonlar
kullanılmıştır ve bu tezde kernel k-means algoritması için kullanılan fonksiyonlar
RBF kernel fonksiyonu ve Polynomial kernel fonksiyonlarıdır. Karşılaştırmalar veri
setlerini ara yüzünde uygulayarak sonuçları tablolar halinde göstermiştir. Tablolar
veri setinin hacmi, dağılımı ve algoritma performansına göre düzenlenmektedir. Veri
setlerinin hacmi ve dağılımlarının algoritmaların üzerinde gösterdiği etkiye göre
tabloların sonuçları elde edilmiştir. Tabloların sonuçlarından yola çıkarak sonuçlar
bölümü gösterilecektir.
Yapılan karşılaştırma sonuçları iki algoritma için üç aşamada gösterilmektedir.
Gösterilen üç aşama veri setlerinin hacmine göre yapılmıştır. Bu tezde büyük hacimli
veri setlerinin sınırları 5000-10000 nesne aralığında, orta hacimli veri setleri 20005000 nesne aralığında ve küçük veri setleri 2000 nesnenin altında olarak
belirlenmiştir. İlk aşamada büyük hacimli veri setleri kullanılarak algoritmalar
uygulanmıştır. Büyük hacimli veri setlerinde kullanılan veri setlerinin bilgileri
sırasıyla şöyledir.
S1 adlı veri seti küzey finlanda üniversitesi görüntü çözümleme web sitesinden
alınmıştır. Veri seti sentatik veri içermektedir[54].
S2 adlı veri seti küzey finlanda üniversitesi görüntü çözümleme web sitesinden
alınmıştır. Veri seti sentatik veri içermektedir[54].
S3 adlı veri seti küzey finlanda üniversitesi görüntü çözümleme web sitesinden
alınmıştır. Veri seti sentatik veri içermektedir[54].
56
S4 adlı veri seti küzey finlanda üniversitesi görüntü çözümleme web sitesinden
alınmıştır. Veri seti sentatik veri içermektedir[54].
İkinci aşamada orta hacimli veri setleri kullanılarak algoritmalar uygulanmıştır
Kullanılan veri setleri ise.
D15 adlı veri seti şekillendirlmiş veriler içermektedir[55].
D31 adlı veri seti şekillendirlmiş veriler içermektedir[56].
Dim veri setileri resim pixelleri verileri içermektedir[55].
Yeast veri seti protein lokalizasyon verşleri içerir[57].
Küçük veri setleri ise
R15 adlı veri seti şekillendirlmiş veriler içermektedir[55].
Aggregation adlı veri seti şekillendirlmiş veriler içermektedir[58].
Compound veri seti çok boyutlu görüntü işleme verileri içerir[59].
Elements veri seti FTS şirketinin elemanlarının hareket bilgilerini içerir[60].
Bu uygulamada kullanılan veri setleri uluslararası makine öğrenme veri kaynağı UCI
ve SIPU sitelerinden alınmıştır[61],[62][63].
4.2.1.
Büyük veri setleri karşılaştırma sonuçları
Bu aşamada büyük veri setleri kullanılarak her iki algoritmanın uygulanması
gerçekleştirilmiştir. Sonuçlar aşağıdaki tablolarda yerleştirilmiştir. Karşılaştırma
tablolarında k-maeans algoritması tarafından iki hesaplama formülü kullanılmıştır.
Bunlar Öklid ve kosinüs hesaplama formülleridir. Kernel k-means algoritması
tarafında ise RBF ve polynomial kernel fonksiyonlarıdır. İki algoritma için belirtilen
bu formüller ve fonksiyonlar için karşılaştırmalar aşağıda göstermektedir:
İlk karşılaştırma (Bkz. çizelge 5.1) k-means Öklid formülü ile kernel k-means (RBF
fonksiyonu) arasında yapılmıştır. K-means kümeleme hız ortalaması dört veri seti
için 6.768 saniye, kümeleme tamlık skoru ise 0.683ve kümeleme bellek kaplaması
ise 0.337 MB olarak elde edilmiştir. Diğer tarafta kernel k-means algoritması için hız
ortalaması 9.819 saniye, kümeleme tamlık skoru ise 0.858 ve kümeleme bellek
kaplaması ise 226.3 MB olarak elde edilmiştir.
57
Çizelge 5.1. k-means algoritması (Öklid formülü) kernel k-means algoritması (RBF
fonksiyonu) büyük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Öklid formülü)
(RBF fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
8.367
0.659
0.363
13.63
0.930
261.5
2
Düz
6.258
0.651
0.363
11.15
0.846
261.5
3
Kütleli
6.936
0.796
0.311
7.252
0.923
191.1
4
Düz
5.513
0.629
0.311
7.245
0.734
191.1
Ortalama
6.768
0.683
0.337
9.819
0.858
226.3
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
5.885
0.64
0.337
9.197
0.79
226.3
7.651
0.727
0.337
10.441
0.927
226.3
İkinci karşılaştırma (Bkz. çizelge 5.2) k-means Öklid formülü ile kernel k-means
(polynomial fonksiyonu) arasında yapılmıştır. K-means kümeleme hız ortalaması
dört veri seti için 6.768 saniye, kümeleme tamlık skoru ise 0.683ve kümeleme bellek
kaplaması ise 0.337 MB olarak elde edilmiştir. Diğer tarafta kernel k-means
algoritması için hız ortalaması 9.668 saniye, kümeleme tamlık skoru ise 0.8435ve
kümeleme bellek kaplaması ise 226.3 MB olarak elde edilmiştir.
Aşağıdaki üçüncü tabloda ise k-means (kosinüs formülü) ile kernel k-means (RBF
fonksiyonu) arasındaki karşılaştırma sonuçları verilmiştir. K-means kümeleme hız
ortalaması dört veri seti için 6.457 saniye, kümeleme tamlık skoru ise 0.628 ve
kümeleme bellek kaplaması ise 0.337 MB olarak elde edilmiştir. Diğer tarafta kernel
k-means algoritması için hız ortalaması 9.816 saniye, kümeleme tamlık skoru ise
0.858 ve kümeleme bellek kaplaması ise 226.3 MB olarak elde edilmiştir.
Karşılaştırmanın dördüncü tablosu ise k-means (kosinüs) formülü ile kernel k-means
(polynomial fonksiyonu) arasındaki karşılaştırma sonuçlarını içermektedir. K-means
58
kümeleme hız ortalaması dört veri seti için 6.457 saniye, kümeleme tamlık skoru ise
0.628 ve kümeleme bellek kaplaması ise 0.337 MB olarak elde edilmiştir. Diğer
tarafta kernel k-means algoritması için hız ortalaması 9.668 saniye, kümeleme tamlık
skoru ise 0.843 ve kümeleme bellek kaplaması ise 226.3 MB olarak elde edilmiştir.
Çizelge 5.2. k-means algoritması (Öklid formülü) kernel k-means algoritması
(Polynomial fonksiyonu) büyük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Öklid formülü)
(Polynomial fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
8.367
0.659
0.363
10.60
0.856
261.5
2
Düz
6.258
0.651
0.363
8.845
0.804
261.5
3
Kütleli
6.936
0.796
0.311
8.767
0.931
191.1
4
Düz
5.513
0.629
0.311
10.46
0.783
191.1
Ortalama
6.768
0.683
0.337
9.668
0.843
226.3
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
5.885
0.64
0.337
9.652
0.793
226.3
7.651
0.727
0.337
9.684
0.893
226.3
K-means (Öklid formülü) ile k-means (kosinüs formülü) arasında yapılan
karşılaştırma sonuçlarında da (Bkz. Çizelge 5.5) k-means (Öklid) kümeleme hız
ortalaması dört veri seti için 6.768 saniye, kümeleme tamlık skoru ise 0.683ve
kümeleme bellek kaplaması ise 0.337 MB olarak elde edilmiştir. Diğer tarafta kmeans (kosinüs) kümeleme hız ortalaması dört veri seti için 6.457 saniye, kümeleme
tamlık skoru ise 0.628 ve kümeleme bellek kaplaması ise 0.337 MB olarak elde
edilmiştir.
59
Çizelge 5.3. k-means algoritması (Kosinüs formülü) kernel k-means algoritması(RBF
fonksiyonu) büyük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means
Türü
(Kosinüs formülü)
algoritması (RBF
fonksiyonu)
Hız
Tamlık
Bellek
Hız
Tamlık
skoru
Bellek
skoru
1
Kütleli
8.367
0.659
0.363
13.63
0.930
261.5
2
Düz
6.085
0.700
0.363
11.15
0.846
261.5
3
Kütleli
5.724
0.694
0.311
7.252
0.923
191.1
4
Düz
5.655
0.459
0.311
7.245
0.734
191.1
Ortalama
6.457
0.628
0.337
9.816
0.858
226.3
Düz dağılım Ort.
5.87
0.579
0.337
9.197
0.79
226.3
Kütleli dağılımlı
Ort.
7.046
0.676
0.337
10.441
0.927
226.3
Çizelge 5.4. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(Polynomial fonksiyonu) büyük hacimli veri setleri üzerindekarşılaştırma
tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means
Türü
(Kosinüs formülü)
algoritması (Polynomial
fonksiyonu)
Hız
Tamlık Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
8.367
0.659
0.363
10.60
0.856
261.5
2
Düz
6.085
0.700
0.363
8.845
0.804
261.5
3
Kütleli
5.724
0.694
0.311
8.767
0.931
191.1
4
Düz
5.655
0.459
0.311
10.46
0.783
191.1
Ortalama
6.457
0.628
0.337
9.668
0.843
226.3
Düz dağılım Ort.
5.87
0.579
0.337
9.652
0.793
226.3
Kütleli dağılımlı Ort.
7.046
0.676
0.337
9.684
0.893
226.3
60
Çizelge 5.5. k-means algoritması (Kosinüs formülü) k-means algoritması (Öklid
formülü) büyük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
K-means algoritması
Türü
(Kosinüs formülü)
(Öklid formülü)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
8.367
0.659
0.363
8.367
0.659
0.363
2
Düz
6.085
0.700
0.363
6.258
0.651
0.363
3
Kütleli
5.724
0.694
0.311
6.936
0.796
0.311
4
Düz
5.655
0.459
0.311
5.513
0.629
0.311
Ortalama
6.457
0.628
0.337
6.768
0.683
0.337
Düz dağılım Ort.
5.87
0.579
0.337
5.885
0.64
0.337
Kütleli dağılımlı
Ort.
7.046
0.676
0.337
7.651
0.727
0.337
Çizelge 5.6. kernel k-means algoritması (RBF fonksiyonu) kernel k-means
algoritmas (Polynomial fonksiyonu) büyük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu.
NO.
Dağılım
Kernel k-means algoritması
Kernel k-means algoritması
Türü
(RBF fonksiyonu)
(Polynomial fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
13.63
0.930
261.5
10.60
0.856
261.5
2
Düz
11.15
0.846
261.5
8.845
0.804
261.5
3
Kütleli
7.252
0.923
191.1
8.767
0.931
191.1
4
Düz
7.245
0.734
191.1
10.46
0.783
191.1
Ortalama
9.816
0.858
226.3
9.668
0.843
226.3
Düz dağılım
Ort.
9.197
0.79
226.3
9.652
0.793
226.3
61
4.2.2. Orta hacimli veri setleri karşılaştırma sonuçları
İkinci aşamada yukarıdaki aşamada olduğu gibi karşılaştırmalar yapılmaktadır. Bu
aşamada orta hacimli veri setleri kullanılarak her iki algoritmanın üzerinde
uygulanmıştır ve sonuçlar aşağıdaki tablolarda yerleştirilmiştir. Karşılaştırma
tablolarında k-maeans algoritması tarafından iki hesaplama formülü kullanılmıştır:
İlk karşılaştırma (Bkz. çizelge 5.7) k-means Öklid formülü ile kernel k-means (RBF
fonksiyonu) arasında yapılmıştır. K-means kümeleme hız ortalaması dört veri seti
için 2.22saniye, kümeleme tamlık skoru ise 0.657ve kümeleme bellek kaplaması ise
0.161MB olarak elde edilmiştir. Diğer tarafta kernel k-means algoritması için hız
ortalaması 2.708saniye, kümeleme tamlık skoru ise 0.881 ve kümeleme bellek
kaplaması ise 24.07 MB olarak elde edilmiştir.
Çizelge 5.7. k-means algoritması (Öklid formülü) kernel k-means algoritması (RBF
fonksiyonu) orta hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Öklid formülü)
(RBF fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.991
0.782
0.097
2.396
0.930
17.28
2
Düz
1.803
0.656
0.088
1.871
0.851
14.03
3
Kütleli
2.970
0.673
0.158
3.825
0.997
47.88
4
Düz
2.117
0.617
0.300
2.738
0.746
17.12
Ortalama
2.22
0.657
0.161
2.708
0.881
24.07
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
1.96
0.636
0.194
2.30
0.798
15.58
2.48
0.728
0.128
2.51
0.964
32.58
İkinci karşılaştırma (Bkz. çizelge 5.8) k-means Öklid formülü ile kernel k-means
(polynomial fonksiyonu) arasında yapılmıştır. K-means kümeleme hız ortalaması
dört veri seti için 2.22 saniye, kümeleme tamlık skoru ise 0.657ve kümeleme bellek
kaplaması ise 0.161 MB olarak elde edilmiştir. Diğer tarafta kernel k-means
62
algoritması için hız ortalaması 2.607 saniye, kümeleme tamlık skoru ise 0.864 ve
kümeleme bellek kaplaması ise 24.07 MB olarak elde edilmiştir.
Çizelge 5.8. k-means algoritması (Öklid formülü) kernel k-means algoritması
(Polynomial fonksiyonu) orta hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Öklid formülü)
(Polynomial fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.991
0.782
0.097
2.180
0.932
17.28
2
Düz
1.803
0.656
0.088
1.872
0.781
14.03
3
Kütleli
2.970
0.673
0.158
4.180
0.994
47.88
4
Düz
2.117
0.617
0.300
2.196
0.749
17.12
Ortalama
2.22
0.657
0.161
2.607
0.864
24.07
Düz dağılım
Ort.
Kütleli
dağılımlı Ort.
1.96
0.636
0.194
2.034
0.765
15.58
2.48
0.728
0.128
3.18
0.963
32.58
Üçüncü karşılaştırma (Bkz. çizelge 5.9) k-means (kosinüs formülü) ile kernel kmeans (RBF fonksiyonu) arasındaki karşılaştırma sonuçları verilmiştir. K-means
kümeleme hız ortalaması dört veri seti için 2.196 saniye, kümeleme tamlık skoru ise
0.628 ve kümeleme bellek kaplaması ise 0.161 MB olarak elde edilmiştir. Diğer
tarafta kernel k-means algoritması için hız ortalaması 2.708 saniye, kümeleme tamlık
skoru ise 0.881 ve kümeleme bellek kaplaması ise 24.07 MB olarak elde edilmiştir.
63
Çizelge 5.9. k-means algoritması (Kosinüs formülü) kernel k-means algoritması(RBF
fonksiyonu) orta hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Kosinüs formülü)
(RBF fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
2.089
0.709
0.097
2.396
0.930
17.28
2
Düz
1.824
0.294
0.088
1.871
0.851
14.03
3
Kütleli
2.845
0.640
0.158
3.825
0.997
47.88
4
Düz
2.026
0.627
0.300
2.738
0.746
17.12
Ortalama
2.196
0.567
0.161
2.708
0.881
24.07
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
1.925
0.460
0.194
2.30
0.798
15.58
2.467
0.675
0.128
2.51
0.964
32.58
Çizelge 5.10. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(Polynomial fonksiyonu) orta hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Kosinüs formülü)
(Polynomial fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
2.089
0.709
0.097
2.180
0.932
17.28
2
Düz
1.824
0.640
0.088
1.872
0.781
14.03
3
Kütleli
2.845
0.294
0.158
4.180
0.994
47.88
4
Düz
2.026
0.627
0.300
2.196
0.749
17.12
Ortalama
2.196
0.567
0.161
2.607
0.864
24.07
Düz dağılım
Ort.
1.925
0.460
0.194
2.034
0.765
15.58
Karşılaştırmanın dördüncü tablosu ise k-means (kosinüs) formülü ile kernel k-means
(polynomial fonksiyonu) arasındaki karşılaştırma sonuçlarını içermektedir. K-means
64
kümeleme hız ortalaması dört veri seti için 2.196 saniye, kümeleme tamlık skoru ise
0.567 ve kümeleme bellek kaplaması ise 0.161 MB olarak elde edilmiştir. Diğer
tarafta kernel k-means algoritması için hız ortalaması 2.607 saniye, kümeleme tamlık
skoru ise 0.864 ve kümeleme bellek kaplaması ise 24.07 MB olarak elde edilmiştir.
Çizelge 5.11. k-means algoritması (Kosinüs formülü) k-means algoritması (Öklid
formülü) orta hacimli veri setleri üzerinde karşılaştırma tablosu sonucu.
NO.
Dağılım
K-means algoritması
K-means algoritması (Öklid
Türü
(Kosinüs formülü)
formülü)
Hız
Tamlık skoru
Bellek
Hız
Tamlık
Bellek
skoru
1
Kütleli
2.089
0.709
0.097
1.991
0.782
0.097
2
Düz
1.824
0.640
0.088
1.803
0.656
0.088
3
Kütleli
2.845
0.294
0.158
2.970
0.573
0.158
4
Düz
2.026
0.627
0.300
2.117
0.617
0.300
Ortalama
2.196
0.567
0.161
2.22
0.657
0.161
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
1.925
0.460
0.194
1.96
0.636
0.194
2.467
0.675
0.128
2.48
0.728
0.128
K-means (Öklid formülü) ile k-means (kosinüs formülü) arasında yapılan
karşılaştırma sonuçlarında da (Bkz. Çizelge 5.11) k-means (Öklid) kümeleme hız
ortalaması dört veri seti için 2.22 saniye, kümeleme tamlık skoru ise 0.657ve
kümeleme bellek kaplaması ise 0.161 MB olarak elde edilmiştir. Diğer tarafta kmeans (kosinüs) kümeleme hız ortalaması dört veri seti için 2.196 saniye, kümeleme
tamlık skoru ise 0.567 ve kümeleme bellek kaplaması ise 0.161 MB olarak elde
edilmiştir.
Kernel k-means (RBF fonksiyonu) ile kernel k-means (polynomial fonksiyonu)
arasında yapılan karşılaştırma sonuçları da kernel k-means (RBF fonksiyonu)
algoritması için hız ortalaması 2.708 saniye, kümeleme tamlık skoru ise 0.881 ve
kümeleme bellek kaplaması ise 24.07 MB olarak elde edilmiştir. Diğer tarafta kernel
65
k-means (Polynomial) algoritması için hız ortalaması 2.607 saniye, kümeleme tamlık
skoru ise 0.864 ve kümeleme bellek kaplaması ise 24.07 MB olarak elde edilmiştir.
Çizelge 5.12. kernel k-means algoritması (RBF fonksiyonu) kernel k-means
algoritması (Polynomial fonksiyonu) orta hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu.
NO.
Dağılım
Kernel k-means
Kernel k-means algoritması
Türü
algoritması (RBF
(Polynomial fonksiyonu)
fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
2.396
0.930
17.28
2.180
0.932
17.28
2
Düz
1.871
0.851
14.03
1.872
0.781
14.03
3
Kütleli
3.825
0.997
47.88
4.180
0.994
47.88
4
Düz
2.738
0.746
17.12
2.196
0.749
17.12
Ortalama
2.708
0.881
24.07
2.607
0.864
24.07
Düz dağılım
Ort.
Kütleli
dağılımlı Ort.
2.30
0.798
15.58
2.034
0.765
15.58
2.51
0.964
32.58
3.18
0.963
32.58
4.2.3.
Küçük hacimli veri setleri karşılaştırma sonuçları
Üçüncü aşamada da yukarıdaki aşamalarda yapıldığı gibi karşılaştırmalar
yapılmaktadır. Bu aşamada küçük hacimli veri setleri kullanılarak iki algoritmanın
üzerinde uygulanmıştır ve sonuçlar aşağıdaki tablolarda yerleştirilmiştir.
İlk karşılaştırma (Bkz. çizelge 5.13) k-means Öklid formülü ile kernel k-means (RBF
fonksiyonu) arasında yapılmıştır. K-means kümeleme hız ortalaması dört veri seti
için 1.172 saniye, kümeleme tamlık skoru ise 0.676ve kümeleme bellek kaplaması
ise 0.054MB olarak elde edilmiştir. Diğer tarafta kernel k-means algoritması için hız
ortalaması 1.207saniye, kümeleme tamlık skoru ise 0.885 ve kümeleme bellek
kaplaması ise 3.469 MB olarak elde edilmiştir.
66
İkinci karşılaştırma (Bkz. çizelge 5.14) k-means Öklid formülü ile kernel k-means
(polynomial fonksiyonu) arasında yapılmıştır. K-means kümeleme hız ortalaması
dört veri seti için 1.172 saniye, kümeleme tamlık skoru ise 0.676ve kümeleme bellek
kaplaması ise 0.054 MB olarak elde edilmiştir. Diğer tarafta kernel k-means
algoritması için hız ortalaması 1.204 saniye, kümeleme tamlık skoru ise 0.867 ve
kümeleme bellek kaplaması ise 3.469 MB olarak elde edilmiştir.
Çizelge 5.13. k-means algoritması (Öklid formülü) kernel k-means algoritması (RBF
fonksiyonu) küçük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Öklid formülü)
(RBF fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.382
0.666
0.054
1.357
0.945
4.803
2
Düz
0.867
0.533
0.030
0.875
0.821
1.251
3
Kütleli
1.069
0.725
0.042
1.178
0.943
2.798
4
Düz
1.368
0.781
0.128
1.421
0.834
5.024
Ortalama
1.172
0.676
0.064
1.208
0.885
3.469
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
1.117
0.657
0.079
1.148
0.883
3.137
1.225
0.696
0.048
1.267
0.889
3.800
K-means (Öklid formülü) ile k-means (kosinüs formülü) arasında yapılan
karşılaştırma sonuçlarında da (Bkz. Çizelge 5.17) k-means (Öklid) kümeleme hız
ortalaması dört veri seti için 1.172 saniye, kümeleme tamlık skoru ise 0.676ve
kümeleme bellek kaplaması ise 0.054 MB olarak elde edilmiştir. Diğer tarafta kmeans (kosinüs) kümeleme hız ortalaması dört veri seti için 1.129 saniye, kümeleme
tamlık skoru ise 0.606 ve kümeleme bellek kaplaması ise 0.054 MB olarak elde
edilmiştir.
67
Çizelge 5.14. k-means algoritması (Öklid formülü) kernel k-means algoritması
(Polynomial fonksiyonu) küçük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Öklid formülü)
(Polynomial fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.382
0.666
0.054
1.417
0.896
4.803
2
Düz
0.867
0.533
0.030
0.876
0.747
1.251
3
Kütleli
1.069
0.725
0.042
0.671
0.946
2.798
4
Düz
1.368
0.781
0.128
1.446
0.882
5.024
Ortalama
1.172
0.676
0.064
1.204
0.867
3.469
Düz dağılım
Ort.
Kütleli
dağılımlı Ort.
1.117
0.657
0.079
1.161
0.815
3.137
1.225
0.696
0.048
1.044
0.921
3.800
Üçüncü karşılaştırma (Bkz. çizelge 5.14) k-means (kosinüs formülü) ile kernel kmeans (RBF fonksiyonu) arasındaki karşılaştırma sonuçları verilmiştir. K-means
kümeleme hız ortalaması dört veri seti için 1.29 saniye, kümeleme tamlık skoru ise
0.606 ve kümeleme bellek kaplaması ise 0.054 MB olarak elde edilmiştir. Diğer
tarafta kernel k-means algoritması için hız ortalaması 1.208 saniye, kümeleme tamlık
skoru ise 0.885 ve kümeleme bellek kaplaması ise 3.469 MB olarak elde edilmiştir.
Karşılaştırmanın dördüncü tablosu ise (Bkz. Çizelge 5.16) k-means (kosinüs)
formülü ile kernel k-means (polynomial fonksiyonu) arasındaki karşılaştırma
sonuçlarını içermektedir. K-means kümeleme hız ortalaması dört veri seti için 1.129
saniye, kümeleme tamlık skoru ise 0.606 ve kümeleme bellek kaplaması ise 0.054
MB olarak elde edilmiştir. Diğer tarafta kernel k-means algoritması için hız
ortalaması 1.204 saniye, kümeleme tamlık skoru ise 0.867 ve kümeleme bellek
kaplaması ise 3.054 MB olarak elde edilmiştir.
68
Çizelge 5.15. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(RBF fonksiyonu) küçük hacimli veri setleri üzerinde karşılaştırma
tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Kosinüs formülü)
(RBF fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.241
0.482
0.054
1.357
0.834
4.803
2
Düz
0.856
0.431
0.030
0.875
0.821
1.251
3
Kütleli
1.064
0.751
0.042
1.178
0.943
2.798
4
Düz
1.355
0.758
0.128
1.421
0.945
5.024
Ortalama
1.129
0.606
0.063
1.208
0.885
3.469
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
1.106
0.595
0.079
1.208
0.885
3.137
1.153
0.617
0.048
1.148
0.883
3.800
Çizelge 5.16. k-means algoritması (Kosinüs formülü) kernel k-means algoritması
(Polynomial fonksiyonu) küçük hacimli veri setleri üzerinde
karşılaştırma tablosu sonucu.
NO.
Dağılım
K-means algoritması
Kernel k-means algoritması
Türü
(Kosinüs formülü)
(Polynomial fonksiyonu)
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.241
0.482
0.054
1.417
0.896
4.803
2
Düz
0.856
0.431
0.030
0.876
0.747
1.251
3
Kütleli
1.064
0.751
0.042
0.671
0.946
2.798
4
Düz
1.355
0.758
0.128
1.446
0.882
5.024
Ortalama
1.129
0.606
0.063
1.204
0.885
3.469
Düz dağılım
Ort.
1.106
0.595
0.079
1.161
0.815
3.137
69
Çizelge 5.17. k-means algoritması (Kosinüs formülü) k-means algoritması (Öklid
formülü) küçük hacimli veri setleri üzerinde karşılaştırma tablosu
sonucu.
NO.
Dağılım
K-means algoritması
K-means algoritması (Öklid
Türü
(Kosinüs formülü)
formülü)
Hız
Tamlık skoru
Bellek
Hız
Tamlık
Bellek
skoru
1
Kütleli
1.241
0.482
0.054
1.382
0.666
0.054
2
Düz
0.856
0.431
0.030
0.867
0.533
0.030
3
Kütleli
1.064
0.751
0.042
1.069
0.725
0.042
4
Düz
1.355
0.758
0.128
1.368
0.781
0.128
Ortalama
1.129
0.606
0.064
1.172
0.676
0.064
Düz dağılım
Ort.
Kütleli dağılımlı
Ort.
1.106
0.595
0.079
1.117
0.657
0.079
1.153
0.617
0.048
1.225
0.696
0.048
Kernel k-means (RBF fonksiyonu) ile kernel k-means (polynomial fonksiyonu)
arasında yapılan karşılaştırma sonuçları da (Bkz. Çizelge 5.18) kernel k-means (RBF
fonksiyonu) algoritması için hız ortalaması 1.208 saniye, kümeleme tamlık skoru ise
0.885 ve kümeleme bellek kaplaması ise 3.469 MB olarak elde edilmiştir. Diğer
tarafta kernel k-means (Polynomial) algoritması için hız ortalaması 1.204 saniye,
kümeleme tamlık skoru ise 0.867 ve kümeleme bellek kaplaması ise 3.469 MB
olarak elde edilmiştir.
70
Çizelge 5.18. kernel k-means algoritması (RBF fonksiyonu) kernel k-means
Algoritması (Polynomial fonksiyonu) küçük hacimli veri setleri
üzerinde karşılaştırma tablosu sonucu.
NO. Dağılım
Kernel k-means algoritması
Kernel k-means algoritması
(RBF fonksiyonu)
(Polynomial fonksiyonu)
Türü
Hız
Tamlık
Bellek
Hız
skoru
Tamlık
Bellek
skoru
1
Kütleli
1.357
0.834
4.803
1.417
0.896
4.803
2
Düz
0.875
0.821
1.251
0.876
0.747
1.251
3
Kütleli
1.178
0.943
2.798
0.671
0.946
2.798
4
Düz
1.421
0.945
5.024
1.446
0.882
5.024
Ortalama
1.208
0.885
3.469
1.204
0.867
3.469
Düz dağılım
Ort.
Kütleli
dağılımlı Ort.
1.208
0.885
3.137
1.161
0.815
3.137
1.148
0.883
3.800
1.044
0.921
3.800
71
5. SONUÇ
Bu
tezde
bölümleyici
kümeleme
algoritmalarının
farklı
veri
hacmi
ve
yoğunluklarında karşılaştırma çalışması gerçekleştirilmiştir. Söz konusu algoritmalar
k-means algoritması ve kernel k-means algoritmasıdır, ele alınan bu algoritmalarla
ilgili bir yazılım gerçekleştirilmiştir. Gerçekleştirilen yazılım detaylı bir şekilde
dördüncü bölümde anlatılmıştır. Bu yazılımı kullanarak karşılaştırma tabloları
hazırlanmıştır. Toplam 12 farklı hacimli ve dağılımlı veri setleri kullanılarak
karşılaştırma tabloları elde edilmiştir. Karşılaştırma tablolarının ortalama sonuçlarını
ele alarak bölümleyici kümeleme algoritmalarının farklı veri yoğunluklarında
uygulamasının sonucu şöyle elde edilmiştir:
5.1. İki algoritmanın farklı yoğunluklu ve aynı hacimli veri setlerinde
uygulama sonucu karşılaştırması
Büyük hacimli veri setlerinde elde edilen sonuçlar
Büyük hacimli farklı dağılımlı veri setlerini ele aldığımızda hazırlanan ara yüzünü
kullandıktan sonra elde edilen sonuçlarda iki algoritma arasında dikkat edilen
noktalar hız kalite ve bellek hacmi kullanımı açısından şöyledir:
1. Algoritma karşılaştırması
A- Standart k-means algoritması (Öklid formülü) ve kernel k-means algoritması
(RBF fonksiyonu) kullanıldığında iki algoritmanın hız değerlendirmesinde
standart k-means algoritması hız ortalaması 6.768 saniye olarak elde edilmiştir.
Kernel k-means algoritması için ise 9.819 saniye olarak elde edilmiştir.
Değerlendirmenin sonucuna bakarsak 3.051 saniye standart k-means algoritması
daha hızlı çalışma elde etmiştir ve sonuç olarak k-means algoritması kernel kmeanse algoritmasına göre az farkla daha hızlı çalışmaktadır. Karşılaştırmanın
küme tamlık skoru sonuçlarına bakarsak k-means algoritması için 0.683 tespit
edilmiştir. Kernel k-means algoritması için 0.858 tespit edilmiştir. Bu sonuçların
değerlendirmesine bakarsak 0.175 farkla kernel k-means algoritması daha
72
kaliteli kümeleme elde etmektedir. Sonuç olarak kernel k-means algoritması
standart k-means algoritmasından daha kaliteli kümeleme yaptığı görülmektedir.
İki algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.337 MB.
Kernel k-means algoritması bellek kullanımı 226.3 MB olarak tespit edilmiştir.
Bu yüksek bellek kullanımında nedeni kernel fonksiyonlarında veri setinin
yüksek boyutlara taşmak için yapılan çarpma işlemlerinden kaynaklanıyor. Bu
aşamanın değerlendirmesine bakarsak k-means algoritması daha az bellek
kullanarak kümeleme işlemini tamamlamaktadır.
B- Standart
k-means
algoritmasının
Öklid
formülüve
Kernel
k-means
algoritmasının polynomial fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 6.768 saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 9.668 saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 2.9 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiginde k-means algoritmasının tamlık
skoru 0.337; kernel k-means kümeleme tamlık skoru ise 0.844 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.161 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.363 MB, kernel
k-means
algoritması226.3
değerlendirildiğinde
MB
bellek
kullanmaktadır.
Bu
aşama
k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
C- Standart
k-means
algoritmasının
kosinüs
formülüve
Kernel
k-means
algoritmasının RBF fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 6.457saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 9.816saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 3.35 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiginde k-means algoritmasının tamlık
skoru 0.628 ; kernel k-means kümeleme tamlık skoru ise 0.858 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.23 farkla daha iyi kümeleme işlemi yapmaktadır. İki
73
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.337 MB, kernel
k-means
algoritması226.3
değerlendirildiğinde
MB
bellek
kullanmaktadır.
Bu
aşama
k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
D- Standart
k-means
algoritmasının
kosinüs
formülüve
Kernel
k-means
algoritmasının polynomial fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 6.457saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 9.668 saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 3.21 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.628; kernel k-means kümeleme tamlık skoru ise 0.843 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.21 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.337 MB, kernel
k-means
algoritması226.3
değerlendirildiğinde
MB
bellek
kullanmaktadır.
Bu
aşama
k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
E- Standart
k-means
algoritmasının
kosinüs
formülüve
standart
k-means
algoritmasının Öklid formülü karşılaştırıldığında hız açısından k-means
(kosinüs) algoritmasının kümeleme hızı 6.457saniye olarak tespit edilirken; kmeans (Öklid) algoritmasının kümeleme hızı ise 6.768saniye olarak tespit
edilmiştir. Bu sonuçlara göre k-means (kosinüs) algoritmasının 0.331 saniye
daha hızlı kümeleme yaptığı gözlemlenmiştir. Küme kalitesi incelendiğinde kmeans (kosinüs) algoritmasının tamlık skoru 0.628; k-means (Öklid) kümeleme
tamlık skoru ise 0.683 olarak tespit edilmiştir. Bu sonuçlardan yola çıkarak kmeans (Öklid) algoritması k-means (kosinüs) algoritmasından 0.075 farkla daha
iyi kümeleme işlemi yapmaktadır.
F- Kernel
k-means
algoritmasının
RBF
fonksiyonuve
standart
k-means
algoritmasının polynpmial fonksiyonu karşılaştırıldığında hız açısından kernel k-
74
means (RBF) algoritmasının kümeleme hızı 9.816saniye olarak tespit edilirken;
kernel k-means (polynomial) algoritmasının kümeleme hızı ise 9.668saniye
olarak tespit edilmiştir. Bu sonuçlara göre kernel k-means (kosinüs)
algoritmasının 0.148 saniye daha hızlı kümeleme yaptığı gözlemlenmiştir. Küme
kalitesi incelendiğinde kernel k-means (RBF) algoritmasının tamlık skoru 0.858;
kernel k-means (polynomial) kümeleme tamlık skoru ise 0.843 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means (RBF) algoritması kernel
k-means (polynomial) algoritmasından 0.075 farkla daha iyi kümeleme işlemi
yapmaktadır.
2.
Yoğunluk karşılaştırması
Karşılaştırma tablolarında farklı yoğunluklu veri setleri kullanılmıştır. Bu veri
setlerinin dağılımlarının şekli ve sıklığına göre genel olarak kütleli dağılımlı ve düz
dağılımlı olarak ayrılmıştır. Farklı yoğunluklu veri setlerini algoritmalara uygularken
aralarında fark izlenmiştir. Bu farklar:
A- Standart k-means algoritması (Öklid formülü) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 5.885 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 7.65 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 1.765 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.64
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.727 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.087 farkla daha iyi kümeleme
işlemi yapmaktadır.
B- Standart k-means algoritması (kosinüs formülü) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 5.87 saniye olarak tespit edilmiştir. Kütleli
veri setleri ise 7.046 saniye olarak tespit edilmiştir. Bu sonuçtan yola çıkarak
düz dağılımlı veri setlerinin kümeleme işlemi 1.176 saniye farkla daha hızlı
tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.579 olarak
tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.676 olarak tespit
75
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.097farkla daha iyi kümeleme
işlemi yapmaktadır.
C- kernel k-means algoritması (RBF fonksiyonu) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 9.197 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 10.441 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 1.244 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.79
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.927 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.137 farkla daha iyi kümeleme
işlemi yapmaktadır.
D- kernel k-means algoritması (polynomial fonksiyonu) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 9.625 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 9.68 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 0.055 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.793
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.893 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.1 farkla daha iyi kümeleme
işlemi yapmaktadır.
Orta hacimli veri setlerinde elde edilen sonuçlar
Orta hacimli farklı dağılımlı veri setlerini ele aldığımızda hazırlanan ara yüzünü
kullandıktan sonra elde edilen sonuçlarda iki algoritma arasında dikkat edilen
noktalar hız kalite ve bellek hacmi kullanımı açısından şöyledir:
1.
Algoritma karşılaştırması
A- Standart
k-means
algoritmasının
Öklid
formülü
ve
Kernel
k-means
algoritmasının RBF fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 2.22 saniye olarak tespit edilirken; kernel k-means
algoritmasının kümeleme hızı ise 2.708 saniye olarak tespit edilmiştir. Bu
76
sonuçlara göre k-means algoritmasının 0.48 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiginde k-means algoritmasının tamlık
skoru 0.657; kernel k-means kümeleme tamlık skoru ise 0.881 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.224 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.161 MB, kernel
k-means
algoritması
24.07
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
B- Standart
k-means
algoritmasının
Öklid
formülüve
Kernel
k-means
algoritmasının polynomial fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 2.22saniye olarak tespit edilirken; kernel k-means
algoritmasının kümeleme hızı ise 2.607saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.387 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.657; kernel k-means kümeleme tamlık skoru ise 0.864 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.207 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.161 MB, kernel
k-means
algoritması
24.07
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
C- Standart
k-means
algoritmasının
kosinüs
formülüve
Kernel
k-means
algoritmasının RBF fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 2.196saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 2.708saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.512 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.567; kernel k-means kümeleme tamlık skoru ise 0.881 olarak tespit
77
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.32 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.161 MB, kernel
k-means
algoritması
24.07
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
D- Standart
algoritmasının
k-means
kosinüs
formülüve
Kernel
k-means
algoritmasının polynomial fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 2.191saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 2.607saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.416 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.567; kernel k-means kümeleme tamlık skoru ise 0.864 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.3 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.161 MB, kernel
k-means
algoritması
24.07
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
E- Standart
k-means
algoritmasının
kosinüs
formülüve
standart
k-means
algoritmasının Öklid formülü karşılaştırıldığında hız açısından k-means
(kosinüs) algoritmasının kümeleme hızı 2.196saniye olarak tespit edilirken; kmeans (Öklid) algoritmasının kümeleme hızı ise 2.22saniye olarak tespit
edilmiştir. Bu sonuçlara göre k-means (kosinüs) algoritmasının 0.024 saniye
daha hızlı kümeleme yaptığı gözlemlenmiştir. Küme kalitesi incelendiğinde kmeans (kosinüs) algoritmasının tamlık skoru 0.567; k-means (Öklid) kümeleme
tamlık skoru ise 0.657 olarak tespit edilmiştir. Bu sonuçlardan yola çıkarak kmeans (Öklid) algoritması k-means (kosinüs) algoritmasından 0.09 farkla daha
iyi kümeleme işlemi yapmaktadır.
78
F- Kernel
k-means
algoritmasının
RBF
fonksiyonuve
standart
k-means
algoritmasının polynpmial fonksiyonu karşılaştırıldığında hız açısından kernel kmeans (RBF) algoritmasının kümeleme hızı 2.708saniye olarak tespit edilirken;
kernel k-means (polynomial) algoritmasının kümeleme hızı ise 2.607saniye
olarak tespit edilmiştir. Bu sonuçlara göre kernel k-means (kosinüs)
algoritmasının 0.101 saniye daha hızlı kümeleme yaptığı gözlemlenmiştir. Küme
kalitesi incelendiğinde kernel k-means (RBF) algoritmasının tamlık skoru 0.881;
kernel k-means (polynomial) kümeleme tamlık skoru ise 0.864 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means (RBF) algoritması kernel
k-means (polynomial) algoritmasından 0.017 farkla daha iyi kümeleme işlemi
yapmaktadır.
2. Yoğunluk karşılaştırması
A- Standart k-means algoritması (Öklid formülü) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 1.96 saniye olarak tespit edilmiştir. Kütleli
veri setleri ise 2.48 saniye olarak tespit edilmiştir. Bu sonuçtan yola çıkarak düz
dağılımlı veri setlerinin kümeleme işlemi 0.52 saniye farkla daha hızlı
tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.636 olarak
tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.728 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.092 farkla daha iyi kümeleme
işlemi yapmaktadır.
B- Standart k-means algoritması (kosinüs formülü) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 1.925 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 2.647 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 0.722 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.460
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.675 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.215farkla daha iyi kümeleme
işlemi yapmaktadır.
79
C- kernel k-means algoritması (RBF fonksiyonu) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 2.3 saniye olarak tespit edilmiştir. Kütleli
veri setleri ise 2.51 saniye olarak tespit edilmiştir. Bu sonuçtan yola çıkarak düz
dağılımlı veri setlerinin kümeleme işlemi 0.21 saniye farkla daha hızlı
tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.798 olarak
tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.964 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.166 farkla daha iyi kümeleme
işlemi yapmaktadır.
D- kernel k-means algoritması (polynomial fonksiyonu) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 2.034 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 3.18 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 1.146 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.765
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.963 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.198 farkla daha iyi kümeleme
işlemi yapmaktadır.
Küçük hacimli veri setlerinde elde edilen sonuçlar
Küçük hacimli farklı dağılımlı veri setlerini ele aldığımızda hazırlanan ara yüzünü
kullandıktan sonra elde edilen sonuçlarda iki algoritma arasında dikkat edilen
noktalar hız kalite ve bellek hacmi kullanımı açısından şöyledir:
1.
Algoritma karşılaştırması
A- Standart
k-means
algoritmasının
Öklid
formülü
ve
Kernel
k-means
algoritmasının RBF fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 1.172 saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 1.208 saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.036 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
80
skoru 0.676; kernel k-means kümeleme tamlık skoru ise 0.885 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.209 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.052 MB, kernel
k-means
algoritması
3.469
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
B- Standart
k-means
algoritmasının
Öklid
formülüve
Kernel
k-means
algoritmasının polynomial fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 1.172saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 1.204saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.032 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.676; kernel k-means kümeleme tamlık skoru ise 0.867 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.191 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.054 MB, kernel
k-means
algoritması
3.496
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
C- Standart
k-means
algoritmasının
kosinüs
formülüve
Kernel
k-means
algoritmasının RBF fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 1.129saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 1.208saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.079 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.606; kernel k-means kümeleme tamlık skoru ise 0.885 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.279 farkla daha iyi kümeleme işlemi yapmaktadır. İki
81
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.054 MB, kernel
k-means
algoritması
3.469
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
D- Standart
algoritmasının
k-means
kosinüs
formülüve
Kernel
k-means
algoritmasının polynomial fonksiyonu karşılaştırıldığında hız açısından k-means
algoritmasının kümeleme hızı 1.129saniye olarak tespit edilirken; kernel kmeans algoritmasının kümeleme hızı ise 1.204saniye olarak tespit edilmiştir. Bu
sonuçlara göre k-means algoritmasının 0.075 saniye daha hızlı kümeleme yaptığı
gözlemlenmiştir. Küme kalitesi incelendiğinde k-means algoritmasının tamlık
skoru 0.606; kernel k-means kümeleme tamlık skoru ise 0.867 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means algoritması k-means
algoritmasından 0.261 farkla daha iyi kümeleme işlemi yapmaktadır. İki
algoritmanın bellek sonuçlarına bakılırsa k-means algoritması 0.054 MB, kernel
k-means
algoritması
3.469
MB
bellek
kullanmaktadır.
Bu
aşama
değerlendirildiğinde k-means algoritmasının daha az bellek kullanarak
kümeleme işlemini tamamladığı kanısına varılmaktadır.
E- Standart
k-means
algoritmasının
kosinüs
formülüve
standart
k-means
algoritmasının Öklid formülü karşılaştırıldığında hız açısından k-means
(kosinüs) algoritmasının kümeleme hızı 1.129saniye olarak tespit edilirken; kmeans (Öklid) algoritmasının kümeleme hızı ise 1.172saniye olarak tespit
edilmiştir. Bu sonuçlara göre k-means (kosinüs) algoritmasının 0.043 saniye
daha hızlı kümeleme yaptığı gözlemlenmiştir. Küme kalitesi incelendiğinde kmeans (kosinüs) algoritmasının tamlık skoru 0.606; k-means (Öklid) kümeleme
tamlık skoru ise 0.676 olarak tespit edilmiştir. Bu sonuçlardan yola çıkarak kmeans (Öklid) algoritması k-means (kosinüs) algoritmasından 0.07 farkla daha
iyi kümeleme işlemi yapmaktadır.
F- Kernel
k-means
algoritmasının
RBF
fonksiyonuve
standart
k-means
algoritmasının polynpmial fonksiyonu karşılaştırıldığında hız açısından kernel k-
82
means (RBF) algoritmasının kümeleme hızı 1.208saniye olarak tespit edilirken;
kernel k-means (polynomial) algoritmasının kümeleme hızı ise 1.204saniye
olarak tespit edilmiştir. Bu sonuçlara göre kernel k-means (kosinüs)
algoritmasının 0.004 saniye daha hızlı kümeleme yaptığı gözlemlenmiştir. Küme
kalitesi incelendiğinde kernel k-means (RBF) algoritmasının tamlık skoru 0.885;
kernel k-means (polynomial) kümeleme tamlık skoru ise 0.869 olarak tespit
edilmiştir. Bu sonuçlardan yola çıkarak kernel k-means (RBF) algoritması kernel
k-means (polynomial) algoritmasından 0.016 farkla daha iyi kümeleme işlemi
yapmaktadır.
2.
Yoğunluk karşılaştırması
A- Standart k-means algoritması (Öklid formülü) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 1.117 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 1.225 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 0.108 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.657
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.696 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.039 farkla daha iyi kümeleme
işlemi yapmaktadır.
B- Standart k-means algoritması (kosinüs formülü) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 1.106 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 1.153 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 0.047 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.595
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.617 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.022 farkla daha iyi kümeleme
işlemi yapmaktadır.
C- kernel k-means algoritması (RBF fonksiyonu) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 1.148 saniye olarak tespit edilmiştir.
83
Kütleli veri setleri ise 1.153 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak düz dağılımlı veri setlerinin kümeleme işlemi 0.005 saniye farkla daha
hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.883
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.889 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.006 farkla daha iyi kümeleme
işlemi yapmaktadır.
D- kernel k-means algoritması (polynomial fonksiyonu) düz dağılımlı veri setleri
uygulamasının hız ortalaması sonucu 1.161 saniye olarak tespit edilmiştir.
Kütleli veri setleri ise 1.044 saniye olarak tespit edilmiştir. Bu sonuçtan yola
çıkarak kütleli dağılımlı veri setlerinin kümeleme işlemi 0.117 saniye farkla
daha hızlı tamamlamaktadır. Tamlık skoru ise düz dağılımlı veri setlerinde 0.815
olarak tespit edilmiştir. Kütleli veri setlerin tamlık skoru ise 0.921 olarak tespit
edilmiştir. Bu sonuçlara göre kütleli veri setleri 0.106 farkla daha iyi kümeleme
işlemi yapmaktadır.
5.2. Algoritmaların farklı yoğunluklu ve farklı hacimli veri setlerinde
uygulama sonucu karşılaştırması
Farklı yoğunluklu veriler üzerinde uygulanan standart k-means (Öklid formülü,
kosinüs formülü) algoritması ve kernel k-means algoritması farklı hacimde bulunan
veri setler arasında dikkate alınan bazı noktalar tespit edilmiştir. Dikkat edilen
noktalar algoritmaların hız, kümeleme tamlığı ve bellek kullanımı açılarındandır.
1.
Algoritmalar arasında dikkat edilen noktalar
Hız açısından dikkate alınan nokta, kernel k-means (RBF fonksiyonu, ploynomial
fonksiyonu) algoritması veri seti hacmi küçüldükçe daha hızlı kümeleme işlemi
yapmaktadır. Bu sonuçlar özellikle küçük veri setleri uygulama sonuçlarında net bir
şekilde görülmüştür ve neredeyse standart k-means algoritması (Öklid formülü,
kosinüs formülü) ile aynı hızla işlemi tamamlamaktadır. Aşağıda standart k-means
(Öklid formülü, kosinüs formülü), kernel k-means (RBF fonksiyonu, ploynomial
84
fonksiyonu)’ten saniye olarak hız ortalaması üstünlük farkları sırası ile büyük, orta,
küçük veri setlerindeki sonuçları verilmiştir.

Standart k-means (Öklid) - kernel k-means (RBF): 3.051, 0.48, 0.036.

Standart k-means (Öklid) - kernel k-means (polynomial): 2.90, 0.39, 0.032.

Standart k-means (kosinüs) - kernel k-means (RBF): 3.35, 0.51, 0.079.

Standart k-means (kosinüs) - kernel k-means (polynomial): 3.21, 0.42, 0.075.
Kümeleme tamlık skoru açısından bakılırsa tespit edilen nokta kernel k-means (RBF
fonksiyonu, ploynomial fonksiyonu) algoritması tüm yoğunluklu veri setleri üzerinde
standart k-means (Öklid formülü, kosinüs formülü) algoritmasından üstün kaliteli
kümeleme sonucu ortaya çıkarmıştır. Algoritmaların net performansını ortaya
çıkarmak için birbirinden farklı ve her türlü dağılımlı veri setleri kullanıldı ve tüm
veri setleri sonucunda kernel k-means (RBF fonksiyonu, ploynomial fonksiyonu)
algoritması daha iyi performans göstermiştir. Veri seti hacmi ne kadar büyük olursa
olsun kernel k-means algoritması üstünlüğünü korumuştur. Aşağıda kernel k-means
(RBF fonksiyonu, ploynomial fonksiyonu)standart k-means (Öklid formülü, kosinüs
formülü)’ten küme tamlama skoru ortalaması üstünlük farkları sırası ile büyük orta
küçük veri setlerindeki sonuçları:

Standart k-means (Öklid) - kernel k-means (RBF): 0.275, 0.224, 0.209.

Standart k-means (Öklid) - kernel k-means (polynomial): 0.207, 0.191, 0.161.

Standart k-means (kosinüs) - kernel k-means (RBF): 0.32, 0.27, 0.23.

Standart k-means (kosinüs) - kernel k-means (polynomial): 0.3, 0.26, 0.21.
Bellek kaplama açısındaysa kernel k-means (RBF fonksiyonu, ploynomial
fonksiyonu) algoritması standart k-means (Öklid formülü, kosinüs formülü)
algoritmasından
daha
çok
bellek
kullandığı
izlenmiştir.
Kernel
k-means
algoritmasının çok bellek kullanımı nedeni kernel metotlu fonksiyonların veri setinin
yüksek boyutlu uzaylara taşımak için yapılan çarpımlardan kaynaklıdır. Böylece veri
setlerinin yüksek boyuta taşınması için daha çok bellek kullanımı gerektirir. Kernel
k-means (RBF fonksiyonu, ploynomial fonksiyonu) algoritmasının veri seti hacmi
85
düştükçe kullandığı belleğin büyük ölçüde düştüğü izlenmiştir. Standart k-means
(Öklid formülü, kosinüs formülü) algoritmasının aynı şekilde veri seti hacmi
düştükçe daha az bellek ile kümeleme işlemini tamamlamadığı izlenmiştir. Kernel kmeans algoritmasının RBF fonksiyonu ve polynomial fonksiyonu aynı veri seti
üzerinde uygulandığında aynı hacimde bellek kullandığı izlenmiştir ve aynı şekilde
standart k-menas algoritmasının Öklid ve kosinüs formülleri aynı veri seti üzerinde
uygulandığında aynı hacimde bellek kullanılması gerektiği izlenmiştir.Aşağıda
standart k-means (Öklid formülü, kosinüs formülü)
kernel k-means (RBF
fonksiyonu, ploynomial fonksiyonu)’ten bellek kaplama (MB olarak) ortalaması
üstünlük farkları sırası ile büyük, orta, küçük veri setlerindeki sonuçları verilmiştir.

Standart k-means (Öklid) - kernel k-means (RBF): 225.961, 23.909, 3.417.

Standart k-means (Öklid) - kernel k-means (polynomial): 225.961, 23.909,
3.417.

Standart k-means (kosinüs) - kernel k-means (RBF): 225.961, 23.909, 3.417.

Standart k-means (kosinüs) - kernel k-means (polynomial): 225.961, 23.909,
3.417.
2. Veri yoğunlukları arasında dikkat edilen noktalar
Farklı hacimli veri setleri kullanılarak farklı yoğunluklu veri setlerinin uygulaması
sonucunda kümeleme hızı açısından dikkate alınan noktalar izlenmiştir. Düz
dağılımlı veri setleri uygulandığında kümeleme işlemini tamamlamak için kütleli veri
setleri daha az zaman harcayarak işlemi tamamlamıştır. Ayrıca veri setinin hacmi
düştükçe kümeleme hızının da önemli ölçüde düştüğü izlenmiştir. Kümeleme tamlık
skoru hesaplamasında ise kütleli dağılımlı veri setler, düz dağılımlı veri setlerinden
daha kaliteli kümeleme sonucu elde etmiştir. Aşağıda farklı yoğunluklu ve farklı
hacimli veri setlerinin uygulama sonuçları düz ve kütleli olarak her algoritma için
sırası ile büyük, orta ve küçük veri setleri için göstermektedir.
86

Hız sonuçları
Büyük
Orta
Küçük
K-means (Öklid formülü):
(5.885, 7.65), (1.96, 2.48), (1.117, 1.225).
K-means (kosinüs formülü):
(5.87, 7.046, (1.925,2.467), (1.106. 1.153).
Kernel K-means (RBF fonksiyonu):
(9.197,10.44), (2.30,2.51), (1.148, 1.267).
Kernel K-means (polynomial fonksiyonu): (9.652, 9.68), (2.034,3.18), (1.161,
1.044).

Küme tamlık skoru sonuçları
Büyük
K-means (Öklid formülü):
Orta
Küçük
(0.641, 0.727), (0.636, 0.728), (0.657, 0.696).
K-means (kosinüs formülü):
(0.579, 0.676), (0.46, 0.675), (0.595, 0.617).
Kernel K-means (RBF fonksiyonu):
(0.79, 0.927), (0.798, 0.964), (0.881, 0.889).
Kernel K-means (polynomial fonksiyonu): (0.793, 0.893), (0.765, 0.963), (0.815,
0.921).
Yukarıda bahsi geçen izlenmiş sonuçlar bölümleyici kümeleme algoritmasının farklı
yoğunluklu veri setleri üzerinde uygulama sonuçları idi. Bu tezde bölümleyici
algoritmalardan standart k-means algoritması ve kernel k-means algoritması
kullanılmıştır. Sonuçlardan yola çıkarak standart k-means algoritması daha hızlı ve
kernel k-means algoritması daha kaliteli kümeleme yapmaktadır. Ayrıca kümeleme
algoritmalarının kütleli veri setleri üzerinde daha başarılı olduğu kanısına varılmıştır.
87
KAYNAKLAR
1. Keselj, V. and Liu ,H., “Combined mining of Web server logs and web contents for
classifying user navigation patterns and predicting users future requests”,
ScinceDirect digital library, 61(2): 304-330 (2007).
2. Dujovne, E., Huillier, G. and Vela´squez,D., “Extracting significant Website Key
Objects: A Semantic Web mining approach”, ScinceDirect digital library, 24(8):
1532-1542 (2007).
3. Internet: Istanbul Üniversitesi “Veri Tabanlarında Bilgi Keşfi ve Veri Madenciliği”,
http://www.istanbul.edu.tr/isletme/dergi/nisan2000/1.HTM, (2012).
4. Liu B., “Web Data Mining : Exploring Hyperlinks, Contents, and Usage Data, 13”,
M.J. Carey S. Ceri,Springer-Verlag Berlin Heidelberg, Chicago USA, 3-485:(2009).
5. Bouveyron C. and Brunet-Saumard C.,“Model-based clustering of high-dimensional
data: A review”, Elsevier, in press (2012).
6. Bouveyrona C., Girardb S. and Schmidc C., “High-Dimensional Data Clustering”,
ScinceDirect digital library, 52(1): 502-519(2008).
7. Ashidi N., Mat Isa and Noraini Sulaiman, S., “Adaptive Fuzzy-K-means Clustering
Algorithm for Image Segmentation”, IEEE, 56(4): 0083-3063(2010).
8. Su X. and Wang J.,” An improved K-Means clustering algorithm”,IEEE, 58(4): 790798 (2011).
9. Fan A. and Ren s., “K-means Clustering Algorithm Based On Coefficient Of
Variation”, IEEE, 4: 2076-2079(2011).
10. Chen H., Li D. and Shen J.,” A Fast K-Means Clustering Algorithm Based on Grid
Data Reduction”, IEEE,1-6 (2009).
11. Eswara Reddy B. , Hitendra Sarma T. and Viswanath P., “A hybrid approach to
speed-up the k-means clustering method”, Springer-Verlag ,4(2): 107-117 (2012).
12. Chang D., Xian D. and Chang W., ” A genetic algorithm with gene rearrangement
for K-means clustering. Pattern Recognition”, IEEE, 42(7): 1210-1222(2009).
13. Bagirov A.M., Ugon J. and Webb D., “Fast modified global k-means algorithm for
incremental cluster construction”, ACM Digital Library,44(4): 866-876 (2011).
14. Binti W., Maseri W. and Mohd A.H. and Herawan T., K.F.Rabbi, “An Improved
Parameter less Data Clustering Technique based on Maximum Distance of Data and
Lioyd k-means Algorithm”, ScinceDirect, 1: 367-371(2011).
88
15. Prasanta, K. and Reddy, D. Jana, “Initialization for K-means clustering using
Voronoi diagram”, Elsevier Ltd.,4: 395-400 (2012).
16. Brunsch, T. and Röglin, H., “A bad instance for k-means++”, Elsevier, in press:
(2012).
17. Mozafari, B., Thakkar H. and Zaniolo C., “A Data Stream Mining System”, IEEE
International Conference on Data Mining Workshops,887-990(2008).
18. Kaya, H. ve Köymen, K.,“Veri Madenciliği Kavramı Ve Uygulama Alanları”,Doğu
anadollu araştırmaları, İstanbul,(2008).
19. FayyadU., Piatetsky-Shapiro G., Smyth, P., “Knowledge Discovery and Data
Mining:Towards a Unifying Framework”, AAAI, 82-88(2009).
20. Ionescu, F. and Pupezescu, V.,“Advances In Knowledge Discovery In Databases”,
Journal of Applied Economic Sciences,4(6): 444-450(2008).
21. An, A., Wang, Y., “Comparisons of Classification Methods for Screening Potential
Compounds”, IEEE Digital jornal, 7176463:11-18(2010).
22. Miyamoto, S., “Classification and Clustering: A Perspective toward Risk
Mining”,IEEE Xplor, 9342851:726 – 730(2008).
23. Changjiang Z., Yubo J., Zhangxiao Y., Weijie L., “Algorithm Research for
Freeway Incident Detection Based on SVM”, Geotechnical Special Publication
ASCE library, 25:196-205(2011).
24. Jiang, X.,Sun, D. and Wang, Q.,” The Application of Support Vector Machines
(SVM) for Traffic ConditionPrediction Using ITS Data”, ASCE library, 83:882890(2010).
25. Koutroumbas, K. and Theodoridis, S., “Clustering algorithms”, An Introduction to
Pattern Recognition, Elsevier Inc Digital library, The Boulevard, LangfordLane
Kidlington, Oxford,216, (2010).
26. Wu Z., Zhang B., Zhu Y., Zhao W. and Zhou Y., “Transformer fault portfolio
diagnosis based on the combination of the multiple Bayesian classifier and SVM”,
IEEE Digital journal,10500719:379-382(2009).
27. Kasper M., Osei-Bryson K. and Sharma S., “Evaluation of an integrated Knowledge
Discovery and Data Mining process model”,ScienceDirect digital journal,
39(13):11335-11348(2012).
89
28. Takigawa I., Zhu S., Mamitsuka H. and Zeng J.,” Field independent probabilistic
model for clustering multi-field documents”, Elsevier Ltd,45(5):555–570(2009).
29. Droege M. and Sean T. Leonard, “The uses and benefits of cluster analysis in
pharmacy research”, Elsevier,4(1):1-11(2008).
30. Jain A. K., “Data Clustering: 50 Years Beyond K-Means”, International Conference
on Pattern Recognition (ICPR) Michigan State University,31(8):651–666(2010).
31. Gun G., Ma C., Wa J., “Similarity and dissimilarity measures”, Data Clustering
Theory, Algorithm and Applications, Library of Congress Cataloging in
Publications Data, the American Statical Association and the Society for Industrial
and Applied Mathematics, 255, (2007).
32. Han J., Kamber M., “Data Mining: Concepts and Techniques”, Second Edition, page
429,ScienceDirect digital journal, (2008).
33. Wong H. and Yu Z., “GCA: A Real-Time Grid-Based Clustering Algorithm For
Large DataSet”, 18th International Conference on Pattern Recognition, USA
1051-4651(2008).
34. Jiawei, H., “Cluster Analysis”, Data Mining: Concepts and Techniques, 383,
Elsevier Inc., USA 290-673(2006).
35. Atrice Dufour, A., Gachet, S., Daniel H., Pavoine, S. and Vallet, J., “On the
challenge of treating various types of variables: application for improving the
measurement of functional diversity”, Journal compilation,(2009).
36. David, T.,” Advances in Classification of Sequence Data”,IGI Global,143, (2008).
37. Krzysztof J., Pedrycz W., Roman W., “Data Mining A Knowledge Discovery
Approach”, Springer Science+Business Media, (2007).
38. Handojo, A.,Santo, J. and Wibowo, A., ”Clustering Search Engine At Petra Christian
University Library Using Suffix Tree Clustering”, International Conference on
Uncertainty Reasoning and Knowledge Engineering, USA,45,(2011).
39. Haruechaiyasak ,C., Kongthon, A., Palingoon, P.and Thaiprayoon S., “Search Result
Clustering for Thai Twitter Based on Suffix Tree Clustering”, IEEE Digital journal,
(2012).
40. Maneewongvatana S. and Tepwankul A., “Customized DBSCAN for Clustering
Uncertain Objects”, Third International Conference on Knowledge Discovery and
Data Mining, USA, 95, (2010).
90
41. Albayrak S. and Tekbir M., “Recursive-Partitioned DBSCAN”,
library, (2010).
IEEE digital
42. Altıntop Ü., “Internet TabanlıÖğretimdeVeriMadenciliğiTekniklerininUygulaması”,
YüksekLisanstezi, Kocaeli Üniversitesi - Fen Bilimleri Enstitüsü, Kocaeli, (2007).
43. Nemala, V., “Efficient clustering techniques for managing large datasets”, UNLV,
January (2009).
44. Joshi, R., Patidar, A. and Mishra, S., “Scaling k-medoid Algorithm for Clustering
Large Categorical Dataset and its performance analysis”, IEEE Digital journal,
(2011).
45. Kaufman, L. and Rousseeuw, P., “clustering large applications”, Finding Groups in
Data: an Introduction to Cluster Analysis, WILEY, 126, (2005).
46. Punithavalli, M. and Murugavel, P., “Improved Hybrid Clustering and DistancebasedTechnique for Outlier Removal”, International Journal on Computer Science
and Engineering (IJCSE), 1 Jan (2011).
47. Feng J., Gong M., Jiao L.C., Sun T., Zhang X., “Robust non-local fuzzy c-means
algorithm with edge preservation for SAR image segmentation”, SinceDirect,
(2012).
48. Na, S., Xumin, L. and yong, G., “Research on k-means Clustering Algorithm An
Improved k-means Clustering Algorithm”, IEEE computer society, (2010).
49. Wang J., Su X., “An improved K-Means clustering algorithm”, IEEE digital
journal, (2011).
50. Liu, G., Sun, Y., Xu, K., “A k-Means-Based Projected Clustering Algorithm”, IEEE
digital journal, (2010).
51. Foresti G.L., Piciarelli C. and Micheloni C., “Kernel-based clustering”, IEEE
Explore, (2013).
52. Hitendra Sarma T., Viswanath P., Eswara Reddy B., “Speeding-up the kernel kmeans clustering method: A prototype based hybrid approach”, SinceDirect, (2012).
53. Hitendra Sarma T., Viswanath P., Eswara Reddy B., “A Fast Approximate Kernel kmeans Clustering Method For Large Data sets”, IEEE Explore, (2011).
54. P. Fränti and O. Virmajoki, "Iterative shrinking method for clustering
problems", Pattern Recognition, 39 (5), 761-765, May (2006).
91
55. Veenman, C.J., M.J.T. Reinders, and E. Backer, “A maximum variance cluster
algorithm. Pattern Analysis and Machine Intelligence”, IEEE Transactions, 24(9):
p. 1273-1280,(2002).
56. P. Horton, K. Nakai, "A Probablistic Classification System for Predicting the
Cellular Localization Sites of Proteins", Intelligent Systems in Molecular Biology,
109-115,(1996).
57. Veenman, C.J., M.J.T. Reinders, and E. Backer, A maximum variance cluster
algorithm. Pattern Analysis and Machine Intelligence, IEEE Transactions, 24(9): p.
1273-1280, (2002).
58. Gionis, A., H. Mannila, and P. Tsaparas, “Clustering aggregation”,ACM
Transactions on Knowledge Discovery from Data (TKDD), 1(1): p. 1-30,(2007).
59. Zahn, C.T., Graph-theoretical methods for detecting and describing gestalt clusters.
Computers, IEEE Transactions on,100(1): p. 68-86, (1971).
60. Chang, H. and D.Y. Yeung, Robust path-based spectral clustering, Pattern
Recognition, 41(1): p. 191-203, (2008).
61. Internet: UCI,”clustering data sets”,http://archive.ics.uci.edu/ml/(2013).
62. Internet: SIPU,”clustering data sets”,http://cs.joensuu.fi/sipu/datasets/(2013).
63. İnternet
http:
FSU,”data
sets”,people.sc.fsu.edu/~jburkardt/datasets/cavity_flow/cavity_flow.html (2013).
92
ÖZGEÇMİŞ
Kişisel Bilgiler
Soyadı, adı:ALZAND, Hussein Ali Ridha
Uyruğu: IRAK
Doğum tarihi ve yeri: 27.06.1986 Bursa
Medeni hali: Bekâr
Telefon: 0507 575 48 39
e-mail: [email protected].
Eğitim
Derece
tarihi
Eğitim Birimi
Yüksek lisans
Gazi Üniversitesi/Bilgisayar Bilimleri
2013
Lisans
Kerkük Üniversitesi/BilgisayarBilimleri
2008
Lise
Kerkük Lisesi
2004
Mezuniyet
Yabancı Dil
İngilizce, Arapça
Yayınlar
1. Alzand, H. & Karacan, H.“Bölümleyici Kümeleme Algoritmalarının Farklı Veri
Yoğnluklarında Uygulaması”, Erciyes Üniversitesi Fen Bilimleri Enstitüsü Dergisi,
(basımda), (2013).
Hobiler
Futbol, Bilgisayar teknolojileri, Basketbol
Download