-

Fp-Growth Algoritması

Fp-Growth algoritması büyük veri kümelerinde çalışmaktadır ve sistem kaynaklarını verimli bir şekilde kullanan birliktelik kuralı çıkarım algoritmasıdır. Fp-Growth algoritması kendisi ile aynı işi yapan diğer birçok algoritmaya göre daha performanslı çalışır ve maliyeti azaltır, algoritma böl ve yönet stratejisini kullanmaktadır. En önemli özelliği tüm veri tabanını FP-Ağaç (Fp-Tree, Frequent Pattern Tree) adı verilen sıkıştırılmış bir ağaç veri yapısı şeklinde tutmasıdır. Algoritma veri tabanını toplamda iki kez tarar, ilk taramada bütün öğelerin destek değerini hesaplar, ikinci taramada ağaç veri yapısını oluşturur. Fp-Growth algoritması yaygın öğeler kümesini bulurken aday öğeler kümesi kullanmaz, yaygın öğeler Fp-Ağaç yapısından bulunur.

Genel olarak algoritma üç adımdan oluşur; destek sayılarının hesaplanması, Fp-Ağaç yapısının kurulması ve ağaç yapısından kuralların çıkarılması. Veri tabanı ilk kez tarandığında bulunan destek sayıları içerisinde minimum destek değerinden küçük olanlar hesaplama dışında bırakılır. Aşağıdaki tabloda bir alışveriş sepeti örneği bulunmaktadır, bu tabloda bulunan her harf bir ürünü temsil eder, tabloda farklı alışverişlerde aynı anda alınan ürünler görülebilir. İlk aşamada veri tabanı destek değerlerini bulmak üzere 1 kez taranır ve ürünlerin destek sayıları hesaplanır. Öğelerin ağaçtaki başlangıç noktaları Başlık Tablosu’nda (header table), Şekil 1’deki gibi tutulur, bu tablo ağaçta dolaşmayı ve ağaç içerisinde işaretçiler ile birbirine bağlanan aynı düğümlerin takibini kolaylaştırır. Minimum destek değerinin bu örnek için 2 olduğu varsayılır, buna göre {e} ürünü hesaplamalara dahil edilmeyecektir. Bulunan destek değerlerine göre ürünler en büyük destek değerinden en küçük destek değerine sahip olan ürünler şeklinde sıralanır. Bulunan yaygın öğeler (c:5), (a:4), (b:3), (d:3), (f:2) şeklinde sıralanır. Aynı zamanda her bir alışveriş sepeti içindeki öğeler de sıklıklarına göre sıralanırlar. Daha önce minimum destek eşiğinden dolayı elenen değerler sıralamaya eklenmez, örneğimiz için {e} ürünü sıralı ürünlere dahil edilmez, aşağıdaki tabloda Sıralı Ürünler’i de görmek mümkündür.

 

Alışveriş No Sepetteki Ürünler Sıralı Ürünler
 1 a, b, c c, a, b
2 c, d, a c, a, d
3 e, f, c ,b c, b, f
4 a, b, c, d, e c, a, d, b
5 a, c, d, f c, a, d, f

Hesaplama işlemlerinden sonra Fp-Ağaç yapısının kurulması işlemine geçilir. Ağaç yapısında kök (root) boş küme olarak yazılır. Daha sonra her bir alışveriş sepetinin sıralı şekli 1 numaralı alışverişten başlanarak ağaca yerleştirilir. İşlem yapılacak öğe ağaçta yer almıyorsa onun için yeni bir düğüm eklenir ve destek değeri 1 yapılır. Destek değerleri de ağaçtaki öğeler ile birlikte tutulur. Eğer öğe ağaçta var ise destek değeri 1 arttırılır. Alışveriş sepetindeki sıralı öğeler Şekil 1’deki gibi ağaca yerleştirilmiştir.

Şekil1

Şekil 1

 

Fp-Ağacı’nın özellikleri;

Bütünlük;

  • Yaygın öğeleri bulmak için bütün öğeleri barındırmaktadır.

Sıkıştırılmış;

  • Yaygın olmayan öğeler Fp-Ağacı’nda bulunmaz,
  • Destek sayısı daha büyük olan öğeler ağacın köküne daha yakındır,
  • Asıl veri kümesinden daha büyük değildir.

Fp-Ağacı’ndan koşullu örüntü çıkarılması

Başlık Tablosu’ndanher öğenin bulunduğu ilk düğüm tespit edilir ve ağaç içerisinde aşağıdan yukarıya olacak şekilde öğenin ulaşabileceği bütün düğümlere ulaşılır, koşullu örüntü temelleri (conditional pattern base) bulunur. Şekil 1’deki örnek için bulunabilecek koşullu örüntü temelleri aşağıdaki tablodaki gibidir. Kök düğümden sonra gelen ilk düğüm c dir, tek başına kural oluşturamayacağı için ondan sonra gelen düğümden başlanarak kök düğüme doğru her bir öğenin koşullu örüntüleri bulunmuştur.

Öğe Koşullu Örüntü
 a c:4
b ac:2, c:3, a:2
d ac:3
f c:2

 

Şekil 2’den Fp-Growth algoritmasının genel yapısı görülebilir. Algoritmada öncelikle veri tabanındaki her bir nesnenin destek değeri hesaplanır, algoritmaya girdi olarak verilen minimum destek değerine eşit ve büyük olanlar öğeler F listesine eklenir ve büyükten küçüğe doğru sıralanır. Her bir alışveriş sepeti için öğelerin destek değerine göre sıralanarak sıkıştırılmış biçimde ağaca yerleştirilir. Eklenecek öğe ağaçta yoksa onun için yeni bir düğüm eklenir ve destek değeri 1 verilir, öğe ağaçta var ise destek değeri 1 arttırılır. Ağaç içerisinde aynı nesneyi içeren öğeler birbirine bağlanır. Bu şekilde öğeler ağacı oluşturulmuş olur.

Şekil 2

Şekil 2

 

Bundan sonraki aşamada ağaçtaki her bir öğe için Şekil 3’deki Growth algoritması çalıştırılır. Öncelikle öğenin içerisinde geçtiği bütün yollar belirlenir, tek bir dal varsa yaygın öğeler kümesi o dalı oluşturulan nesnelerin kombinasyonudur.  Bulunan yollar o öğe için koşullu örüntü temelini oluşturur, her bir koşullu örüntü temelinden koşullu örüntü ağacı oluşturulur. Growth algoritması destek değeri en küçük öğeden başlanarak her bir öğe için ayrı ayrı çalıştırılır. Algoritmanın bu kısmı için Şekil 1’de verdiğimiz Fp-Ağacından {b}  öğesini düşünecek olursak ; {b}’nin geçtiği yollar (c:5,a:4,b:1), (c:5,a:4,d:3,b:1), (cb:1) dir. Algoritmanın {b} için çalıştırıldığını varsaydığımızdan b kümelere dahil edilmez, geriye kalan kümelerin destek sayıları {b}’nin destek değerine eşittir.  (c:1,a:1), (c:1,a:1,d:1), (c:1)  yolları {b}’nin şartlı örüntü temelleridir. Bu yollar için algoritma tekrar çalıştırılır. Öğelerin destek değeri; (c:3), (a:2), (d:1) olur, minimum destek değeri 2 olduğundan {d} elenmiş olur. {c} ve {a} öğeleri için yeni yaygın öğe ağacı kurulur. {c} için {(cab:2),(cb:3)} yaygın öğeleri, {a} için (ab:2) bulunur. Sonuç olarak {b} için {(b:3), (cab:2), (cb:3), (ab:2)} yaygın öğeleri bulunur. Algoritma örüntü ağacı üzerinde özyinelemeli (recursive) olarak çalışır. Her bir eleman için Growth algoritması çalıştırıldığında yaygın öğeler kümeleri oluşturulmuş olur.

Şekil 3

Şekil 3

 

Kaynaklar:

[1]   Birant, D.,Kut, A., Ventura, M., Altınok, H., Altınok, B., Altınok, E., Ihlamur, M., 2010, İş Zekası Çözümleri için Çok Boyutlu Birliktelik Kuralları Analizi, 12. Akademik Bilişim Konferansı Bildirileri, 10-12 Şubat 2010 Muğla, Türkiye, 257-264.

[2]   Öğüdücü, Ş.G, Veri Madenciliği İlişkilendirme Kuralları, http://www3.itu.edu.tr/ ~sgunduz/courses/verimaden/, [Ziyaret tarihi:16 Nisan 2015].

Apriori Algoritması

Apriori Algoritması 1994 yılında Agrawal ve Srikant tarafından geliştirilmiştir. Birliktelik kuralı çıkarım algoritmalarından en çok bilinen ve kullanılanıdır. Algoritmanın ismi yaygın öğeler kümelerinin ön bilgisini kullanıyor olmasından dolayı önceki (prior) anlamındaki “Apriori” dir.

n elemanlı bir eleman kümesi için  yaygın öğe ve  yaygın öğe adayı oluşturulabilir. Apriori Algoritması yaygın öğeleri azaltma noktasında görev almaktadır. Şekil 1’de görüldüğü gibi 5 elemanlı bir küme için olabilecek bütün yaygın öğeler ağaca eklenmiştir, {A,B} eleman kümesi yaygın öğeye dahil olamıyorsa {A,B} ‘nin geçtiği bütün alt kümeler ağaçtan çıkarılır.

Apriori Algoritması’nın temeli; n-elemanlı yaygın öğe kümesi minimum destek kriterini sağlıyorsa bu kümenin bütün alt kümeleri bu kriteri sağlar. Bu yüzden Apriori Algoritması, (n+1)-elemanlı yaygın öğe kümesini bulmak için n-elemanlı sık geçen öğe kümesine ihtiyaç duymaktadır.

Şekil 1

Şekil 1

 

Algoritma temelinde iteratif (tekrarlayan) niteliğe sahiptir, yaygın öğe kümlerini bulurken birçok kez veri tabanına bağlanarak tarama işlemini gerçekleştirmektedir. Başlangıçta veri tabanını tarayarak öğenin alışverişlerde kaç kere geçtiği tespit edilir, bu destek sayısına karşılık gelmektedir. Minimum destek değerinden küçük olan öğeler kümelere dahil edilmemektedir. Yaygın öğe kümelerini bulmak için ilk olarak minimum destek kriterini sağlayan 1-elemanlı yaygın öğe kümesi bulunur, 2-elemanlı yaygın öğe kümesini bulmak için 1-elemanlı yaygın öğe kümesi, 3-elemanlı yaygın öğe kümesini bulmak için 2-elemanlı yaygın öğe kümesi kullanılır. Her adımında bir önceki adımda bulunan yaygın öğe kümeleri, yaygın öğe aday kümeleri (candidate itemsets) adı verilen yeni potansiyel yaygın öğe kümelerini üretmek için kullanılır. Aday kümelerin destek değeri, adım içerisinde hesaplanır ve minimum destek ölçütünü sağlayanlar yaygın öğe kümelerine dahil edilir. Yaygın öğeler bir sonraki adım için aday küme olur. Bu işlem algoritma yaygın öğe kümesi bulamayıncaya kadar devam etmektedir.

Apriori Algoritması’nın klasik özet kodu (pseudo code) aşağıdaki gibidir.

AprioriAlg

 

Apriori-gen Fonksiyonu aşağıdaki gibidir;

AprioriGen

 

Algoritmadan da anlaşılabileceği üzere L(k-1)  yaygın öğe kümesini kullanarak k-elemalı  Ck yaygın öğe aday kümesi oluşturulur. Apriori-gen fonksiyonu aday öğe kümelerinin oluştulması noktasında görev almaktadır. Bu fonksiyon ile önce  L(k-1) öğe kümesi kendisi ile birleştirme (join) işlemi uygulanmaktadır. Birleştirme işleminde  L(k-1)  yaygın aday kümesinin her satırında yer alan son öğe haricinde diğer öğelerlerin çapraz olarak benzerliği aranır ve son öğe haricinde diğer öğelerle yakalanan benzerliklerden aday öğe kümeleri oluşturulmaktadır . Oluşturulan aday öğe kümeleri budama (prune) işlemine tabi tutulur ve yaygın öğe aday kümesini geriye döndürmektedir.

Budama işleminde Ck  yaygın öğe aday kümesinden eleman silme işlemi uygulanır, aday öğe kümesindeki bir öğenin alt kümelerinden biri  L(k-1) yaygın öğe Ck kümesinde yer almıyorsa bu öğe  aday öğe kümesinden silinir.

Apriori Algoritması döngü yapısını daha iyi kavrayabilmek için Şekil 2’deki örnek üzerinden yaygın öğe kümesi ve aday öğe kümelerinin nasıl güncellendiği anlatılacaktır.

Şekil 2’deki örnek için minimum destek değeri 2 olarak verilmiştir. “Database D” ismindeki tabloda birlikte alınan ürünleri görebiliriz. İlk aşamada 1-elemanlı aday öğe kümeleri  C1 ismi ile tanımlanarak yazılmıştır.  C1 öğe kümesinden  L1 yaygın öğe kümesi oluşturulurken minimum destek değeri kontrol edilir, minimum destek değerinden küçük olan öğeler kümeden atılır, dolayısı ile {4} elemanı küme dışında bırakılır ve geriye kalan öğeler ile L1 yaygın öğe kümesi oluşturulur. Sonraki adımda 1-elemanlı öğe kümelerinden 2-elemanlı öğe kümeleri oluşturmak üzere çalışma yapılır.  L1 yaygın öğe kümesinin öğelerinin ikili kombinasyonuna benzer şekilde ( L1 U L1 ) yeni C2  ismindeki aday öğe kümesi oluşturulur. Bu aday küme Apriori-gen fonksiyonundaki budama işlemine tabi tutulur ve  C2 kümesinin elemanlarına ait alt kümelerinin L1 kümesinde olup olmadığına bakılır,  L1 içinde yer almayanlar silinir, budanmış olur . C2  den L2  oluşturulurken yine aynı şekilde minimum destek değeri kontrol edilir, Şekil 2.17’deki örnek için {1,2} ve {1,5} kümeleri silinir ve L2 içerisinde yer almamış olur. Döngü sonraki aşamada  L2 öğe kümesinin 3lü kombinasyonlarını bulur ve  C3 isminde aday öğe kümesini oluşturur. {4} elemanı yaygın öğeler kümesinde olmadığından {2,3,4} aday öğeler kümesine dahil edilmez, aynı şekilde {1,2} kümesi aday öğe kümelerine dahil edilmediğinden {1,2,3,5} de 3-elemanlı aday öğe kümesine dahil edilmez. 3-elemanlı kümeye dahil edilebilecek olarak {2,3,5} kümesi vardır, destek sayısı 2 olduğundan ve minimum destek değerinden büyük olduğundan L3 ={2,3,5} olur. Devamında 4 elemanlı aday öğe kümesi bulunamadığından işlem sona erer. Daha fazla elemanlı kümeler için döngü her seferinde öğe sayısını arttırarak devam eder ve bu süreç yeni yaygın öğe kümesi bulamayıncaya kadar devam eder.

Şekil2

Şekil2

 

 

Kaynaklar:

[1]   Agrawal, R., Imielinski, T. ve Swami, A., 1993, Mining Association Rules Between Sets of Items in Large Databases, In Proceedings of the ACM SIGMOD International Conference on Management of Data, June 1 Washington, USA,  207-216.

[2]   Öğüdücü, Ş.G, Veri Madenciliği İlişkilendirme Kuralları, http://www3.itu.edu.tr/ ~sgunduz/courses/verimaden/, [Ziyaret tarihi:16 Nisan 2015].

[3]   Han, J. ve Kamber, M., 2001, Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers, San Francisco, ISBN:0123814790 9780123814791.

[4]   Güngör, E., Yalçın,N.,Yurtay, N., 2013, Apriori Algoritması ile Teknik Seçmeli Ders Seçim Analizi, UZEM 2013 Ulusal Uzaktan Eğitim ve Teknolojileri Sempozyumu, 01-03 Kasım 2013 Konya,Türkiye, 122-127.

[5]   Gülce, A.C., 2010, Veri Madenciliğinde Apriori Algoritması ve Apriori Algoritması’nın Farklı Veri Kümelerinde Uygulanması, Yüksek Lisans Tezi, Trakya Üniversitesi Fen Bilimleri Enstitüsü.

[6]   [26].    Özseven, T. ve Düğenci M., 2011, LOG Analiz: Erişim Kayıt Dosyaları Analiz Yazılımı ve GOP Üniversitesi Uygulaması, Bilişim Teknolojileri Dergisi, 4(2), 55-56.

[7]    Özçakır, F.C, Çamurcu, A.C, 2007, Birliktelik Kurali Yöntemi İçin Bir Veri Madenciliği Yazilimi Tasarimi Ve Uygulaması,  İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi, 6(12), 21-37.

Pazar Sepeti Analizi ve Birliktelik Kuralları

Pazar Sepeti Analizi

Son yıllardaki en önemli gelişmelerden biri veri hacmindeki artıştır. Bu artış ile veriler daha büyük veri tabanlarında tutulmaya başlandı. Bunun sonucu olarak Veri Tabanlarında Bilgi Keşfi-VTBK (Knowledge Discovery in Databases) isminde arayışlar ortaya çıkmıştır. VTBK farklı aşamalardan oluşmaktadır, veri madenciliği en önemli aşamalardan bir tanesidir. Veri madenciliği büyük miktarda veri içinden gelecekle ilgili tahmin yapmamızı sağlayacak bağıntı ve kuralların bilgisayar programları kullanarak aranmasıdır.

Pazar sepeti; müşterinin bir alışveriş esnasında neler aldığını gösterir. Müşterinin satın alma eğilimlerinin incelenmesi genel olarak Pazar Sepeti Analizi olarak adlandırılır. Pazar Sepeti Analizi veri madenciliğinde çok yaygın olarak kullanılan bir yöntemdir. Müşterilerin hangi ürün veya hizmeti almaya eğilimli olduğu veya aldığı bir ürün ile birlikte başka hangi ürünleri alabileceğinin analiz edilmesi daha fazla satış yapma yollarındandır. Pazar Sepeti Analizi, promosyon analizi çalışmaları, raf dizimi, müşteri alışkanlıkları analizi, mağazanın düzenlenmesi, stok kontrolü, kupon verilmesi, etkili satış yöntemlerinin geliştirilmesi gibi konularda fayda sağlamaktadır.

Pazar Sepeti Analizi’nde Birliktelik Kuralları (Association Rules) tekniği kullanılmaktadır.

Birliktelik Kuralları

Büyük veri kümeleri arasındaki ilişkileri bulan, olayların birlikte gerçekleşme ihtimallerini geçmiş verileri analiz edip ortaya koyarak geleceğe yönelik çalışmaları destekleyen, veri madenciliği yöntemine Birliktelik Kuralları denmektedir. Birliktelik Kuralları; ekonomi, eğitim, e-ticaret, pazarlama, telekomünikasyon gibi birçok sektörde geniş kullanıma sahiptir.

Veri madenciliğindeki teknikler verinin tanımlanmasını sağlayan tanımlayıcı (descriptive) ve sonuçları bilinmeyen verilerin tahmini için kullanılan tahmin edici (predictive) teknikler olarak ikiye ayrılmaktadır. Gerileme (regression), sınıflandırma (classification), sapma (deviation) tahmin edici yöntemlere, kümeleme (clustering) ve Birliktelik Kuralları ise tanımlayıcı tekniklere örnek olarak verilebilir.

Birliktelik kuralının en popüler örneği çocuk bezi (diapers) ve bira (beer) örneğidir. Normalde iki ürün arasında hiç bir ilişki yokmuş gibi görünmektedir. Literatürde bu konu ile ilgili meşhur bir hikaye vardır, Walmart ismindeki süpermarket zincirinin yaptığı analiz şu şekildedir; “Yeni çocuk sahibi olan ebeveynler eğlenmek için vakit bulamayıp cuma günlerini partiye gitmek yerine eve bira alarak evde geçirmek zorunda kalıyorlar. Bu yüzden bebek bezi alan baba çoğunlukla yanında bir de bira alır,” gibi bir çıkarımda bulunmaktadırlar. Bu doğrultuda bebek bezi ve birayı yakın yerlere koyarak satışlarını arttırmayı hedeflemektedirler.

Birliktelik kuralının gerçek hayatta kullanılan bir örneği de internet üzerinden kitap satışı yapan amazon.com‘dur. Müşteriye satın aldığı kitaptan yola çıkarak daha önce bu kitap ile satın alınma olasılığı en yüksek olan kitapları önermektedir. Günümüzde birçok web sitesinde bu yöntem aktif olarak kullanılmaktadır.

Birliktelik kuralının matematiksel modeli Agrawal, Imielinski ve Swami tarafından 1993 yılında ortaya çıkarılmıştır.

Birliktelik Kuralları’nda Kullanılan Temel Kavramlar;

Öğeler Kümesi (itemset): Bir veya daha çok öğeden oluşan kümedir.

Destek sayısı (support count): Öğeler kümesinin veri kümesinde görülme sıklığıdır.

Destek(support): Veride bağıntının ne kadar sık olduğunu tanımlar, öğeler kümesinin içinde bulunduğu birlikteliklerin toplam birliktelik sayısına oranıdır. Destek(A=>B) şeklinde gösterilmektedir.

Güven (confidence) : A malını almış bir kişinin B malını alma olasılığını vermektedir. Öğeler arasındaki birlikteliklerin doğruluğunu ifade etmektedir. Güven(A=>B) şeklinde gösterilmektedir.

Yaygın öğeler (frequent itemsest): Destek değeri minimum destek değerinden büyük ya da eşit olan öğeler kümesidir.

Destek (A)=

Destek (A=>B)=

Güven (A=>B)= Olasılık(B|A)  =

Örnek olarak farklı zamanlarda yapılmış olan aşağıdaki gibi bir Pazar sepeti listesi olsun;

Tablo 1: Farklı zamanlara oluşturulmuş Pazar sepetleri.

A1 Süt, Ekmek
A2 Ekmek, Yumurta
A3 Süt, Peynir
A4 Yumurta, Ekmek, Peynir, Süt
A5 Peynir, Yumurta, Süt

 

Yaygın Öğeler;

1-Elemanlı Öğeler Kümesi

{Süt}à  Destek Sayısı(Süt)=4; Tablo 1’deki örneğe göre 5 Pazar sepetinin 4’ünde {Süt} ürünü satın alınmış, bu yüzden {Süt} ürününün destek sayısı 4 dür.

{Ekmek}-> Destek Sayısı(Ekmek)=3

{Yumurta}-> Destek Sayısı(Yumurta)=3

{Peynir}-> Destek Sayısı(Peynir)=3

2-Elemanlı Öğeler Kümesi

{Süt, Ekmek}-> Destek Sayısı(Süt, Ekmek)=2

{Ekmek, Yumurta}-> Destek Sayısı(Ekmek, Yumurta)=2

{Süt, Peynir}-> Destek Sayısı(Süt, Peynir)=3

{Yumurta, Peynir}-> Destek Sayısı(Yumurta, Peynir)=2

{Yumurta, Süt}-> Destek Sayısı(Yumurta, Süt)=2

3-Elemanlı Kümeler

{Yumurta, Ekmek, Peynir}-> Destek Sayısı(Yumurta, Ekmek, Peynir)=1

{Yumurta, Ekmek, Süt}-> Destek Sayısı(Yumurta, Ekmek, Süt)=1

{Ekmek, Peynir, Süt}-> Destek Sayısı(Ekmek, Peynir, Süt)=1

{Peynir, Yumurta, Süt}-> Destek Sayısı(Peynir, Yumurta, Süt)=2

4-Elemanlı Kümeler

{Yumurta, Ekmek, Peynir, Süt}-> Destek Sayısı(Yumurta, Ekmek, Peynir, Süt)=1

Hesaplamalar yapılırken minimum destek sayısı filtresi verilebilir. Örneğin minimum destek sayısı filtresi 2 ise hesaplamalara destek sayısı 1 olanlar dahil edilmez. Destek ve Güven sayılarının nasıl hesaplandığı aşağıdaki örnek ile anlaşılabilir:

Destek({Yumurta}=>{Peynir})= Destek Sayısı(Yumurta,Peynir)/Toplam Alışveriş Sayısı=2/5

Güven ({Peynir, Süt}=>{Yumurta})=Destek Sayısı(Peynir,Yumurta,Süt)/Destek Sayısı(Peynir,Süt)=2/3

Bütün yaygın öğe kümeleri oluşturulduktan sonra minimum destek sayısı ve minimum güven değerlerine eşit ve büyük olan kümeler yaygın öğeler kümesine dahil edilir ve birliktelik kuralları oluşturulur. Destek ve güven değerleri 0 ile 1 arasında değişmektedir. 1’e ne kadar yakınlarsa aralarındaki ilişki o kadar güçlüdür denilebilir. Güven değeri %100 ise kural “kesin” dir. Bu yüzden minimum güven kriterinin büyük verilmesi doğru sonucu vermesi açısından önemlidir. İki öğenin birlikteliğinin kesine yakın olabilmesi için hem destek hem de güven kriterinin yüksek olması gerekmektedir. Ayrıca minimum destek değeri küçük belirlenirse yöntem karmaşıklaşır ve çok sayıda yaygın öğe kümesi elde edilir.

Birliktelik kuralları için kullanılan çok farklı algoritmalar bulunmaktadır. Bunlardan bazıları aşağıdaki gibidir.

  • AIS: Agrawal tarafından 1993 yılında geliştirilmiştir,
  • Apriori: Agrawal ve Srikant tarafından 1994 yılında geliştirilmiştir,
  • SETM: Houtsma ve Swami tarafından 1995 yılında geliştirilmiştir,
  • Partition: Savasere tarafından 1995 yılında geliştirilmiştir,
  • FP-Growth: Han P.,Pei J.,Yin Y. Tarafından 2000 yılında geliştirilmiştir,
  • RARM (Rapid Association Rule Mining): Das tarafından 2001 yılında geliştirilmiştir,
  • CHARM: Zaki ve Hsiao tarafından 2002 yılında geliştirilmiştir.

Bu algoritmalardan ilki AIS, en bilineni Apriori Algoritması’dır.

Birliktelik kuralı madenciliği (Association Rule Mining) bütün yaygın öğe kümelerinin bulunması ve yaygın öğe kümelerinden Birliktelik Kuralları’nın üretilmesi olarak iki adımdan oluşmaktadır. Kullanılacak algoritmanın hızı birinci adımı etkilemektedir, ikinci adım genel olarak bütün algoritmalarda aynıdır.

Bir sonraki makalede bu algoritmalardan Apriori ve Fp-Growth incelenip örnek uygulamalar ile desteklenip karşılaştırma çalışması yapılacaktır.

Kaynaklar

[1]   Alpaydın, E., 2000, Zeki Veri Madenciliği: Ham Veriden Altın Veriye Ulaşma Yöntemleri, Bilişim 2000 Eğitim Semineri Bildiriler Kitabı, Bilişim 2000 Eğitim Semineri.

[2]   [15]. Ay, D. ve Çil, İ., 2008, Migros Türk A.Ş.’de Birliktelik Kuralları’nın Yerleşim Düzeni Planlamada Kullanılması, Endüstri Mühendisliği Dergisi, 21(2), 15-20.

[3]   Chen, Y.L., Chen, J.M. ve Tung, C.W., 2006, A Data Mining Approach For Retail Knowledge Discovery With Consideration of the Effect of Shelf-Space Adjacency on Sales, Decisions Support Systems, 42(3), 1503-1520.

[4]   [17]. Frawley, W. J., Piatetsky-ShApiro, G. ve Matheus, C. J., 1991, Knowledge Discovery Databases: An Overview, in Knowledge Discovery in Databases, AI Magazine, 13(3), 57-69.

[5]   ]. Güngör, E., Yalçın,N.,Yurtay, N., 2013, Apriori Algoritması ile Teknik Seçmeli Ders Seçim Analizi, UZEM 2013 Ulusal Uzaktan Eğitim ve Teknolojileri Sempozyumu, 01-03 Kasım 2013 Konya,Türkiye, 122-127.

[6]   Küçüksille, E., 2009, Veri Madenciliği Süreci Kullanılarak Portföy Performansının Değerlendirilmesi ve IMKB Hisse Senetleri Piyasasında Bir Uygulama, Doktora Tezi, Süleyman Demirel Üniversitesi Sosyal Bilimler Enstitüsü.

[7]   Data Mining Introduction Part 7: Microsoft Association, http://www.Sqlservercentral.com/articles/Microsoft+Association+algorithm/101807/, [Ziyaret tarihi:16 Nisan 2015].

[8]   Agrawal, R., Imielinski, T. ve Swami, A., 1993, Mining Association Rules Between Sets of Items in Large Databases, In Proceedings of the ACM SIGMOD International Conference on Management of Data, June 1 Washington, USA,  207-216.

[9]   [22]. Özçakır, F.C, Çamurcu, A.C, 2007, Birliktelik Kurali Yöntemi İçin Bir Veri Madenciliği Yazilimi Tasarimi Ve Uygulaması,  İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi, 6(12), 21-37.

[10]  Öğüdücü, Ş.G, Veri Madenciliği İlişkilendirme Kuralları, http://www3.itu.edu.tr/ ~sgunduz/courses/verimaden/, [Ziyaret tarihi:16 Nisan 2015].