Birliktelik Kuralı Öğrenimi: Apriori Algoritması ve Excel Uygulaması

ANIL ŞANLI
4 min readMay 18, 2022

--

Geçtiğimiz haftalarda yayınladığım yazılarda Öneri Sistemleri ile ilgili içerikler de yer almıştı. Öneri Sistemlerinin temelde kullanıcılara bazı yöntemler ve algoritmalar kullanarak içerik, ürün, hizmet vb. tavsiye etmeye yarayan sistemler olduğunu söyleyebilmek mümkün. Bu algoritmalardan bir tanesi de Birliktelik Kuralı Öğreniminde yer alan Apriori algoritması. Birliktelik Kuralı Öğrenimi veri içerisindeki örüntüleri bulmak için kullanılan kural tabanlı bir makine öğrenmesi tekniği, Apriori ise ürün birlikteliklerini ortaya çıkarmak için kullanılan bir sepet analiz yöntemidir. Birliktelik Kuralı Öğrenimini anlattığım ve Apriori Algoritmasının Python uygulamasını gerçekleştirdiğim yazıyı buraya da ekliyorum.

Bu yazıda ise Excel üzerinden uygulama gerçekleştirerek adım adım Apriori Algoritmasının çalışmasını anlatacağım.

Apriori Algoritması nesneler arasındaki ilişkilendirme kurallarını hesaplamak için kullanılır. 2 veya daha fazla nesnenin birbirleriyle nasıl ilişkili olduğunu, birlikteyken daha fazla ilişkili olup olmadığını yakalamaya yarar. Farklı bir isimlendirme ile Sık Örüntü Madenciliği (Frequent Pattern Mining) olarak da karşımıza çıkabilir. Apriori Algoritmasında temelde şu 3 terimi iyi bilmek ve anlamak gerekmektedir.

  1. Support: Kabaca ürünlerin popülerliğini ifade eder. Ürünün (veya ürünlerin birlikte) toplam işlem sayısına oranıdır.
  2. Confidence: Ürünlerin birlikte alınma oranıdır.
  3. Lift: Birincil ürün satıldığında ikincil ürünün satış oranındaki artıştır.
Apriori Formülleri

Apriori Algoritmasının Avantajları

  • Birliktelik Kuralı Öğrenimi algoritmaları arasında en basitidir.
  • Ortaya çıkan kuralların son kullanıcıya iletilmesi kolaydır.
  • Birçok farklı durumda kullanılabilir.
  • Apriori’ye dayalı olarak farklı öğrenme algoritmaları vardır.
  • Kapsamlıdır.

Apriori Algoritmasının Dezavantajları

  • En büyük dezavantajlarından bir tanesi yavaş olmasıdır.
  • Çok sayıda aday kümeyi tutmak için ciddi süre gerekmektedir.
  • Bu nedenle hacimli verilerde verimsiz olabilir.
  • Sistem ve bellek kullanma açısından yetersiz sistemlerde problem çıkartabilir.

Apriori — Excel Uygulaması

Bu kısımda Apriori Algoritmasını anlamak için basit bir Excel uygulaması gerçekleştirilecektir. Öncelikle elimizdeki veriyi tanıyalım.

Sepet ID ve Ürünler isimli 2 sütundan oluşan bir set bulunmaktadır. Bu set her bir sepette alınan ürünleri göstermektedir. Toplam 6 farklı çeşit ürün ve 5 farklı sepet bulunmaktadır. Aynı zamanda ilk adım olarak belli bir eşik belirlenmesi gerekmektedir. Bu eşiğin altında kalan ürünler sonraki adımlarda yer almayacaktır.

Veri Seti ve Belirlenmiş Eşik Değeri

1. Adım: Her Bir Ürünün Support Değerlerinin Hesaplanması

Her bir ürünün veri setindeki toplam sayısı bulunur ve ardından sepet sayısına (N) bölünür. Bu bölüm sonucunda her bir ürün çeşidinin support değeri bulunur.

1. Adım: Her Ürünün Support Değerlerinin Hesaplanması

2. Adım: Belirlenen Support Değerleri ile Eşiğin Karşılaştırılması

Her bir ürünün support değerleri belirlendikten sonra önceden belirlenmiş eşik değeri ile karşılaştırılması yapılır. Bu karşılaştırma sonucu eşik değerden büyük support değerine sahip olmayan ürünler sonraki adımlarda yer almayacaktır.

2. Adım: Belirlenen Support Değerleri ile Eşiğin Karşılaştırılması

Bu karşılaştırma sonucu devam eden ürün tablosu şu şekildedir:

Karşılaştırma Sonucu Eşik Değeri Karşılayan Ürünler

3. Adım: Devam Eden Ürünlere Birleştirme Uygulamak ve Karşılaştırmasını Yapmak

Bu örnekte her bir ürünün support değerlerinin eşik değere göre karşılaştırılması yapıldıktan sonra algoritmaya devam edecek 4 ürün kaldı. Bu adımda 4 ürün için 2'li 2'li eşleştirmeler yapılarak benzer işlemler uygulanacaktır.

3. Adım: Ürünlerin Birleştirilmesi ve Karşılaştırılmalarının Yapılması

4. Adım: Devam Eden Ürünlere Birleştirme Uygulamak ve Karşılaştırmasını Yapmak

Elde olan (devam eden) ürünler 2'li 2'li gruplanarak işlem bir önceki adımda yapıldı. Bu adımda gruplar büyütülerek aynı işlemler yapılmaya devam edecektir. Elde olan Süt, Çay, Yumurta, Kola ürünleri önce 3'lü 3'lü ardından da 4'lü bir grup oluşturularak incelenecektir.

4. Adım: Devam Eden Ürünlere Birleştirme Uygulamak ve Karşılaştırmasını Yapmak

5. Adım: Final Tablosunun Oluşturulması

Gruplar daha fazla genişletilemeyeceği noktaya kadar bu işlemler uygulandıktan sonra her bir adımda “Eşikten Büyük” olarak işaretlenen gruplar final tablosuna eklenir. Bu final tablosunda Ürünler, Sıklık, Support, Confidence, Lift gibi daha önce bahsedilen değerlerin tümü yer alacaktır. Daha sonrasında bu değerlere göre yorumlar yapılır.

5. Adım: Final Tablosu

Yorumlar

  • Yumurta ve Kola alışverişlerin %60'ında birlikte gözlemlenmiştir.
  • Çay ve Yumurta alışverişlerin %40'ında birlikte gözlemlenmiştir.
  • Çay alan müşterilerin %67'si Yumurta da almaktadır.
  • Kola alan müşterilerin çay alma olasılığı diğer müşterilere göre %11 daha fazladır.

Referanslar

--

--