Cebeci, Z., Yıldız, F., Kayaalp, G.T. (2015) “K-Ortalamalar Kümelemesinde Optimum K Değeri Seçilmesi”, 2. Ulusal Yönetim Bilişim Sistemleri Kongresi, 8-10 Ekim 2015, Erzurum. Bildiriler Kitabı (Ed: Ü. Özen ve ark.), s. 231-242. Orka Ofset Matbaacılık, Erzurum, ISBN:978-975-442-738-7. 231 K-ORTALAMALAR KÜMELEMESİNDE OPTİMUM K DEĞERİ SEÇİLMESİ Prof. Dr. Zeynel CEBECİ Çukurova Üniversitesi Ziraat Fakültesi Biyometri ve Genetik Anabilim Dalı [email protected]Ar.Gör. Figen YILDIZ Çukurova Üniversitesi Fen Bilimleri Enstitüsü Zootekni Anabilim Dalı [email protected]Prof.Dr. Tamer KAYAALP Çukurova Üniversitesi Ziraat Fakültesi Biyometri ve Genetik Anabilim Dalı [email protected]Özet Kümeleme analizi, veri yapıları ve örüntüler gibi anlamlı bilginin keşfedilmesini sağladığından veri madenciliğinde en yaygın kullanılan analizlerinden biri olmuştur. Kümeleme analizi için geliştirilmiş yüzlerce algoritma mevcut olmasına karşın her durumda en iyi denilebilecek bir algoritma söz konusu değildir . Uygun bir kümeleme algoritmasının seçimi, veri büyüklüğü ve boyutu ile kümelerin şekli ve dağılışı yanında kümelemenin amacına da bağlı olmakla birlikte büyük verilerin analizinde bölümleyici kümeleme algoritmalarının tercih edildiği görülmektedir. Sert ve bölümleyici bir algoritma olan K-ortalamalar ise yarım asırdan beri hızı ve basitliği nedeniyle belki de en popüler olanlar arasında yer almaktadır. Diğer bölümleyici kümeleme algoritmaları gibi K-ortalamalar algoritması da başlangıçta bir k değerinin yani küme sayısının girilmesini gerektirmektedir. Kümelemenin sonucunu doğrudan etkileyen optimal bir k değeri seçimi için birçok yöntem mevcuttur. Alan bilgisi ve veri yapısı üzerinde belli bir tecrübeye dayanarak yapılan k seçimi sübjektiftir. Diğer yandan kümeleme analizi sonrası belirlenen geçerlilik indislerinin performanslarında veri yapısına göre duyarlılıklar söz konusu olmaktadır. Bu nedenle hala daha güvenilir ve hızlı k değeri verebilecek yöntemlere ihtiyaç duyulmaktadır. Bu çalışmada, k’nın optimal seçiminde kullanılmak üzere Pham ve ark. (2005) tarafından önerilen f(K) fonksiyonu tanıtılmış ve çeşitli yapay veri setleri üzerinde test edilmiştir. Ayrıca kümeleme analizinde optimal k değeri seçiminde kullanılmak üzere yöntemin bir uygulaması olarak R ortamı için geliştirilen "kselection" paketi kullanılarak yöntemin performansı ortaya konulmuştur. Yapılan analizlerde f(K) fonksiyonun kümeleme geçerliliği değerlendirmesinde kullanılan iç indekslerden daha başarılı sonuçlar verdiği saptanmıştır. Anahtar Kelimeler: veri madenciliği, kümeleme analizi, k-ortalamalar kümelemesi, objektif k seçimi CHOOSING AN OPTIMAL K IN K-MEANS CLUSTERING Abstract Cluster analysis has been one of the widely applied data mining techniques because of its usefulness in discovering the meaningful information such as the structures and patterns in datasets. Although there are hundreds of the methods in clustering arena, there is no any best algorithm that fits to all cases. Over a half century, K-means as the basic hard partitioning algorithm has probably been the most popular because of its lower execution time and simplicity to implement in big data analysis. As needed for the other partitioning algorithms, K-means algorithm requires inputting a k value, the number of clusters before starting to cluster analysis. There are several methods to determine an optimal k value, directly affecting the results of partitioning datasets. Among them, the subjective methods depend on user’s domain knowledge and experiences on the underlying datasets. On the other hand, clustering validity indices used after clustering may be sensitive to data structures, and thus they are based on trial- and-error process. Therefore robust, fast and automated methods are still needed for determination of k in K-means clustering. In this paper, for optimal choice of k, the f(K) function proposed by Pham et al. (2005) was explained and tested on the artificially generated datasets. In addition, the performance of the function was revealed for employing with K-means clustering by running the “kselection”, a package developed to implement the method in R environment. According to the results, it was obtained that f(K) function is more successful than the internal indices which are used in clustering validation. Keywords: data mining, cluster analysis, k-means clustering, objective selection of k
12
Embed
K-ORTALAMALAR KÜMELEMESİNDE OPTİMUM K DEĞERİ …traglor.cu.edu.tr/objects/objectFile/qO7TZaso-12102015-24.pdf · Anahtar Kelimeler: veri madenciliği, kümeleme analizi, k-ortalamalar
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Cebeci, Z., Yıldız, F., Kayaalp, G.T. (2015) “K-Ortalamalar Kümelemesinde Optimum K Değeri Seçilmesi”, 2. Ulusal Yönetim
Bilişim Sistemleri Kongresi, 8-10 Ekim 2015, Erzurum. Bildiriler Kitabı (Ed: Ü. Özen ve ark.), s. 231-242. Orka Ofset
Matbaacılık, Erzurum, ISBN:978-975-442-738-7.
231
K-ORTALAMALAR KÜMELEMESİNDE OPTİMUM K DEĞERİ SEÇİLMESİ
Prof. Dr. Zeynel CEBECİ Çukurova Üniversitesi Ziraat Fakültesi Biyometri ve Genetik Anabilim Dalı
Kümeleme analizi, veri yapıları ve örüntüler gibi anlamlı bilginin keşfedilmesini sağladığından veri
madenciliğinde en yaygın kullanılan analizlerinden biri olmuştur. Kümeleme analizi için geliştirilmiş yüzlerce
algoritma mevcut olmasına karşın her durumda en iyi denilebilecek bir algoritma söz konusu değildir. Uygun bir
kümeleme algoritmasının seçimi, veri büyüklüğü ve boyutu ile kümelerin şekli ve dağılışı yanında kümelemenin amacına da bağlı olmakla birlikte büyük verilerin analizinde bölümleyici kümeleme algoritmalarının tercih edildiği
görülmektedir. Sert ve bölümleyici bir algoritma olan K-ortalamalar ise yarım asırdan beri hızı ve basitliği nedeniyle
belki de en popüler olanlar arasında yer almaktadır. Diğer bölümleyici kümeleme algoritmaları gibi K-ortalamalar
algoritması da başlangıçta bir k değerinin yani küme sayısının girilmesini gerektirmektedir. Kümelemenin sonucunu doğrudan etkileyen optimal bir k değeri seçimi için birçok yöntem mevcuttur. Alan bilgisi ve veri yapısı üzerinde
belli bir tecrübeye dayanarak yapılan k seçimi sübjektiftir. Diğer yandan kümeleme analizi sonrası belirlenen
geçerlilik indislerinin performanslarında veri yapısına göre duyarlılıklar söz konusu olmaktadır. Bu nedenle hala daha
güvenilir ve hızlı k değeri verebilecek yöntemlere ihtiyaç duyulmaktadır. Bu çalışmada, k’nın optimal seçiminde kullanılmak üzere Pham ve ark. (2005) tarafından önerilen f(K) fonksiyonu tanıtılmış ve çeşitli yapay veri setleri
üzerinde test edilmiştir. Ayrıca kümeleme analizinde optimal k değeri seçiminde kullanılmak üzere yöntemin bir
uygulaması olarak R ortamı için geliştirilen "kselection" paketi kullanılarak yöntemin performansı ortaya
konulmuştur. Yapılan analizlerde f(K) fonksiyonun kümeleme geçerliliği değerlendirmesinde kullanılan iç indekslerden daha başarılı sonuçlar verdiği saptanmıştır.
Anahtar Kelimeler: veri madenciliği, kümeleme analizi, k-ortalamalar kümelemesi, objektif k seçimi
CHOOSING AN OPTIMAL K IN K-MEANS CLUSTERING
Abstract
Cluster analysis has been one of the widely applied data mining techniques because of its usefulness in
discovering the meaningful information such as the structures and patterns in datasets. Although there are hundreds of the methods in clustering arena, there is no any best algorithm that fits to all cases. Over a half century, K-means as
the basic hard partitioning algorithm has probably been the most popular because of its lower execution time and
simplicity to implement in big data analysis. As needed for the other partitioning algorithms, K-means algorithm
requires inputting a k value, the number of clusters before starting to cluster analysis. There are several methods to
determine an optimal k value, directly affecting the results of partitioning datasets. Among them, the subjective
methods depend on user’s domain knowledge and experiences on the underlying datasets. On the other hand,
clustering validity indices used after clustering may be sensitive to data structures, and thus they are based on trial-
and-error process. Therefore robust, fast and automated methods are still needed for determination of k in K-means clustering. In this paper, for optimal choice of k, the f(K) function proposed by Pham et al. (2005) was explained and
tested on the artificially generated datasets. In addition, the performance of the function was revealed for employing
with K-means clustering by running the “kselection”, a package developed to implement the method in R environment. According to the results, it was obtained that f(K) function is more successful than the internal indices
which are used in clustering validation.
Keywords: data mining, cluster analysis, k-means clustering, objective selection of k
Cebeci, Z., Yıldız, F., Kayaalp, G.T. (2015) “K-Ortalamalar Kümelemesinde Optimum K Değeri Seçilmesi”, 2. Ulusal Yönetim
Bilişim Sistemleri Kongresi, 8-10 Ekim 2015, Erzurum. Bildiriler Kitabı (Ed: Ü. Özen ve ark.), s. 231-242. Orka Ofset
Matbaacılık, Erzurum, ISBN:978-975-442-738-7.
232
1. GİRİŞ
Kümeleme analizi, bir veri setindeki nesneleri ortak özellikleri itibariyle gruplandırma
ya da küme olarak adlandırılan alt veri setlerine ayırma işlemidir (Liu ve ark., 2010). Kümeleme
işlemi ile bir kümede bulunan nesnelerin mümkün olduğunca birbirine benzer, ancak diğer
kümelerdekinden mümkün olduğunca farklı olması amaçlanır. Bir başka deyişle küme içindeki
varyansın düşük, kümeler arasındaki varyansların ise yüksek olması arzulanmaktadır.
Kümeleme ile veri setleri bölümlenerek mevcut veri yapısı ve desenler ortaya konulduğundan
anlamlı bilginin keşfedilmesi için veri madenciliğinde çok sıkça kullanılmaktadır.
Günümüzde, kümeleme yöntemlerinin yüzlercesi mevcut olup çeşitli şekillerde
sınıflandırılmaktadır. Yaygın kullanılan bir sınıflamaya göre kümeleme yöntemlerini hiyerarşik
yöntemler, bölümleyici yöntemler ve bunların çeşitli şekillerde kombine edildiği karma
yöntemler olarak üç grupta incelemek mümkündür. Bölümleyici kümeleme algoritmaları veri
setlerini k adet alt sete (ya da kümeye) bölen/parçalayan algoritmalardır. Bu nedenle, en çok
çalışılan konulardan biri, herhangi bir algoritmanın çalıştırılmasından önce, analizin en başında
bilinmesi gereken k’nın seçimidir. Bu parametre, veri setinin bölümleneceği küme sayısını
göstermekte, bir başka ifadeyle veri setinde mevcut kümelerin sayısını belirtmektedir. Başarılı
ya da doğru bir kümeleme k’nın optimal seçimine bağlıdır. Çünkü k ne olursa olsun,
bölümleyici algoritmalar geçerli veya geçersiz bir kümeleme sonucu üretecektir. Ancak amaç
geçerli bir kümeleme sonucu elde etmek olduğuna göre gerçek küme sayısı veya buna en yakın
sayının bulunması ve kullanılması doğru sonuçlara ulaşılmasını sağlamak için gereklidir. Bir
başka deyişle k’nın isabetli seçilmesi başarılı bir kümeleme analizi için belirleyici olup
bölümleyici kümeleme algoritmalarının en önemli dezavantajlarından birini oluşturmaktadır
(Ray ve Turi, 1999).
Bu çalışmada, k’nın seçiminde kullanılmak üzere Pham ve ark. (2005) tarafından
önerilen ve objektif değerlendirme sağlayan f(K) fonksiyonu çeşitli yapay veri yapıları üzerinde
test edilmektedir. Ayrıca optimal k değeri seçimindeki performansı çeşitli kümeleme
indekslerine göre karşılaştırılmaktadır.
2. K-ORTALAMALAR ALGORİTMASI VE K’NIN BELİRLENMESİ
2.1. K-ortalamalar Algoritması
K-ortalamalar (KO), 50 yıldan uzun bir süreden beri belki de en çok kullanılan
bölümleyici yöntemlerden biri olmuştur. Nesne sınıflandırma, görüntü bölümleme, veri
madenciliği, makine öğrenmesi gibi bilişim uygulamaları yanında iktisat, müşteri yönetimi,
pazarlama, biyoinformatik ve mühendislik araştırmaları gibi hemen her alanda en çok kullanılan
yöntemleri arasında yer almıştır. K-ortalamalar aşağıdaki amaç fonksiyonu miminize eden
bölümleyici bir kümeleme algoritmasıdır:
𝐽𝐾𝑂(𝑿; 𝑽) = ∑ ∑ 𝐷𝑖𝑗2𝑘
𝑗=1𝑛𝑖=1 (1)
Burada 𝑘 küme sayısını ve 𝑛 nesne sayısını göstermektedir. 𝐷𝑖𝑗2 , nesneler ile küme merkezleri
arasındaki uzaklık ölçüsüdür. Kümeleme analizlerinde uzaklık normu olarak genellikle Öklid
uzaklıkları kullanılmakta (L2 normu) ve ‖𝑥𝑖𝑗 − 𝑣𝑗‖ 2, 1 ≤ 𝑗 ≤ 𝑘 olarak hesaplanmaktadır.
Burada 𝑥𝑖𝑗 , 𝑗. kümedeki 𝑖. nesneyi; 𝑣𝑗 ise 𝑗. küme merkezi prototipini ifade etmektedir. K-
ortalamalar algoritması aşağıdaki adımlardan oluşmaktadır:
1) 𝑿 veri setinden rastgele k adet küme merkezi seçilir.
2) Veri noktaları ile küme merkezleri arasındaki uzaklıklar hesaplanır.
3) Veri noktaları uzaklığı kendilerine en küçük olan merkezlerin ait olduğu kümelere
atanır.
4) Küme merkezleri Eşitlik (2) ile güncellenir:
Cebeci, Z., Yıldız, F., Kayaalp, G.T. (2015) “K-Ortalamalar Kümelemesinde Optimum K Değeri Seçilmesi”, 2. Ulusal Yönetim
Bilişim Sistemleri Kongresi, 8-10 Ekim 2015, Erzurum. Bildiriler Kitabı (Ed: Ü. Özen ve ark.), s. 231-242. Orka Ofset
Matbaacılık, Erzurum, ISBN:978-975-442-738-7.
233
𝑣𝑗 = ∑ 𝑥𝑖𝑗𝑛𝑗
𝑖=1/𝑛𝑗 ; 1 ≤ 𝑗 ≤ 𝑘 (2)
5) Küme değiştiren veri noktaları yoksa ya da birbirini izleyen iki adımda hata
karelerindeki artış tanımlanmış bir yaklaşma değerine eşit veya küçükse kümeleme sona
Bölümleyici kümelemede kullanılacak k değeri sübjektif ve objektif olarak
belirlenebilmektedir. Genelde hiyerarşik kümelemede başvurulan sübjektif yöntemler
araştırmacının üzerinde çalıştığı veri setlerini tanıyacak alan bilgisine sahip olmasına (veya daha
önceki benzer araştırmalardan elde edilen önbilgiyi kullanmasına) ve serpilme grafiklerini
incelemesine dayanmaktadır (Hamerly ve Elkan, 2004). Ancak kümeleme algoritmaları, verinin
yapısı, hacmi, kümelerin şekli ve uzaydaki yerleşimleri itibariyle farklı sonuçlar
üretebileceğinden sübjektif yöntemlerle çoğu durumda uygun veya geçerli sonuçlara
ulaşılamamaktadır (Kodinariya ve Makwana, 2013:90). Dahası boyut sayısı arttıkça sübjektif
yöntemlerle k seçimi fazlasıyla zorlaşmakta hatta yapılamaz duruma gelinmektedir. Alternatif
olarak kümeleme sonuçlarının iyiliği ya da geçerliliğini belirlemek için istatistiksel indeks,
varyans ve uyum iyiliğine dayalı çeşitli indeksler geliştirilmiştir. K-ortalamalar algoritmalarının
çeşitli k değerleri ile birçok defa çalıştırılmasından sonra elde edilen sonuçları kullanarak
optimum bir k değeri belirlemek üzere kullanılan bu indeksleri dış indeksler, iç indeksler ve
relatif indeksler olarak gruplandırmak olasıdır (Kovács ve ark., 2005; Rendón ve ark., 2011).
Dış indeksler, önceden yapılmış ve bilinen bir sınıflamayı belli bir kümeleme
algoritmasının çalıştırılmasıyla elde edilen kümeleme sonuçlarıyla karşılaştıran ölçütlerdir
(Dudoit ve Fridlyand, 2002). Bu durumda kümelerde yer alan nesnelerin hangi kümeye ait
oldukları daha önceden bilinmekte ve uygulanan kümeleme algoritması için referans/kontrol
olarak kullanılmaktadır. Yani nesneler kümeler itibariyle etiketlenmiş durumdadırlar. İç
indeksler ise herhangi bir dış bilgi olmaksızın sadece analiz edilen veriden kümeleme
algoritması ile elde edilen sonucun geçerliliğini ortaya koyan ölçütlerdir (Thalamuthu ve ark.,
2005). Relatif indeksler, bir veya daha fazla kümeleme algoritmasının aynı veri seti üzerinde
farklı girdi parametreleri ile çalıştırılmasına dayanmaktadır. En iyi kümelemenin hangisi
olduğuna elde edilen sonuçlardan hesaplanan indekslerin karşılaştırması ile karar verilmektedir.
Kümeleme analizleri, yönetimsiz öğrenme yöntemleri olduğundan veri yapısı ve
dolayısıyla kümelenme eğilimleri daha önceden bilinmeyen veri setlerinde uygulandığından
çoğu araştırma ve uygulamada kümeleme sonucunu değerlendirmek için iç geçerlilik indeksleri
üzerinde yoğunlaşma olduğu görülmektedir. İç indeksler kompaktlık, ayrışma veya bunların
çeşitli bileşimlerine dayanmaktadırlar. Kompaktlık bir kümedeki nesnelerin birbirleriyle ne
kadar ilişkili ya da yapışık olduğunun ölçüsüdür. Ayrışma ise bir kümenin diğerlerinden ne
kadar ayrıldığını ya da belirgin olduğunu ortaya koymaktadır. İndekslerin formülasyonları ve
performansları çeşitli çalışmalarda ayrıntılı olarak incelenmiştir (Halkidi ve ark., 2001; Rendón
ve ark., 2011, Charrad ve ark., 2012).
Algoritmaların sağladığı bilgiler itibariyle farklılıklar olduğundan geçerlilik
indekslerinin tüm kümeleme algoritmaları için aynı performansı göstermeleri beklenemez. Bu
yüzden kümeleme algoritmalarına özel indekslerin kullanılması gerekli olabilmektedir. Örneğin
Xie-Beni indeksi, Bölümleme katsayısı, Bölümleme entropisi gibi indeksler bulanık kümeleme
algoritmalarının sonuçlarını değerlendirmede iyi çalışan indeksler arasında incelenmektedir
(Wang ve Zhanga, 2007). Kümeleme sonuçları üzerinde çalışan indeksler dışında, yaygın
olmamakla birlikte Akaike Bilgi Kriteri (AIC) ve Bayesçi Bilgi Kriteri (BIC) gibi bilgi kriterleri
ile En Küçük Açıklama Uzunluğu (MDL) ve GAP istatistiği gibi bazı ölçütler de küme sayısı
seçiminde kullanılabilmektedirler.
Küme geçerlilik indeksleri ve kriterlerinin her birinin bir takım artı ve eksileri
bulunmaktadır. Bu nedenle, aynı kümeleme algoritmasının farklı sayıda geçişlerle veya farklı
Cebeci, Z., Yıldız, F., Kayaalp, G.T. (2015) “K-Ortalamalar Kümelemesinde Optimum K Değeri Seçilmesi”, 2. Ulusal Yönetim
Bilişim Sistemleri Kongresi, 8-10 Ekim 2015, Erzurum. Bildiriler Kitabı (Ed: Ü. Özen ve ark.), s. 231-242. Orka Ofset
Matbaacılık, Erzurum, ISBN:978-975-442-738-7.
234
parametrelerle çalıştırılarak denenmesi ve algoritmayla bağımlılık göstermeyen yani
korelasyonu olmayan indekslerin seçilmesinin iyi sonuçlar verebileceği söylenebilir. Örneğin
K-ortalamaların farklı performansları için siluet indeksi veya grup içi hata kareler toplamlarını
kullanmak sorunlu olmayan indeksler olarak görülmektedir.
Çok sayıda iç geçerlilik indeksi bulunmakla birlikte bunların pratikte kullanılabilirlikleri
istatistik yazılımlarında mevcut olmalarıyla yakından ilişkilidir. R, diğer istatistik yazılımlarıyla
karşılaştırıldığında bu açıdan oldukça iyi bir konumdadır. R ortamında, cclust (Dimitriadou,
2014), clusterSim (Walesiak ve Dudek, 2014), clv (Nieweglowski, 2014) ve clValid (Brock ve ark., 2008) gibi paketlere bulunmakla birlikte 29 iç indeks ve 14 dış indeksle
clusterCrit (Desgraupes, 2013, 2015) ve 30 adet indeksle NbClust (Charrad ve ark.,
2014) bunlar arasında en zenginlerindendir. Veri setlerinde mevcut küme sayılarını saptamak
için geliştirilen NbClust’ın mevcut sürümünde hiyerarşik kümeleme sonuçları yanında K-
ortalamalar kümelemesi sonuçlarının incelenebilmesi ve SOM yöntemi için çalışmaların da
sürdürülmesi diğer paketlere göre önemli bir başka avantajıdır. NbClust’ın tanıtım belgesinde
(Charrad ve ark., 2012) geçerlilik indekslerinin formülasyonları da verilmiş olup liste halinde
bir arada incelenmesi mümkün olabilmektedir.
Geçerlilik indekslerine dayalı olarak k sayısını saptamak araştırmacılar için oldukça
zaman alıcı ve güç olduğundan daha kolay yöntemlere ihtiyaç duyulmuştur. Son yıllarda
Bezdek tarafından önerilen görsel kümeleme eğilimi değerlendirmesi (VAT) (Bezdek ve
Hathway, 2002; Bezdek ve ark., 2007) ve VAT’ın iyileştirilmiş bir sürümü olan iVAT (Havens
ve Bezdek, 2012) gibi görsel teknikler geliştirilmiştir. Dahası bu tekniklerin görsel çıktıları
üzerinde karanlık blok sayımı (DBE), küme sayısı çıkarma (CCE) (Pakhira, 2012), köşegen