Apriori Algoritması - Veri Madenciliği

Yusuf Çakal
Jul 18, 2018 · 3 min read

Veri Madenciliği alanında Birliktelik Kuralları Yönetimi(Association Rule Mining) konusu altında yer alan ve sıkça kullanılan apriori algoritmasının ismi, tümdengelim ile edinilen anlamına gelir; tam türkçesi önsel (bilgi) “prior” anlamına gelmektedir. Bir veri kümesini adım adım keşfetmeye ve veri kümesi içerisinde bulunan verilerin birliktelik kurallarını incelemeye yarayan bu algoritmayı yakından tanıyalım.

Apriori algoritmasının en bariz örneği alışveriş sepetidir.

Image for post
Image for post

Yukarıdaki resimden de anlaşılacağı üzere bir alışveriş sepetinde bulunan ürünlerden ya da alışveriş fişlerinden yola çıkarak hangi ürünün ne sıklıkla satıldığı ve hangi ürünlerin birlikte satıldığını öğrenmemiz mümkündür.

Algoritma da kullanılan destek değeri (support value) veri kümesinin eşik değeridir. Örneğin şunu diyebiliriz. Bir ürün veri kümesinde 3'ten az satıldıysa bu ürünü kampaya veya herhangi bir işleme tabi tutmamıza gerek yoktur.

Veri kümemiz aşağıdaki gibi olsun.

Image for post
Image for post

Yani hangi ürünlerin birlikte satıldığına ve kullanım sıklığına (frekans) bu küme üzerinden karar vereceğiz.

Image for post
Image for post

Frekans değeri ilgili elemanın toplamda ne kadar kullanıldığı ya da örneğimiz üzerinden gidecek olursak bir ürünün ne kadar satıldığıdır. Tablodan da göreceğiniz üzere toplam alışveriş sayısı 10 , A ürünün satıldığı alışveriş sayısı 8 bu yüzden A ürünün frekansına 0.8 dedik.

Apiori Algoritmasının 1. aşaması bu şekilde şimdi gelelim 2. aşamaya.

Bir desktek (support) değeri belirleyelim ve bu değer üzerinden verilerimizi indirgeyelim. Birlikte satın alınan ürünlerin support (destek, eşik) değeri 0.3 ün altındaysa o alışverişi gözardı edebilirsiniz.

Image for post
Image for post

Yukarıda ki tablodan şunu çıkarabiliriz. (ilk satırından) A ve B ürünleri birlikte tüm alışverişin yarısında satılmış demek. Bizim destek (support) değerimiz 0.3 dü. Yani eşik değerinin üstünde ki eğri de seyir ettiğinden bizim için önemli bir bilgi haline geldi. Tabloda ki diğer alışverişler de aynı şekilde farkettiyseniz 0.3 ün altında kalan alışverişleri tabloya dahil etmedik çünkü eşik değerimizin altında yani bizim için anlamlı bilgi değil.

Bir adım daha ilerlediğimiz zaman.

Image for post
Image for post

Yukarıda ki tablo oluşacaktır ve algoritma burada bitecektir. Çünkü veri kümemizde 0.3 değeri veya üzerinde başka herhangi bir support değeri bulunmamakta.

Sonuç

Buradan sonuç olarak şu çıkarım yapılabilir. İçinde {A,B,C} ürünleri geçen alışverişler en çok ter. Yani A , B ve C ürünü birlikte en çok satılan üründür diyebiliriz.

Bu algoritmanın örnek kodlarına buradan ulaşabilirsiniz.

Kaynaklar: Hackerearth, Stonybrook

Deep Learning Türkiye

Türkiye'nin En Etkili Yapay Zeka Topluluğu tarafından yapay…

Thanks to Serkan, Zumrut MUFTUOGLU ツ, and Deniz KILINÇ

Yusuf Çakal

Written by

yusuf.dev

Deep Learning Türkiye

Türkiye'nin En Büyük Yapay Zeka Topluluğu tarafından yapay zekanın alt dalları olan makine öğrenmesi ve derin öğrenme alanlarındaki Türkiye'den üretilen içerikleri bulabilirsiniz.

Yusuf Çakal

Written by

yusuf.dev

Deep Learning Türkiye

Türkiye'nin En Büyük Yapay Zeka Topluluğu tarafından yapay zekanın alt dalları olan makine öğrenmesi ve derin öğrenme alanlarındaki Türkiye'den üretilen içerikleri bulabilirsiniz.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store