tag BirliktelikKuralı
Apriori Algoritması Nedir? Birliktelik Kuralı Madenciliği (Apriori Algoritması)
Bu sayfada BirliktelikKuralı (Apriori Algoritması Nedir? Birliktelik Kuralı Madenciliği (Apriori Algoritması)) etiketi ile işaretlenmiş 3 yapay zeka kavramını bulabilirsiniz.
Apriori, işlem veritabanlarındaki sık geçen öğe kümelerini (frequent itemsets) bulmak ve bunlardan birliktelik kuralları (association rules) çıkarmak için kullanılan temel veri madenciliği algoritmasıdır. Rakesh Agrawal ve Ramakrishnan Srikant tarafından IBM'de geliştirilerek 1994 VLDB konferansında yayımlanan bu yöntem, özellikle market sepeti analizi alanında devrim yaratan bir teknik oldu. Algoritma üç temel ölçüte dayanır. Destek (Support), bir öğe kümesinin tüm işlemler içindeki görünme oranıdır. Güven (Confidence), bir öncül kümesi satın alındığında ardıl kümesinin de satın alınma olasılığını ifade eder. Kaldıraç (Lift), gözlemlenen destek ile rasgele beklentinin oranıdır; lift>1 ise iki öğe arasında pozitif bir korelasyon vardır. Algoritma yinelemeli (iterative) bir yaklaşımla çalışır. İlk adımda her ürünün tek başına minimum destek eşiğini geçip geçmediği kontrol edilerek sık 1-öğe kümeleri belirlenir. Ardından bu sık kümeler birleştirilerek aday k-öğe kümeleri oluşturulur. Burada Apriori'nin güç noktası devreye girer: bir öğe kümesinin sık olması için tüm alt kümelerinin de sık olması zorunludur (downward closure özelliği). Bu kural, herhangi bir alt kümesi seyrek olan adayları tarama yapılmadan elemeye olanak tanır ve hesaplama maliyetini önemli ölçüde azaltır. Her adımda veritabanı taranarak destek sayımı yapılır; minimum destek eşiğinin altındakiler elenerek bir sonraki adıma geçilir. Pratik bir örnekle açıklamak gerekirse: 10.000 süpermarket işleminden 3.000'inde {ekmek, tereyağı} birlikte satın alınmışsa destek %30'dur. Ekmek alanların %72'si tereyağı da almışsa güven %72'dir. Bu durumda kaldıraç 1'den büyük olduğundan bu kural rasgele birlikteliğin ötesinde anlamlı bir ilişkiye işaret eder; çapraz satış veya raf düzenleme kararı için kullanılabilir. Algoritmanın temel sınırlılığı her öğe kümesi boyutu için veritabanının baştan taranmasıdır; büyük veri setlerinde bu çok sayıda G/Ç işlemi anlamına gelir. FP-Growth algoritması tek geçişte bir ağaç (FP-Tree) yapısı oluşturarak bu sorunu büyük ölçüde ortadan kaldırır ve pratikte Apriori'nin yerini almıştır. Python'da mlxtend.frequent_patterns.apriori fonksiyonuyla, büyük ölçekte ise PySpark MLlib'in FP-Growth implementasyonuyla kolayca uygulanabilir. Kullanım alanları arasında e-ticaret ürün öneri sistemleri, tıbbi tanı örüntü tespiti, web kullanım madenciliği, dolandırıcılık tespiti ve ağ güvenliği anomali analizi öne çıkar. Türkiye'deki e-ticaret platformları ve perakende CRM sistemleri bu tür birliktelik analizine dayanmaktadır.
Apriori Algoritması Nedir? Birliktelik Kuralı Madenciliği (Apriori Algoritması)
Apriori, işlem veritabanlarındaki sık geçen öğe kümelerini (frequent itemsets) bulmak ve bunlardan birliktelik kuralları (association rules) çıkarmak için kullanılan temel veri madenciliği algoritmasıdır. Rakesh Agrawal ve Ramakrishnan Srikant tarafından IBM'de geliştirilerek 1994 VLDB konferansında yayımlanan bu yöntem, özellikle market sepeti analizi alanında devrim yaratan bir teknik oldu. Algoritma üç temel ölçüte dayanır. Destek (Support), bir öğe kümesinin tüm işlemler içindeki görünme oranıdır. Güven (Confidence), bir öncül kümesi satın alındığında ardıl kümesinin de satın alınma olasılığını ifade eder. Kaldıraç (Lift), gözlemlenen destek ile rasgele beklentinin oranıdır; lift>1 ise iki öğe arasında pozitif bir korelasyon vardır. Algoritma yinelemeli (iterative) bir yaklaşımla çalışır. İlk adımda her ürünün tek başına minimum destek eşiğini geçip geçmediği kontrol edilerek sık 1-öğe kümeleri belirlenir. Ardından bu sık kümeler birleştirilerek aday k-öğe kümeleri oluşturulur. Burada Apriori'nin güç noktası devreye girer: bir öğe kümesinin sık olması için tüm alt kümelerinin de sık olması zorunludur (downward closure özelliği). Bu kural, herhangi bir alt kümesi seyrek olan adayları tarama yapılmadan elemeye olanak tanır ve hesaplama maliyetini önemli ölçüde azaltır. Her adımda veritabanı taranarak destek sayımı yapılır; minimum destek eşiğinin altındakiler elenerek bir sonraki adıma geçilir. Pratik bir örnekle açıklamak gerekirse: 10.000 süpermarket işleminden 3.000'inde {ekmek, tereyağı} birlikte satın alınmışsa destek %30'dur. Ekmek alanların %72'si tereyağı da almışsa güven %72'dir. Bu durumda kaldıraç 1'den büyük olduğundan bu kural rasgele birlikteliğin ötesinde anlamlı bir ilişkiye işaret eder; çapraz satış veya raf düzenleme kararı için kullanılabilir. Algoritmanın temel sınırlılığı her öğe kümesi boyutu için veritabanının baştan taranmasıdır; büyük veri setlerinde bu çok sayıda G/Ç işlemi anlamına gelir. FP-Growth algoritması tek geçişte bir ağaç (FP-Tree) yapısı oluşturarak bu sorunu büyük ölçüde ortadan kaldırır ve pratikte Apriori'nin yerini almıştır. Python'da mlxtend.frequent_patterns.apriori fonksiyonuyla, büyük ölçekte ise PySpark MLlib'in FP-Growth implementasyonuyla kolayca uygulanabilir. Kullanım alanları arasında e-ticaret ürün öneri sistemleri, tıbbi tanı örüntü tespiti, web kullanım madenciliği, dolandırıcılık tespiti ve ağ güvenliği anomali analizi öne çıkar. Türkiye'deki e-ticaret platformları ve perakende CRM sistemleri bu tür birliktelik analizine dayanmaktadır.
Association Rule Mining (Birliktelik Kuralı Madenciliği)
Birliktelik Kuralı Madenciliği (Association Rule Mining), büyük veri setleri içindeki öğeler arasındaki ilişkileri, örüntüleri ve birlikte ortaya çıkma eğilimlerini keşfeden bir veri madenciliği yöntemidir. Bu teknik, belirli öğelerin bir arada bulunma sıklığını analiz ederek "Eğer X satın alınırsa, Y de satın alınır" gibi anlamlı kurallar çıkarır. 1993 yılında Agrawal ve Srikant tarafından geliştirilen Apriori algoritmasıyla önem kazanan bu yöntem, günümüzde e-ticaret öneri sistemlerinden ilaç araştırmalarına, siber güvenlikten finans sektörüne kadar geniş bir uygulama alanına sahiptir. Algoritma üç temel metriğe dayanır: Destek (Support), güven (Confidence) ve kaldıraç (Lift). Destek, bir kuralın veri kümesinde ne sıklıkla geçerli olduğunu gösterir. Güven, öncül (antecedent) gerçekleştiğinde sonucun (consequent) ne kadar olasılıkla gerçekleşeceğini ifade eder. Lift ise kuralın rastlantısallığın ötesinde ne kadar anlamlı olduğunu ölçer; lift değeri 1'den büyükse öğeler arasında pozitif bir ilişki vardır. Birliktelik kuralı madenciliğinin en tanınan uygulaması market sepeti analizidir (market basket analysis). Bir süpermarketin satış verilerini analiz ettiğinizde "bezle birlikte ıslak mendil de alınıyor" veya "bira alanlar cips de alıyor" gibi içgörüler elde edilebilir. Bu tür bilgiler raf düzeni optimizasyonu, çapraz satış stratejileri ve kişiselleştirilmiş pazarlama kampanyalarında kritik rol oynar. Amazon, Netflix ve Spotify gibi platformlar da birliktelik kuralı ilkelerinden yararlanarak kişiye özel ürün ve içerik önerileri sunar. Yöntem, denetimsiz öğrenme (unsupervised learning) kategorisinde değerlendirilir; önceden etiketlenmiş veriye gerek duymadan ham işlem kayıtlarından doğrudan anlam çıkarır.
Frequent Pattern Mining (Sık Kalıp Madenciliği)
Sık Kalıp Madenciliği (Frequent Pattern Mining), büyük veri kümelerinde birlikte sıklıkla ortaya çıkan öğe gruplarını, dizisel kalıpları veya yapısal örüntüleri belirlemeyi hedefleyen temel bir veri madenciliği tekniğidir. "Sık" (frequent) kavramı, bir kalıbın belirli bir minimum destek eşiğini (minimum support threshold) aşması anlamına gelir; yani o kalıbın, tüm işlemlerin (transaction) en az belirlenen yüzdesinde bulunması gerekir. En yaygın kullanım senaryosu birliktelik kuralı madenciliğidir (association rule mining). Süpermarket sepet analizinde "ekmek alan müşteri yüzde seksen olasılıkla tereyağı da alır" türünden kurallar bu yöntemle keşfedilir. Amazon ve Netflix'in öneri sistemleri, kredi kartı dolandırıcılık tespiti ve ağ güvenliği anomali analizi de sık kalıp madenciliğini yoğun biçimde kullanır. Alandaki ilk ve en yaygın algoritma, 1994'te Agrawal ve Srikant tarafından önerilen Apriori'dir. Aday öğe seti üretimi ve budama (candidate generation and pruning) prensibiyle çalışır; her adımda veritabanını yeniden tarar. Bu tarama maliyeti büyük veri setlerinde belirgin bir darboğaz oluşturduğundan, 2000 yılında Jiawei Han ve arkadaşları FP-Growth (Frequent Pattern Growth) algoritmasını geliştirdi. FP-Growth, veriyi kompakt bir FP-Tree yapısına sıkıştırır ve tekrarlı veritabanı taramasını ortadan kaldırarak genellikle Apriori'den 10 ila 100 kat daha hızlı çalışır. Günümüzde sık kalıp madenciliği yalnızca kural keşfiyle sınırlı değildir; özellik mühendisliğinde anlamlı özellik kombinasyonlarını bulmak için denetimsiz ön analiz adımı olarak da kullanılır. Python'da mlxtend kütüphanesi apriori() ve fpgrowth() fonksiyonlarıyla, Apache Spark'ta ise MLlib'in FPGrowth modülüyle ölçeklenebilir uygulamalar hayata geçirilebilir. Minimum destek ve minimum güven (confidence) eşiklerinin veri setine özgü biçimde ayarlanması, anlamlı ve uygulanabilir kurallar elde etmenin anahtarıdır.