Bu çalışma materyali, bir dersin sesli kayıt dökümü ve kopyalanmış metin kaynaklarından derlenerek hazırlanmıştır.
İlişki Kuralları Madenciliği: Temel Kavramlar ve Algoritmalar 📊
İlişki kuralları madenciliği, büyük ve karmaşık veri kümeleri içerisinde gizlenmiş, sık tekrarlayan desenleri ve öğeler arasındaki bağlantıları keşfetmek için kullanılan güçlü bir veri madenciliği yöntemidir. Bu metodoloji, özellikle perakende sektöründe "Pazar Sepeti Analizi" olarak bilinen uygulamasıyla öne çıkar.
📚 İlişki Kuralları Madenciliğinin Tanımı ve Önemi
- Tanım: İlişki kuralları madenciliği, veri setlerindeki öğeler arasında "eğer X olursa, o zaman Y de olur" şeklindeki ilişkileri belirlemeyi amaçlar.
- Amaç: Müşteri davranışlarını anlamak, ürün yerleşimlerini optimize etmek, çapraz satış fırsatları yaratmak ve kişiselleştirilmiş pazarlama stratejileri geliştirmek gibi iş kararlarını desteklemek.
- Uygulama Alanı (Pazar Sepeti Analizi): Müşterilerin alışveriş sepetlerinde hangi ürünleri genellikle birlikte satın aldığını ortaya çıkarır.
- Örnek: Bir müşteri ekmek aldığında, büyük olasılıkla tereyağı da alır. 🍞➡️🧈
- İşletmeler İçin Faydaları:
- Çapraz satış stratejileri geliştirme.
- Mağaza içi ürün yerleşimlerini optimize etme (örneğin, ekmek ve tereyağını yakın raflara koyma).
- Müşteriye özel promosyon kampanyaları düzenleme.
- Rekabet avantajı sağlama.
📈 Temel Değerlendirme Ölçütleri
Bir ilişki kuralının (X ⇒ Y) ne kadar güçlü ve geçerli olduğunu anlamak için üç temel metrik kullanılır:
-
Destek (Support) 📚:
- Tanım: Bir öğe kümesinin (X ve Y'nin birlikte) toplam işlemler içinde ne kadar sıklıkla görüldüğünü ölçer. Kuralın genel geçerliliğini gösterir.
- Formül:
Destek(X ⇒ Y) = İşlem Sayısı(X ∪ Y) / Toplam İşlem Sayısı - Yorum: Yüksek destek değeri, kuralın sadece nadir bir tesadüf olmadığını, veri setinde yaygın olduğunu gösterir.
-
Güven (Confidence) 📚:
- Tanım: X ürününü alan bir müşterinin Y ürününü de alma olasılığıdır (şartlı olasılık). Kuralın "doğruluk" oranını verir.
- Formül:
Güven(X ⇒ Y) = Destek(X ∪ Y) / Destek(X) - Yorum: %70 güven, X ürününü satın alan müşterilerin %70'inin aynı zamanda Y ürününü de satın aldığını belirtir.
-
Kaldırma (Lift) 📚:
- Tanım: X ve Y ürünlerinin birlikte satılmasının, bu ürünlerin birbirinden bağımsız olması durumuna göre ne kadar arttığını gösterir. X'in varlığının Y'nin satışını ne kadar etkilediğini ölçer.
- Formül:
Kaldırma(X ⇒ Y) = Destek(X ∪ Y) / (Destek(X) * Destek(Y)) - Yorum:
- Lift > 1: Pozitif ilişki. X'in varlığı Y'nin satış ihtimalini artırıyor (tamamlayıcı ürünler). ✅
- Lift = 1: İlişki yok. Ürünler birbirinden bağımsız. ➖
- Lift < 1: Negatif ilişki. X'in alınması Y'nin alınma ihtimalini düşürüyor (ikame ürünler). ❌
💡 İlişki Kuralları Madenciliği Algoritmaları
İlişki kuralları madenciliğinde en sık kullanılan iki algoritma Apriori ve FP-Growth'tur.
1. Apriori Algoritması
Apriori algoritması, "bir öğe kümesi sık değilse, onun kapsadığı daha büyük hiçbir küme de sık olamaz" prensibine dayanır. Bu prensip sayesinde gereksiz aday kümeleri erkenden elenerek işlem yükü hafifletilir.
Çalışma Adımları:
- Destek Eşiğinin Belirlenmesi: Analize başlamadan önce, bir ürünün veya grubun "sık" kabul edilmesi için gereken minimum frekans (min_support) belirlenir.
- Tekli Öğelerin Analizi (L1): Veri tabanı taranır ve her bir ürünün tek başına kaç kez geçtiği sayılır. Belirlenen eşiğin altında kalan ürünler elenir. Geriye kalanlar "Sık 1-Öğeli Kümeler" (L1) listesini oluşturur.
- Aday Kümelerin Oluşturulması ve Test Edilmesi (İterasyon):
- L1 listesindeki öğeler birleştirilerek 2'li aday kombinasyonlar (C2) oluşturulur.
- Veri tabanı tekrar taranarak bu ikililerin frekansları sayılır.
- Eşiğin altında kalanlar elenir ve "Sık 2-Öğeli Kümeler" (L2) elde edilir.
- Genişletme: L2 listesinden yola çıkılarak 3'lü, 4'lü kombinasyonlar üretilir. Bu döngü, yeni bir sık küme üretilemeyene kadar devam eder.
- Kural Çıkarımı: Son olarak elde edilen sık kümelerden, belirlenen "Güven" (Confidence) ve "Kaldırma" (Lift) kriterlerine uyan kurallar (Örn: X alan Y de alır) türetilir.
⚠️ Performansı Etkileyen Kritik Faktörler ve Dezavantajları:
- Veri Tabanı Taraması (En Büyük Darboğaz): Algoritma, her adımda (1'li, 2'li, 3'lü kombinasyonlar için) veri tabanını baştan sona tekrar tarar. Büyük veri setlerinde bu durum çok fazla disk I/O işlemi gerektirir ve sistemi yavaşlatır.
- Aday Küme Sayısı: Ürün sayısı arttıkça, olası kombinasyon sayısı katlanarak artar. Çok fazla adayın üretilmesi ve bunların tek tek sayılması işlemciyi yorar.
- Destek Eşiği Hassasiyeti:
- Eşik çok düşük seçilirse: Çok fazla aday küme oluşur, algoritma aşırı yavaşlar.
- Eşik çok yüksek seçilirse: Algoritma hızlı çalışır ancak nadir görülen ama değerli olabilecek kuralları (örneğin pahalı ürünlerin birlikteliği) kaçırabilir.
2. FP-Growth Algoritması
Apriori algoritmasının performans darboğazlarını aşmak için geliştirilen FP-Growth (Frequent Pattern Growth) algoritması, aday küme üretimi yapmadan çalışmasıyla öne çıkar. Bu yöntem, veriyi FP-Tree (Sık Desen Ağacı) adı verilen sıkıştırılmış ve özel bir ağaç yapısına dönüştürerek saklar.
Çalışma Adımları:
- Hazırlık Aşaması: Frekans Hesabı ve Sıralama (İlk Tarama):
- Veri tabanı ilk kez taranır ve her bir öğenin frekansı hesaplanır.
- Minimum destek eşiğinin altında kalan nadir öğeler filtrelenir.
- Kalan sık öğeler, destek değerlerine göre azalan sırada sıralanır. Bu sıralama, ağaç oluşturulurken ortak yolların paylaşılmasını kolaylaştırır.
- Ağaç Oluşturma: FP-Tree İnşası (İkinci Tarama):
- İşlem "Null" (boş) bir kök düğüm ile başlar.
- Veri tabanı ikinci kez taranır. Her işlemdeki öğeler, 1. adımda belirlenen global sıraya göre dizilir ve ağaca eklenir.
- Eğer eklenen işlemdeki öğeler, ağaçta zaten var olan bir yolla başlıyorsa, yeni dal oluşturulmaz; mevcut düğümlerin sayaçları 1 artırılır. Yol farklılaşıyorsa, ayrıldığı noktadan itibaren yeni bir dal oluşturulur.
- Ağaçtaki aynı etikete sahip düğümlere hızlı erişim için bir "Başlık Tablosu" (Header Table) oluşturulur.
- Madencilik Aşaması: Koşullu Desen Tabanı (Conditional Pattern Base):
- Sık desenleri bulmak için "böl ve yönet" stratejisi uygulanır.
- İşlem, Başlık Tablosu'ndaki en düşük frekanslı öğeden başlayarak yukarıya doğru yapılır.
- Her öğe için, o öğeye ulaşana kadar izlenen yollar (prefix paths) ağaçtan çıkarılır. Bu yollar kümesine "Koşullu Desen Tabanı" denir.
- Elde edilen bu alt yollar kullanılarak, sadece o öğeye özgü geçici ve küçük bir FP-Tree (Koşullu FP-Tree) oluşturulur.
- Kural Çıkarımı: Sık Öğe Kümeleri ve İlişkiler:
- Oluşturulan koşullu ağaçlar üzerinde özyinelemeli (recursive) olarak işlemler tekrar edilir. Bu sayede, minimum destek değerini karşılayan tüm öğe kombinasyonları (sık öğe kümeleri) tespit edilir.
- Son aşamada, bulunan bu sık kümeler kullanılarak, belirlenen Güven (Confidence) ve Kaldırma (Lift) eşiklerine uyan ilişki kuralları türetilir.
✅ Avantajları:
- Daha Hızlıdır: Apriori gibi aday küme üretimi yapmaz, bu yüzden büyük veri kümelerinde daha verimlidir.
- Bellek Kullanımında Etkili: FP-Tree sayesinde tekrar eden öğeler sıkıştırılarak depolanır.
- Ölçeklenebilir: Çok büyük veri kümeleri ve uzun işlem listelerinde daha iyi performans verir.
- Sık Öğeleri Net Gösterir: Ağaç yapısı, verideki sık öğe gruplarını görsel olarak da kolayca anlamaya yardımcı olur.
⚠️ Dezavantajları:
- Ağaç Yapısının Karmaşıklığı: FP-Tree oluşturmak ve yönetmek, Apriori'ye göre daha zordur.
- Bellek Sınırlaması: Çok büyük ve farklı öğe çeşitliliğine sahip veri kümelerinde FP-Tree bellekte çok yer kaplayabilir.
- Uygulama Zorluğu: Gerçekleştirilmesi Apriori'ye göre daha karmaşık olduğundan, algoritmanın kodlanması daha zahmetlidir.
- Dinamik Veride Zor: Veri sürekli değiştiğinde ağacı yeniden kurmak gerekebilir, bu da zaman alıcıdır.
Sonuç
İlişki kuralları madenciliği, büyük veri kümelerindeki gizli desenleri ve bağlantıları keşfetmek için kritik bir yöntemdir. Destek, Güven ve Kaldırma gibi metrikler, bu kuralların geçerliliğini ve gücünü ölçmede temel araçlardır. Apriori algoritması, sık öğe kümelerini bulmak için temel bir yaklaşım sunarken, FP-Growth algoritması aday küme üretimi yapmadan FP-Tree yapısını kullanarak Apriori'nin performans darboğazlarını aşmayı başarmıştır. Her iki algoritmanın da kendine özgü avantajları ve dezavantajları bulunmakla birlikte, veri madenciliği alanında karar destek sistemleri için değerli içgörüler sağlamaktadırlar.








