Birliktelik Kuralları Nedir?
Birliktelik kuralları (Association Rules), veri kümelerindeki öğeler arasındaki "eğer-o zaman" ilişkilerini istatistiksel ölçütlerle keşfeden bir veri madenciliği yöntemidir. A → B biçimindeki bir kural, A öğe kümesini içeren işlemlerin büyük çoğunluğunun B öğe kümesini de içerdiğini ifade eder. Terim ilk kez 1993 yılında Agrawal ve arkadaşları tarafından market sepeti analizi bağlamında sunulmuştur. Orijinal çalışmada süpermarket kasiyeri verileri incelenerek bira ve bez bezi gibi beklenmedik öğe çiftlerinin birlikte satın alındığı keşfedilmiştir. Bu keşif, pazarlama stratejileri, raf düzeni ve çapraz satış önerilerini yeniden şekillendirmiştir. Birliktelik kuralları gözetimsiz bir yöntemdir; etiketlenmiş veri gerektirmez ve keşif sürecinde hangi ilişkilerin var olduğu önceden bilinmez. Algoritma, belirlenen minimum eşiklerin üzerindeki tüm anlamlı kuralları otomatik olarak ortaya çıkarır.
Üç Temel Ölçüt: Destek, Güven ve Kaldıraç
Bir birliktelik kuralının kalitesi üç ana ölçütle değerlendirilir: Destek (Support): Destek(A → B) = |A ∪ B| / N formülüyle hesaplanır; burada N toplam işlem sayısıdır. Çok düşük destekli kurallar yeterli gözleme dayanmaz ve önemsiz kabul edilir. Minimum destek eşiği (min_sup) belirlenerek analize dahil edilecek öğe kümeleri filtrelenir. Güven (Confidence): Güven(A → B) = Destek(A ∪ B) / Destek(A) formülüyle bulunur. "A alınmışsa, B de alınma olasılığı nedir?" sorusunu yanıtlar. Ancak güven, B'nin zaten popüler olduğu durumlarda yanıltıcı yüksek çıkabilir. Kaldıraç (Lift): Lift(A → B) = Güven(A → B) / Destek(B) formülü A ile B'nin birlikteliğinin bağımsız öğelerin rastgele eş-oluşumuna kıyasla ne kadar güçlü olduğunu gösterir. Lift = 1: bağımsızlık; Lift > 1: pozitif ilişki; Lift < 1: negatif ilişki. Bu ölçütlere ek olarak Conviction ve Leverage metrikleri de kullanılır; Leverage, gözlemlenen ve beklenen frekans farkını ölçer. Karmaşık kural setlerinde birden fazla metriğin birlikte kullanılması, yanlış pozitif kuralların ayıklanması açısından önemlidir.
Başlıca Algoritmalar
- check_circle Apriori: İlk ve en yaygın kullanılan birliktelik kuralı algoritmasıdır. Aday üretme-budama döngüsüyle çalışır: önce sık geçen öğe kümeleri (frequent itemsets) tespit edilir, ardından kurallar çıkarılır. Anti-monoton özelliğinden yararlanır: bir öğe kümesi sık geçmiyorsa onun herhangi bir üst kümesi de sık geçmez. Büyük veri setlerinde çok sayıda veritabanı taraması gerektirdiği için yavaş kalabilir.
- check_circle FP-Growth (Frequent Pattern Growth): Veriyi FP-Tree adlı sıkıştırılmış ağaç yapısında saklar; böylece veritabanını yalnızca iki kez tarar. Aday öğe kümesi üretmez, bunun yerine ağaç yapısını bölerek sık geçen örüntüleri özyinelemeli biçimde bulur. Apriori'ye kıyasla bellek ve zaman açısından çok daha verimlidir; büyük veri madenciliği projelerinde tercih edilen standarttır.
- check_circle ECLAT (Equivalence Class Transformation): Dikey veri formatını kullanır: her öğe için o öğeyi içeren işlemlerin listesini (tidset) tutar. İki öğe kümesinin ortak işlemlerini bulmak için tidset kesişimi yeterlidir; bu sayede veri taraması gerektirmez. Küçük ve orta büyüklükteki veri setlerinde çok hızlıdır; bellek gereksinimleri tidset boyutuna bağlıdır.
Uygulama Alanları
- check_circle Perakende ve Market Sepeti Analizi: En klasik uygulama alanıdır. Hangi ürünlerin birlikte satıldığı belirlenerek çapraz satış stratejileri, raf düzeni optimizasyonu ve kampanya tasarımı şekillendirilir. Amazon gibi devler öneri motorlarının temelini birliktelik kurallarına dayandırır.
- check_circle Sağlık ve Tıbbi Teşhis: Hastaların teşhis kayıtlarından birlikte görülen hastalık örüntüleri çıkarılır. Örneğin diyabet ile hipertansiyonun sıkça birlikte ortaya çıkması, tarama protokollerini yönlendiren klinik karar destek sistemlerinde kullanılır.
- check_circle Web Clickstream ve İçerik Analizi: Kullanıcıların siteye giriş örüntüleri ve sayfalar arası gezinti verileri analiz edilerek hangi içeriklerin birlikte görüntülendiği öğrenilir. Bu bilgi navigasyon tasarımını ve içerik öneri motorlarını güçlendirir.
- check_circle Ağ Güvenliği ve Dolandırıcılık Tespiti: Birden fazla olayın eş zamanlı gerçekleşmesi (örneğin aynı anda birden fazla ülkeden giriş + yüksek tutarlı işlem) dolandırıcılık imzaları olarak tanımlanır. Birliktelik kuralları bu tür örüntüleri tarihi işlem verilerinden otomatik öğrenir.
- check_circle Metin Madenciliği ve NLP: Belgelerden birlikte sıkça geçen kelime veya kavram çiftleri çıkarılarak konu modelleme, anahtar kelime önerileri ve bilgi grafı oluşturma aşamalarında kullanılır.
Tuzaklar ve İyi Pratikler
Birliktelik kuralı analizinde dikkat edilmesi gereken birkaç kritik nokta vardır: Eşik seçimi dengeleme gerektirir: çok düşük min_sup çok sayıda önemsiz kural üretir; çok yüksek eşik ise gerçek örüntüleri gözden kaçırır. Pratikte veri setine göre iteratif denemeler yapılır. Güven tek başına yeterli değildir: çok popüler ürünler içeren kurallar yüksek güven değerine ulaşır ancak anlamlı bir ilişki yansıtmayabilir. Lift değeri bu yanılgıyı önler. Kural patlaması sorunu: düşük eşiklerde üretilen kural sayısı üstel büyür. Sonuçların anlamlandırılabilmesi için öncelikli kuralları sıralamak (yüksek Lift veya Leverage) ve alan uzmanlığıyla filtrelemek şarttır. Özellikle çok boyutlu ticari verilerde önce veriyi kategorik işlemlere dönüştürmek (items basket formatı), ardından en az iki ölçütle değerlendirme yapmak, güvenilir iş içgörüleri üretmenin temel reçetesidir.
Sık Sorulan Sorular
- check_circle Association Rules ile Clustering arasındaki fark nedir?: Clustering (kümeleme), benzer özelliklere sahip veri noktalarını gruplandırır; yani veriyi segmentlere ayırır. Association Rules ise aynı işlem içinde hangi öğelerin birlikte göründüğüne odaklanır. Clustering veri noktalarını etiketlerken, birliktelik kuralları olaylar arasındaki if-then ilişkilerini ortaya çıkarır.
- check_circle Apriori ile FP-Growth hangi durumda tercih edilmeli?: Küçük-orta ölçekli veri setlerinde Apriori anlaşılması ve uygulanması kolay olduğu için iyi bir başlangıç noktasıdır. Büyük veri setlerinde (milyonlarca işlem) FP-Growth bellek ve zaman açısından çok daha verimlidir; scikit-learn'ün mlxtend kütüphanesi her iki algoritmayı da destekler.
- check_circle Minimum destek eşiği nasıl belirlenir?: Net bir kural yoktur; veri setine ve iş sorusuna göre değişir. Pratik yaklaşım: önce %5-10 gibi yüksek bir değerle başlayın, üretilen kural sayısına ve iş değerine göre eşiği düşürün. Çok az kural çıkıyorsa eşik yüksek; çok fazla anlamsız kural varsa eşik düşük demektir.
- check_circle Lift değeri ne zaman iyi kabul edilir?: Genel kabul: Lift > 1 pozitif ilişki, Lift = 1 bağımsızlık, Lift < 1 negatif ilişki. Pratik uygulamalarda Lift > 1.5 veya Lift > 2 eşikleri anlamlı kurallar olarak filtrelenmek için kullanılır; ancak bu sektöre ve veri yoğunluğuna göre farklılaşır.
- check_circle Association Rules ile öneri sistemleri arasındaki ilişki nedir?: Birliktelik kuralları, kurallara dayalı (rule-based) öneri sistemlerinin temelini oluşturur: 'A'yı satın alan kullanıcıya B'yi öner.' Modern öneri sistemleri genellikle bunu matris çarpanlarına ayırma (matrix factorization) veya derin öğrenme ile zenginleştirir; ancak birliktelik kuralları yorumlanabilirlik ve hız avantajı nedeniyle hâlâ yaygın kullanılır.