• Sonuç bulunamadı

CLOPE Kümeleme Algoritması (A Fast and Effective Clustering Algorithm for Transactional Data)

2. GENEL BİLGİLER

2.1. Veri Madenciliği ve Kümeleme Analiz

2.1.6. Kategorik Kümeleme Algoritmaları (Categorical clustering algorithms)

2.1.6.16. CLOPE Kümeleme Algoritması (A Fast and Effective Clustering Algorithm for Transactional Data)

CLOPE kümeleme algoritması Yang ve arkadaşları tarafından 2002 yılında geliştirilmiştir. Yöntem kategorik verilere uygulanmaktadır. Yüksek boyutlu veriler için oldukça kullanışlı bir algoritmadır. Daha önce yapılan çalışmaların çoğu kategorik nitelikteki veriler üzerinde yoğunlaşırken, kategorik veri tiplerinin bir alt çeşidi olan işlemsel veri üzerinde yoğunlaşmamıştır. Bu veri tipi için hızlı ve etkili bir kümeleme yöntemi bulmak veri yapısının yüksek boyutlu, seyrek olmasından dolayı oldukça zordur. Hiyerarşik kümeleme yöntemlerinden olan ROCK algoritması, kategorik verileri kümelemede etkilidir ancak büyük hacimdeki veri setlerinde etkili değildir. Dolayısıyla daha önceki geliştirilen kategorik veriler için kullanılan kümeleme algoritmalarının bahsedilen dezavantajlarını gidermek amacıyla CLOPE algoritması önerilmiştir145.

CLOPE kümeleme algoritması, basit global bir kriter fonksiyonudur. Yöntem küme histogramlarının yükseklik-genişlik oranları artırarak küme içindeki işlem maddelerinin çakışmasını, örtüşmesini artırmaktadır. Histogramda daha büyük bir yükseklik/genişlik oranının küme içi benzerliklerinin daha fazla olduğunu göstermektedir. Bu basit düşünce CLOPE algoritmasının temelini oluşturmaktadır. Dolayısıyla algoritma küme histogramlarının temel özelikleri kullanılarak global bir kriter fonksiyonu tanımlanmaktadır145.

CLOPE kümeleme algoritmasında D işlem veri seti tanımlanmaktadır ve bu set {𝑡1,….., 𝑡𝑛} işlem setinden oluşmaktadır. Her bir işlem {𝑖1,….., 𝑖𝑚} olan madde setinden oluşmaktadır. {𝐶1,…, 𝐶𝑘} kümesi {𝑡1,….., 𝑡𝑛}’nın bir bölümüdür. Dolayısıyla 𝐶1∪ … . .∪ 𝐶𝑘= {𝑡1,….., 𝑡𝑛}’dir ve 𝐶𝑖 ≠φ (1≤i, j≤k). Her bir 𝐶𝑖 bir küme olarak tanımlanır. Formüllerde yer alan n, m ve K indeksleri sırasıyla, işlem, madde ve küme sayısını göstermektedir145.

CLOPE kümeleme algoritması basit bir yöntemdir ancak işlem veri kümelemesi için etkili bir global ölçüdür. Yöntemde grafiksel olarak yükseklik genişlik oranının yüksek olduğu durumlarda daha iyi bir kümeleme sonucunun oluştuğundan bahsedilebilmektedir145.

C kümesi olduğu varsayımı altında, D(C) ayrı (farklı) maddeler seti, Occ(i,C), C kümesindeki i maddenin meydana gelme sayısıdır. X ekseninde maddelere yer verilerek C kümesinin

153

sıralanmaktadır. Bir C kümesinin büyüklüğü S(C) ve genişliği W(C) olarak tanımlanmakta ve aşağıdaki formüller yardımıyla hesaplanmaktadır145.

S(C)=∑𝑖∈𝐷(𝐶)𝑂𝑐𝑐(𝑖, 𝐶) = ∑𝑡𝑖∈𝐶|𝑡𝑖|

W(C)=|D(C)|

Bir kümenin yüksekliği ise H(C)= S(C)/W(C) olarak tanımlanmaktadır. Histogramı daha da detaylandırmak üzere Şekil 2.1.6.16.1 incelendiğinde, H(C), S (C) ve W(C)’lerin histogramda nerelere karşılık geldiği görülmektedir145.

Şekil 2.1.6.16.1. {acd, de, def} kümesinin ayrıntılı histogram gösterimi

CLOPE kümeleme algoritmasının gerçekleştirilmesi için tabi ki bu tanımlamalar yeterli olmayacaktır. Sadece yükseklik ve genişliklere bakarak kümeleme hakkında karar vermek objektif bir sonuç vermeyecektir. Dolayısıyla yapılan tanımlamalara ek olarak yeni tanımlamalarında yapılması gerekmektedir. Örneğin, {ab, abc, acd} kümesinin yüksekliği 2 ve {acd, de, def} kümesinin yüksekliği ise 1.6’ dır. Ancak şu da bilindiği üzere ilk küme daha iyi bir kümedir. Çünkü benzer nesnelerin sayısı daha fazladır. CLOPE kümeleme yönteminde sadece yüksekliklere kriter fonksiyonunu tanımlamak için yeterli değildir. Çok basit bir örnek düşünülürse, {abc, def} veri tabanında örtüşme yoktur. Ancak {{abc, def}} ve {{abc},{def}} kümelerinin yükseklikleri aynıdır. Bu durumda farklı bir ölçünün kümelemede kullanılması gerekmektedir be nu ölçü gradiyenttir. Gradiyent ölçüsü aşağıdaki gibi tanımlanmaktadır145.

154

Bu durumda {{abc},{def}} kümesinin gradiyenti 1/3, diğer kümeninki ise 1/6 olarak elde edilmektedir. Gradiyenti düşük olan küme yani {{abc},{def}} kümesi daha iyi sonuçların verdiğini göstermektedir.

Bir kümenin kriter fonksiyonu tanımlanırken, işlemlerin sayısının yanında kümelerin şekillerinin de dikkate alınması gerekmektedir. C={𝐶1,…, 𝐶𝑘} kümesi için aşağıda tanımlanan

basit bir kriter fonksiyonu kullanılmaktadır145.

Profit(C)=∑ 𝐺(𝐶𝑖)∗|𝐶𝑖| 𝑘 𝑖=1 ∑𝑘𝑖=1|𝐶𝑖| = ∑ 𝑆(𝐶𝑖) 𝑊(𝐶𝑖)2∗|𝐶𝑖| 𝑘 𝑖=1 ∑𝑘𝑖=1|𝐶𝑖|

Yukarıdaki kriter fonksiyonu 𝑃𝑟𝑜𝑓𝑖𝑡𝑟(𝐶)= ∑

𝑆(𝐶𝑖) 𝑊(𝐶𝑖)𝑟∗|𝐶𝑖| 𝑘 𝑖=1 ∑𝑘𝑖=1|𝐶𝑖| şeklinde genellenebilmektedir. Burada r terimi, pozitif gerçel bir sayıdır. Birçok durumda r terimi 1’den büyük alınmaktadır. Örneğin, {abc, abcd, bcde, cde} veri setinde {{abc, abcd, bcde, cde}} ve {{abc, abcd}, {bcde, cde}} kümeleri tanımlanmış olsun. İkinci kümeden daha iyi bir kar sağlamak amacıyla küme 2’nin faydası

7 4𝑟∗2+ 7 4𝑟∗2 4 , küme 1’in 14 5𝑟∗4

4 faydasından daha fazla olmalıdır. Bir başka deyişle r değeri ln(14/7)/ln(5/4)=3,106’dan büyük seçilmelidir145.

Aksine seyrek veri tabanlarını gruplamak için r’nin küçük değerleri tercih edilmektedir. Örneğin, {abc, cde, fgh, hij} veri setleri için {{abc, cde}, {fgh, hij}}’den {{abc}, {cde}, {fgh}, {hij}} daha fazla fayda sağlanmak isteniyorsa ln(6/3)/ln(5/3)=1,357’den daha düşük bir r değeri seçilmelidir145.

Daha önceki bölümlemeli kümeleme yaklaşımlarından bilindiği üzere, en iyi sonucu veri tabanının iteratif taraması ile gerçekleştirilmektedir. Ancak CLOPE algoritmasındaki kriter fonksiyonu global olarak tanımlanmaktadır, basit bir boyut ve genişlik ile kolayca hesaplanabilmekte ve lokal olan yöntemlerde de daha hızlı sonuçlar üretebilmektedir.

CLOPE kümeleme algoritmasında, ilk olarak başlangıç kümelerinin oluşturulabilmesi için veri seti bir kere taranmaktadır. Bu kümeler kriter fonksiyonu ile yönlendirilmektedir. Ardından kümeleme işlemini daha da hassaslaştırmak için taramalar birkaç kere gerçekleştirilmektedir. Eğer bir önceki yapılan tarama sonucu ile yeni yapılan tarama sonucu arasında bir değişiklik olmuyorsa, algoritma sonlandırılır ve sonuç kümeler çıktı olarak verilir145.

155

CLOPE kümeleme yönteminin tek bir iterasyonda hesaplama karmaşıklığı O(N*K*A)’dır. Burada A işlemlerin ortalama uzunluğunu, N toplam işlem sayısını ve K ise maksimum küme sayısını ifade etmektedir. Dolayısıyla CLOPE’ın hızı, küme sayısından lineer olarak etkilenmektedir. I/O oranı ise veri seti genişliği ile doğrusal olarak ilişkilidir. Herhangi bir zamanda tek bir işlem hafızaya alındığı için, CLOPE algoritmasında yer gereksinimi küme özelliklerinin hafıza genişliğine bağlıdır145.

Geliştirilen CLOPE kümeleme yöntemi, ilginç kümelerin bulunmasında oldukça etkilidir. Ayrıca algoritma veri sırasına da duyarlı değildir ve küme sayılarını kontrol ederek küçük bir domain bilgisi gerektirmektedir. Bu özellikleri sayesinde de algoritma işlem verileri için veri madenciliğinde oldukça etkili, kaliteli kümeleme sonuçları üretmektedir145.