Birliktelik kuralı madenciliği, büyük veri kümelerindeki değişkenler arasındaki gizli ilişkileri ortaya çıkarmak için kullanılan bir tekniktir. Veri madenciliği ve makine öğreniminde popülerdir ve sepet analizi, müşteri segmentasyonu ve sahtekarlık tespiti gibi çeşitli alanlarda geniş uygulamalara sahiptir.
Bu yazıda, Python’da birliktelik kuralı madenciliğini kullanım alanları, algoritmaları ve uygulamasıyla birlikte inceleyeceğiz. Önce birliktelik kuralı madenciliğine ve uygulamalarına kısa bir genel bakışla başlayacak, ardından algoritmaların ayrıntılarına ve Python’daki uygulamalarına değineceğiz. Son olarak, makalede ele alınan temel noktaların bir özetini sunacağız.
Birliktelik Kuralı Madenciliği Nedir?
Birliktelik kuralı madenciliği, büyük veri setlerinde kalıpları tanımlamak için kullanılan bir tekniktir. Verideki değişkenler arasındaki ilişkileri bulmayı ve bu ilişkilerden yararlanarak tahminler veya kararlar vermeyi içerir. Amaç, veri kümesindeki farklı öğeler arasındaki ilişkileri tanımlayan kuralları ortaya çıkarmaktır.
Örneğin, bir marketin işlem verilerini düşünün. Birliktelik kuralı madenciliği, sıkça birlikte satın alınan ürünler arasındaki ilişkileri belirlemek için kullanılabilir. Örneğin, “Bir müşteri ekmek alırsa, muhtemelen süt de alır” kuralı, bu veri setinden çıkarılabilecek bir birliktelik kuralıdır. Bu tür kurallar, mağaza yerleşimi, ürün konumlandırma ve pazarlama çalışmaları hakkında kararlar almak için kullanılabilir.
Birliktelik kuralı madenciliği genellikle veriyi analiz etmek ve ilişkileri belirlemek için algoritmalar kullanmayı içerir. Bu algoritmalar istatistiksel yöntemlere veya makine öğrenimi tekniklerine dayanabilir. Ortaya çıkan kurallar çoğunlukla “eğer-o halde” ifadeleri biçiminde ifade edilir; burada “eğer” kısmı öncülü (test edilen koşul) ve “o halde” kısmı ise sonucu (koşul sağlandığında meydana gelen durum) temsil eder.
Birliktelik kuralı madenciliği, veride ilk bakışta belirgin olmayan kalıpları veya ilişkileri keşfetmeye olanak tanıdığı için veri analizinde önemli bir tekniktir. Değişkenler arasındaki birliktelikleri belirleyerek, kullanıcıların farklı değişkenler arasındaki ilişkileri ve bu değişkenlerin birbirleriyle nasıl bağlantılı olabileceğini anlamalarına yardımcı olur.
Bu; piyasa trendlerini belirlemek, sahtekarlık faaliyetlerini tespit etmek veya müşteri davranışını anlamak gibi çeşitli amaçlar için yararlı olabilir. Birliktelik kuralı madenciliği, sonuçları tahmin etmek veya belirli olguların temel itici güçlerini tanımlamak gibi diğer analiz türleri için de bir basamak taşı olarak kullanılabilir. Genel olarak, birliktelik kuralı madenciliği içgörü elde etmek ve verinin altında yatan yapıyı anlamak için değerli bir araçtır.
Birliktelik Kuralı Madenciliğinin Kullanım Alanları:
Birliktelik kuralı madenciliği yaygın olarak çeşitli uygulamalarda kullanılır; bunlardan bazıları şunlardır:
Sepet Analizi
Birliktelik kuralı madenciliğinin en bilinen uygulamalarından biri sepet analizidir. Bu, müşterilerin birlikte satın aldıkları ürünleri analiz ederek satın alma alışkanlıklarını ve tercihlerini anlamayı içerir.
Örneğin, bir perakendeci, bez satın alan müşterilerin aynı zamanda bebek maması alma eğiliminde olduğunu keşfetmek için birliktelik kuralı madenciliğini kullanabilir. Bu bilgi, satışları artırmak için ürün yerleşimlerini ve promosyonları optimize etmekte kullanılabilir.
Sepet Analizi hakkında daha fazla bilgi edinmek için R ile Sepet Analizi eğitimimize göz atın.
Müşteri Segmentasyonu
Birliktelik kuralı madenciliği, müşterileri satın alma alışkanlıklarına göre segmentlere ayırmak için de kullanılabilir.
Örneğin, bir şirket belirli türde ürünler satın alan müşterilerin daha genç olma olasılığının daha yüksek olduğunu keşfetmek için birliktelik kuralı madenciliğini kullanabilir. Benzer şekilde, belirli ürün kombinasyonlarını satın alan müşterilerin belirli coğrafi bölgelerde bulunma olasılığının daha yüksek olduğunu da öğrenebilirler.
Bu bilgiler, belirli müşteri segmentlerine yönelik pazarlama kampanyalarını ve kişiselleştirilmiş önerileri uyarlamak için kullanılabilir. Bu konuyu daha detaylı keşfetmek için Python ile müşteri segmentasyonuna giriş eğitimimize göz atın.
Sahtekarlık Tespiti
Birliktelik kuralı madenciliğini sahtekarlık faaliyetlerini tespit etmek için de kullanabilirsiniz. Örneğin, bir kredi kartı şirketi, kısa bir süre içinde aynı iş yerinden yapılan çoklu alışverişler gibi sahte işlem kalıplarını belirlemek için birliktelik kuralı madenciliğini kullanabilir.
Ardından bu bilgiler, potansiyel olarak sahte faaliyetleri işaretlemek ve müşterileri korumak için önleyici tedbirler almak amacıyla kullanılabilir. Bankacılıkta Veri Bilimi: Sahtekarlık Tespiti blogumuzda sürecin nasıl işlediği hakkında daha fazla bilgi edinebilirsiniz.
Sosyal ağ analizi
Çeşitli şirketler, sosyal ağların analizini bilgilendirebilecek sosyal medya verilerindeki kalıpları belirlemek için birliktelik kuralı madenciliğini kullanır.
Örneğin, Twitter verilerinin bir analizi, belirli bir konu hakkında tweet atan kullanıcıların, ilgili diğer konular hakkında da tweet atma eğiliminde olduğunu ortaya koyabilir; bu da ağ içindeki grupların veya toplulukların tanımlanmasına yardımcı olabilir.
Öneri sistemleri
Birliktelik kuralı madenciliği, bir müşterinin geçmiş satın alma veya gezinme geçmişine dayanarak ilgi duyabileceği öğeleri önermek için kullanılabilir. Örneğin, bir müzik yayın servisi, kullanıcının dinleme geçmişine göre yeni sanatçılar veya albümler önermek için birliktelik kuralı madenciliğini kullanabilir.
Python’da öneri sistemleri eğitimimizle bu işlevi yerine getiren çeşitli modellerin nasıl kurulacağını öğrenebilirsiniz.
Birliktelik Kuralı Madenciliği Algoritmaları
Birliktelik kuralı madenciliği için kullanılan birkaç algoritma vardır. Yaygın olanlardan bazıları şunlardır:
Apriori algoritması
Apriori algoritması, birliktelik kuralı madenciliği için en yaygın kullanılan algoritmalardan biridir. Önce veri kümesindeki sık öğe kümelerini (belirli sayıda işlemde görünen öğe kümeleri) belirleyerek çalışır. Ardından bu sık öğe kümelerini kullanarak, “eğer A ürünü satın alındıysa, B ürününün de satın alınma olasılığı yüksektir” biçimindeki birliktelik kurallarını üretir. Apriori algoritması, tekil öğelerle başlayıp kademeli olarak daha karmaşık öğe kümelerine doğru ilerleyen alttan üste bir yaklaşım kullanır.
FP-Growth algoritması
FP-Growth (Frequent Pattern Growth) algoritması, birliktelik kuralı madenciliği için bir diğer popüler algoritmadır. Veri kümesindeki sık öğe kümelerini kodlayan FP-tree adlı ağaç benzeri bir yapı kurarak çalışır. FP-tree daha sonra Apriori algoritmasına benzer şekilde birliktelik kuralları üretmek için kullanılır. FP-Growth algoritması, özellikle büyük veri kümelerinde Apriori algoritmasından genellikle daha hızlıdır.
ECLAT algoritması
ECLAT (Equivalence Class Clustering and bottom-up Lattice Traversal) algoritması, alttan üste yerine üstten alta yaklaşım kullanan Apriori algoritmasının bir varyasyonudur. Öğeleri desteklerine (göründükleri işlem sayısı) göre denk sınıflara ayırarak çalışır. Ardından bu denk sınıflar, kafes benzeri bir yapıda birleştirilerek birliktelik kuralları üretilir. Apriori algoritmasının daha verimli ve ölçeklenebilir bir sürümüdür.
Apriori Algoritması
Apriori algoritması, sık öğe kümesi madenciliği ve birliktelik kuralı öğrenimi için en yaygın kullanılan algoritmalardan biri haline gelmiştir. Sepet analizi, öneri sistemleri ve sahtekarlık tespiti gibi çeşitli uygulamalarda kullanılmış ve benzer görevler için birçok başka algoritmanın geliştirilmesine ilham vermiştir.
Algoritma Ayrıntıları
Apriori algoritması, minimum destek eşiğini belirleyerek başlar. Bu, bir öğenin, sık bir öğe kümesi olarak kabul edilmesi için veritabanında en az kaç kez görülmesi gerektiğini belirtir. Algoritma, minimum destek eşiğini karşılamayan aday öğe kümelerini eler.
Ardından algoritma, tüm olası sık öğe kümesi kombinasyonlarının bir listesini üretir ve her kombinasyonun veritabanında kaç kez göründüğünü sayar. Daha sonra, sık öğe kümesi kombinasyonlarına dayalı birliktelik kuralları listesi oluşturur.
Bir birliktelik kuralı, “bir işlemde A öğesi varsa, B öğesinin de bulunma olasılığı yüksektir” biçimindeki bir ifadedir. Birlikteliğin gücü, A öğesi varken B öğesinin bulunma olasılığı olan güven (confidence) ile ölçülür.
Algoritma daha sonra minimum güven eşiğini karşılamayan birliktelik kurallarını eler. Bu kurallar güçlü birliktelik kuralları olarak adlandırılır. Son olarak algoritma, çıktı olarak güçlü birliktelik kurallarının listesini döndürür.
Apriori, alttan üste bir yaklaşım kullanır; tekil öğelerle başlayıp sık kalıpları ararken kademeli olarak daha büyük öğe kümelerini birleştirir. Ayrıca, seyrek görülen öğe kümelerini elerek arama uzayını verimli biçimde budamak için “sil-yeniden etiketle” yaklaşımını kullanır.
Artıları:
Apriori nispeten basit ve anlaşılması kolaydır.
Büyük veri kümelerinde sık kalıpları ve birliktelik kurallarını etkili biçimde belirler.
Seyrek öğe kümelerini değerlendirme dışı bırakarak arama uzayını verimli şekilde budar ve hesaplama karmaşıklığını azaltır.
Çeşitli uygulamalarda yaygın olarak kullanılmış ve test edilmiştir; bu da onu yerleşik ve güvenilir bir algoritma yapar.
Eksileri:
Apriori çok büyük veri kümeleri için uygun değildir; çünkü algoritmanın hesaplama karmaşıklığı veri kümesinin boyutuyla üstel olarak artar.
Çok sayıda nadir öğe veya seyrek işlem içeren veri setlerinde kalıpları belirlemede o kadar etkili olmayabilir.
Sonuçların kalitesini etkileyebilen minimum destek ve minimum güven eşiklerine duyarlıdır.
Yorumu zorlaştırabilecek çok sayıda birliktelik kuralı üretebilir.
Apriori algoritmasını daha derinlemesine incelemek için DataCamp’teki bu harika Sepet Analizi eğitimine göz atın.
Birliktelik Kurallarını Değerlendirme Ölçütleri
Birliktelik kuralı madenciliğinde, keşfedilen kuralların kalite ve önemini değerlendirmek için yaygın olarak kullanılan çeşitli ölçütler vardır.
Bu ölçütler, birliktelik kurallarının kalite ve önemini değerlendirmek ve belirli bir uygulama için en ilgili kuralları seçmek amacıyla kullanılabilir. Uygun ölçütün seçiminin, uygulamanın özel hedef ve gereksinimlerine bağlı olduğunu unutmamak önemlidir.
Birliktelik kuralı madenciliği ölçütlerinin sonuçlarını yorumlamak, her bir ölçütün anlamını ve sonuçlarını anlamayı ve bunları keşfedilen kuralların kalite ve önemini değerlendirmek için nasıl kullanacağınızı bilmeyi gerektirir. İşte başlıca ölçütlerin sonuçlarını yorumlamak için bazı yönergeler:
Destek (Support)
Destek, bir öğe veya öğe kümesinin veri kümesinde ne sıklıkla göründüğünün bir ölçüsüdür. İlgili öğeleri içeren işlem sayısının, veri kümesindeki toplam işlem sayısına bölünmesiyle hesaplanır. Yüksek destek, bir öğe veya öğe kümesinin veri kümesinde yaygın olduğunu; düşük destek ise nadir olduğunu gösterir.
Güven (Confidence)
Güven, iki öğe arasındaki birlikteliğin gücünün bir ölçüsüdür. Her iki öğeyi de içeren işlem sayısının, ilk öğeyi içeren işlem sayısına bölünmesiyle hesaplanır. Yüksek güven, ilk öğenin varlığının ikinci öğenin varlığının güçlü bir yordayıcısı olduğunu gösterir.
Kaldıraç (Lift)
Kaldıraç, iki öğe arasındaki birlikteliğin gücünü, veri kümesindeki her iki öğenin sıklığını da dikkate alarak ölçer. Birlikteliğin güveninin, ikinci öğenin desteğine bölünmesiyle hesaplanır. Kaldıraç, iki öğe arasındaki birlikteliğin gücünü, öğeler bağımsız olsaydı beklenen birliktelik gücüyle karşılaştırmak için kullanılır.
1’den büyük bir kaldıraç değeri, iki öğe arasındaki birlikteliğin, tek tek öğelerin sıklığına göre beklenenden daha güçlü olduğunu gösterir. Bu, birlikteliğin anlamlı olabileceğini ve daha fazla incelemeye değer olduğunu düşündürür. 1’den küçük bir kaldıraç değeri ise birlikteliğin beklenenden daha zayıf olduğunu ve daha az güvenilir veya daha az önemli olabileceğini gösterir.
Birliktelik Kuralı Madenciliği için Python ve R Kütüphaneleri
R ve Python’da birliktelik kuralı madenciliği için kullanılabilecek çeşitli kütüphaneler vardır:
R kütüphaneleri
arules: R’de birliktelik kuralları ve sık öğe kümelerini çıkarmaya yönelik bir pakettir. İşlemsel veriyi okuma ve işleme, ayrıca birliktelik kuralları üretme ve kalitelerini değerlendirme işlevleri sunar.
arulesViz: R’de birliktelik kuralları ve sık öğe kümelerini görselleştirmeye yönelik bir pakettir. Birliktelik kuralı madenciliğinin sonuçlarını anlamaya ve yorumlamaya yardımcı olacak grafik ve çizimler oluşturma işlevleri sağlar.
arulesSequences: R’de sıralı verilerden birliktelik kuralları çıkarmaya yönelik bir pakettir. Sıralı veriyi okuma ve işleme, ayrıca birliktelik kuralları üretme ve kalitelerini değerlendirme işlevleri sunar.
Python kütüphaneleri
apyori: Python’da Apriori algoritmasını uygulamak için bir kütüphanedir. İşlemsel veriyi okuma ve işleme, ayrıca birliktelik kuralları üretme ve kalitelerini değerlendirme işlevleri sağlar.
mlxtend: Python’da çeşitli makine öğrenimi algoritmalarını ve araçlarını (birliktelik kuralı madenciliği dahil) uygulamak için bir kütüphanedir. İşlemsel veriyi okuma ve işleme, ayrıca birliktelik kuralları üretme ve kalitelerini değerlendirme işlevleri sunar.
PyCaret: PyCaret, makine öğrenimi iş akışlarını otomatikleştirmek için açık kaynaklı, düşük kodlu bir Python kütüphanesidir. Apriori algoritmasının kolay uygulanabilmesi için mlxtend üzerinde bir sarmalayıcı sağlar.
Python’da Birliktelik Kurallarının Uygulanması
Python’da birliktelik kurallarını uygulamak için PyCaret kullanacağız. PyCaret’i kurarak başlayalım ve ardından örnek veri setini içe aktaralım.
PyCaret’in deposundan örnek veri setini yükleyerek başlayacağız. Bu, Fransa’daki bir perakende mağazasına ait işlemsel bir veri setidir. İşlemleri tanımlamak için Fatura numarası ve ürünü tanımlamak için Açıklama alanı bulunur. Bu veri setinden kurallar çıkarırken önem vereceğimiz yalnızca bu iki unsurdur.
```
The `create_model` function runs the algorithm andreturn the rules in pandas DataFrame based on the selection parameters defined in the `create_model`. In this example we have used selection metric `confidence` with threshold and support of 0.5.# train model
arules = create_model(metric='confidence', threshold=0.5, min_support=0.05)
```Altyapı:
create_model fonksiyonundan çıkan çıktı
`create_model` fonksiyonunda tanımlanan eşik değerine göre 45 kural oluşturduk. Yukarıdaki çıktı, güvene göre (yüksekten düşüğe) sıralanan ilk 10 kuralı içerir.
Kuralları Görselleştirme
PyCaret’teki `plot_model` fonksiyonunu kullanarak kuralları görselleştirin ve analiz edin.
```
# 3d plot
plot_model(arules, plot ='3d')
```Altyapı:
Adım adım takip etmek için tam Notebook’a göz atın.
Sonuç
Birliktelik kuralı madenciliği, veri analizi için değerli bir araç ve verideki kalıpları ile ilişkileri keşfetmek için güçlü bir tekniktir. Python ve R’da, çeşitli algoritmalar için hazır uygulamalar ve sonuçları görselleştirme seçenekleri sunan birden fazla kütüphane mevcuttur.
Birliktelik kuralı madenciliğini, içgörüler çıkarmak ve verinin altında yatan yapıyı anlamak için birçok bağlamda kullanabilirsiniz. Ancak, anlamlı ve doğru sonuçlar elde etmek için uygun algoritmayı seçmek ve minimum destek ile güven eşikleri gibi doğru parametreleri ayarlamak önemlidir.
Bu konuya derinlemesine dalmak ve birliktelik kuralı madenciliği hakkında daha fazla bilgi edinmek isterseniz aşağıdaki kurslara göz atabilirsiniz:
Birliktelik kuralı madenciliği için bazı yaygın algoritmalar nelerdir?⌄
Birliktelik kuralı madenciliği için yaygın algoritmalardan bazıları Apriori ve FP-Growth algoritmalarıdır. Apriori, aday kuralları yinelemeli olarak üretip test eden alttan üste bir yaklaşım kullanırken, FP-Growth sık öğe kümelerine dayalı kuralları daha verimli bir üstten alta yaklaşımla üretir.
Python’da birliktelik kurallarını uygulamak için hangi kütüphaneleri kullanabilirim?⌄
Python’da birliktelik kuralı madenciliğini uygulamak için apyori ve mlxtend kütüphaneleri dahil olmak üzere çeşitli kütüphaneler kullanılabilir. apyori, Apriori algoritmasının basit bir uygulamasını sunarken, mlxtend Apriori’nin ötesinde ek algoritmalar ve özellikler sağlar. Ayrıca, mlxtend kütüphanesinin üzerine kurulu Apriori algoritmasının basit bir uygulamasını sunan PyCaret’i de kullanabilirsiniz.
Kuralların kalitesini değerlendirmek için kullanılan bazı yaygın ölçütler nelerdir?⌄
Birliktelik kurallarının kalitesini değerlendirmek için yaygın olarak kullanılan bazı ölçütler destek (support), güven (confidence) ve kaldıraçtır (lift).
Destek ve güven arasındaki fark nedir?⌄
Birliktelik kuralı madenciliğinde destek, veri kümesindeki işlemlerin belirli bir öğeyi veya öğe setini içerme yüzdesini ifade ederken; güven, başka bir öğe veya öğe seti de mevcut olduğunda, belirli bir öğe veya öğe setini içeren işlemlerin yüzdesini ifade eder. Destek, belirli bir öğe veya öğe setinin önemini veya ilgililik düzeyini ölçmek için kullanılırken; güven, belirli bir kuralın gücünü veya güvenilirliğini ölçmek için kullanılır.
Birliktelik kuralı madenciliği gözetimli mi yoksa gözetimsiz mi?⌄
Birliktelik kuralı madenciliği, etiketli eğitim verisi gerektirmediği için gözetimsiz bir makine öğrenimi tekniğidir. Birliktelik kuralı madenciliğinde amaç, etiketli örneklere dayanarak belirli bir sonucu tahmin etmekten ziyade, verideki kalıpları veya ilişkileri keşfetmektir.
Apriori algoritmasının bazı dezavantajları nelerdir?⌄
Apriori algoritmasının başlıca dezavantajlarından biri, özellikle büyük veri kümelerinde hesaplama açısından maliyetli olabilmesidir. Algoritma çok sayıda aday kural üretip test eder; bu da zaman alıcı olabilir. Ayrıca, Apriori algoritması minimum destek eşiğine duyarlıdır ve uygunsuz bir eşik seçimi zayıf performansa yol açabilir. Algoritma, öğe kümelerini depolamak için büyük miktarda bellek gerektirir; bu da çok büyük veri kümelerinde sorun olabilir.
Birliktelik kuralı madenciliği yalnızca kategorik değişkenlerle mi yoksa sürekli değişkenlerle de kullanılabilir mi?⌄
Birliktelik kuralı madenciliği tipik olarak belirli sayıda değer alabilen kategorik değişkenlerle kullanılır. Ancak, sürekli değişkenleri, kategorik aralıklara veya bölmelere dönüştürerek (ayrıklaştırarak) birliktelik kuralı madenciliği ile kullanmak da mümkündür.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Birliktelik kuralı madenciliği, büyük veri kümelerindeki değişkenler arasındaki gizli ilişkileri ortaya çıkarmak için kullanılan bir tekniktir. Veri madenciliği ve makine öğreniminde popülerdir ve sepet analizi, müşteri segmentasyonu ve sahtekarlık tespiti gibi çeşitli alanlarda geniş uygulamalara sahiptir.
Bu yazıda, Python’da birliktelik kuralı madenciliğini kullanım alanları, algoritmaları ve uygulamasıyla birlikte inceleyeceğiz. Önce birliktelik kuralı madenciliğine ve uygulamalarına kısa bir genel bakışla başlayacak, ardından algoritmaların ayrıntılarına ve Python’daki uygulamalarına değineceğiz. Son olarak, makalede ele alınan temel noktaların bir özetini sunacağız.
Birliktelik Kuralı Madenciliği Nedir?
Birliktelik kuralı madenciliği, büyük veri setlerinde kalıpları tanımlamak için kullanılan bir tekniktir. Verideki değişkenler arasındaki ilişkileri bulmayı ve bu ilişkilerden yararlanarak tahminler veya kararlar vermeyi içerir. Amaç, veri kümesindeki farklı öğeler arasındaki ilişkileri tanımlayan kuralları ortaya çıkarmaktır.
Örneğin, bir marketin işlem verilerini düşünün. Birliktelik kuralı madenciliği, sıkça birlikte satın alınan ürünler arasındaki ilişkileri belirlemek için kullanılabilir. Örneğin, “Bir müşteri ekmek alırsa, muhtemelen süt de alır” kuralı, bu veri setinden çıkarılabilecek bir birliktelik kuralıdır. Bu tür kurallar, mağaza yerleşimi, ürün konumlandırma ve pazarlama çalışmaları hakkında kararlar almak için kullanılabilir.
Birliktelik kuralı madenciliği genellikle veriyi analiz etmek ve ilişkileri belirlemek için algoritmalar kullanmayı içerir. Bu algoritmalar istatistiksel yöntemlere veya makine öğrenimi tekniklerine dayanabilir. Ortaya çıkan kurallar çoğunlukla “eğer-o halde” ifadeleri biçiminde ifade edilir; burada “eğer” kısmı öncülü (test edilen koşul) ve “o halde” kısmı ise sonucu (koşul sağlandığında meydana gelen durum) temsil eder.
Birliktelik kuralı madenciliği, veride ilk bakışta belirgin olmayan kalıpları veya ilişkileri keşfetmeye olanak tanıdığı için veri analizinde önemli bir tekniktir. Değişkenler arasındaki birliktelikleri belirleyerek, kullanıcıların farklı değişkenler arasındaki ilişkileri ve bu değişkenlerin birbirleriyle nasıl bağlantılı olabileceğini anlamalarına yardımcı olur.
Bu; piyasa trendlerini belirlemek, sahtekarlık faaliyetlerini tespit etmek veya müşteri davranışını anlamak gibi çeşitli amaçlar için yararlı olabilir. Birliktelik kuralı madenciliği, sonuçları tahmin etmek veya belirli olguların temel itici güçlerini tanımlamak gibi diğer analiz türleri için de bir basamak taşı olarak kullanılabilir. Genel olarak, birliktelik kuralı madenciliği içgörü elde etmek ve verinin altında yatan yapıyı anlamak için değerli bir araçtır.
Birliktelik Kuralı Madenciliğinin Kullanım Alanları:
Birliktelik kuralı madenciliği yaygın olarak çeşitli uygulamalarda kullanılır; bunlardan bazıları şunlardır:
Sepet Analizi
Birliktelik kuralı madenciliğinin en bilinen uygulamalarından biri sepet analizidir. Bu, müşterilerin birlikte satın aldıkları ürünleri analiz ederek satın alma alışkanlıklarını ve tercihlerini anlamayı içerir.
Örneğin, bir perakendeci, bez satın alan müşterilerin aynı zamanda bebek maması alma eğiliminde olduğunu keşfetmek için birliktelik kuralı madenciliğini kullanabilir. Bu bilgi, satışları artırmak için ürün yerleşimlerini ve promosyonları optimize etmekte kullanılabilir.
Sepet Analizi hakkında daha fazla bilgi edinmek için R ile Sepet Analizi eğitimimize göz atın.
Müşteri Segmentasyonu
Birliktelik kuralı madenciliği, müşterileri satın alma alışkanlıklarına göre segmentlere ayırmak için de kullanılabilir.
Örneğin, bir şirket belirli türde ürünler satın alan müşterilerin daha genç olma olasılığının daha yüksek olduğunu keşfetmek için birliktelik kuralı madenciliğini kullanabilir. Benzer şekilde, belirli ürün kombinasyonlarını satın alan müşterilerin belirli coğrafi bölgelerde bulunma olasılığının daha yüksek olduğunu da öğrenebilirler.
Bu bilgiler, belirli müşteri segmentlerine yönelik pazarlama kampanyalarını ve kişiselleştirilmiş önerileri uyarlamak için kullanılabilir. Bu konuyu daha detaylı keşfetmek için Python ile müşteri segmentasyonuna giriş eğitimimize göz atın.
Sahtekarlık Tespiti
Birliktelik kuralı madenciliğini sahtekarlık faaliyetlerini tespit etmek için de kullanabilirsiniz. Örneğin, bir kredi kartı şirketi, kısa bir süre içinde aynı iş yerinden yapılan çoklu alışverişler gibi sahte işlem kalıplarını belirlemek için birliktelik kuralı madenciliğini kullanabilir.
Ardından bu bilgiler, potansiyel olarak sahte faaliyetleri işaretlemek ve müşterileri korumak için önleyici tedbirler almak amacıyla kullanılabilir. Bankacılıkta Veri Bilimi: Sahtekarlık Tespiti blogumuzda sürecin nasıl işlediği hakkında daha fazla bilgi edinebilirsiniz.
Sosyal ağ analizi
Çeşitli şirketler, sosyal ağların analizini bilgilendirebilecek sosyal medya verilerindeki kalıpları belirlemek için birliktelik kuralı madenciliğini kullanır.
Örneğin, Twitter verilerinin bir analizi, belirli bir konu hakkında tweet atan kullanıcıların, ilgili diğer konular hakkında da tweet atma eğiliminde olduğunu ortaya koyabilir; bu da ağ içindeki grupların veya toplulukların tanımlanmasına yardımcı olabilir.
Öneri sistemleri
Birliktelik kuralı madenciliği, bir müşterinin geçmiş satın alma veya gezinme geçmişine dayanarak ilgi duyabileceği öğeleri önermek için kullanılabilir. Örneğin, bir müzik yayın servisi, kullanıcının dinleme geçmişine göre yeni sanatçılar veya albümler önermek için birliktelik kuralı madenciliğini kullanabilir.
Python’da öneri sistemleri eğitimimizle bu işlevi yerine getiren çeşitli modellerin nasıl kurulacağını öğrenebilirsiniz.
Birliktelik Kuralı Madenciliği Algoritmaları
Birliktelik kuralı madenciliği için kullanılan birkaç algoritma vardır. Yaygın olanlardan bazıları şunlardır:
Apriori algoritması
Apriori algoritması, birliktelik kuralı madenciliği için en yaygın kullanılan algoritmalardan biridir. Önce veri kümesindeki sık öğe kümelerini (belirli sayıda işlemde görünen öğe kümeleri) belirleyerek çalışır. Ardından bu sık öğe kümelerini kullanarak, “eğer A ürünü satın alındıysa, B ürününün de satın alınma olasılığı yüksektir” biçimindeki birliktelik kurallarını üretir. Apriori algoritması, tekil öğelerle başlayıp kademeli olarak daha karmaşık öğe kümelerine doğru ilerleyen alttan üste bir yaklaşım kullanır.
FP-Growth algoritması
FP-Growth (Frequent Pattern Growth) algoritması, birliktelik kuralı madenciliği için bir diğer popüler algoritmadır. Veri kümesindeki sık öğe kümelerini kodlayan FP-tree adlı ağaç benzeri bir yapı kurarak çalışır. FP-tree daha sonra Apriori algoritmasına benzer şekilde birliktelik kuralları üretmek için kullanılır. FP-Growth algoritması, özellikle büyük veri kümelerinde Apriori algoritmasından genellikle daha hızlıdır.
ECLAT algoritması
ECLAT (Equivalence Class Clustering and bottom-up Lattice Traversal) algoritması, alttan üste yerine üstten alta yaklaşım kullanan Apriori algoritmasının bir varyasyonudur. Öğeleri desteklerine (göründükleri işlem sayısı) göre denk sınıflara ayırarak çalışır. Ardından bu denk sınıflar, kafes benzeri bir yapıda birleştirilerek birliktelik kuralları üretilir. Apriori algoritmasının daha verimli ve ölçeklenebilir bir sürümüdür.
Apriori Algoritması
Apriori algoritması, sık öğe kümesi madenciliği ve birliktelik kuralı öğrenimi için en yaygın kullanılan algoritmalardan biri haline gelmiştir. Sepet analizi, öneri sistemleri ve sahtekarlık tespiti gibi çeşitli uygulamalarda kullanılmış ve benzer görevler için birçok başka algoritmanın geliştirilmesine ilham vermiştir.
Algoritma Ayrıntıları
Apriori algoritması, minimum destek eşiğini belirleyerek başlar. Bu, bir öğenin, sık bir öğe kümesi olarak kabul edilmesi için veritabanında en az kaç kez görülmesi gerektiğini belirtir. Algoritma, minimum destek eşiğini karşılamayan aday öğe kümelerini eler.
Ardından algoritma, tüm olası sık öğe kümesi kombinasyonlarının bir listesini üretir ve her kombinasyonun veritabanında kaç kez göründüğünü sayar. Daha sonra, sık öğe kümesi kombinasyonlarına dayalı birliktelik kuralları listesi oluşturur.
Bir birliktelik kuralı, “bir işlemde A öğesi varsa, B öğesinin de bulunma olasılığı yüksektir” biçimindeki bir ifadedir. Birlikteliğin gücü, A öğesi varken B öğesinin bulunma olasılığı olan güven (confidence) ile ölçülür.
Algoritma daha sonra minimum güven eşiğini karşılamayan birliktelik kurallarını eler. Bu kurallar güçlü birliktelik kuralları olarak adlandırılır. Son olarak algoritma, çıktı olarak güçlü birliktelik kurallarının listesini döndürür.
Apriori, alttan üste bir yaklaşım kullanır; tekil öğelerle başlayıp sık kalıpları ararken kademeli olarak daha büyük öğe kümelerini birleştirir. Ayrıca, seyrek görülen öğe kümelerini elerek arama uzayını verimli biçimde budamak için “sil-yeniden etiketle” yaklaşımını kullanır.
Artıları:
Eksileri:
Apriori algoritmasını daha derinlemesine incelemek için DataCamp’teki bu harika Sepet Analizi eğitimine göz atın.
Birliktelik Kurallarını Değerlendirme Ölçütleri
Birliktelik kuralı madenciliğinde, keşfedilen kuralların kalite ve önemini değerlendirmek için yaygın olarak kullanılan çeşitli ölçütler vardır.
Bu ölçütler, birliktelik kurallarının kalite ve önemini değerlendirmek ve belirli bir uygulama için en ilgili kuralları seçmek amacıyla kullanılabilir. Uygun ölçütün seçiminin, uygulamanın özel hedef ve gereksinimlerine bağlı olduğunu unutmamak önemlidir.
Birliktelik kuralı madenciliği ölçütlerinin sonuçlarını yorumlamak, her bir ölçütün anlamını ve sonuçlarını anlamayı ve bunları keşfedilen kuralların kalite ve önemini değerlendirmek için nasıl kullanacağınızı bilmeyi gerektirir. İşte başlıca ölçütlerin sonuçlarını yorumlamak için bazı yönergeler:
Destek (Support)
Destek, bir öğe veya öğe kümesinin veri kümesinde ne sıklıkla göründüğünün bir ölçüsüdür. İlgili öğeleri içeren işlem sayısının, veri kümesindeki toplam işlem sayısına bölünmesiyle hesaplanır. Yüksek destek, bir öğe veya öğe kümesinin veri kümesinde yaygın olduğunu; düşük destek ise nadir olduğunu gösterir.
Güven (Confidence)
Güven, iki öğe arasındaki birlikteliğin gücünün bir ölçüsüdür. Her iki öğeyi de içeren işlem sayısının, ilk öğeyi içeren işlem sayısına bölünmesiyle hesaplanır. Yüksek güven, ilk öğenin varlığının ikinci öğenin varlığının güçlü bir yordayıcısı olduğunu gösterir.
Kaldıraç (Lift)
Kaldıraç, iki öğe arasındaki birlikteliğin gücünü, veri kümesindeki her iki öğenin sıklığını da dikkate alarak ölçer. Birlikteliğin güveninin, ikinci öğenin desteğine bölünmesiyle hesaplanır. Kaldıraç, iki öğe arasındaki birlikteliğin gücünü, öğeler bağımsız olsaydı beklenen birliktelik gücüyle karşılaştırmak için kullanılır.
1’den büyük bir kaldıraç değeri, iki öğe arasındaki birlikteliğin, tek tek öğelerin sıklığına göre beklenenden daha güçlü olduğunu gösterir. Bu, birlikteliğin anlamlı olabileceğini ve daha fazla incelemeye değer olduğunu düşündürür. 1’den küçük bir kaldıraç değeri ise birlikteliğin beklenenden daha zayıf olduğunu ve daha az güvenilir veya daha az önemli olabileceğini gösterir.
Birliktelik Kuralı Madenciliği için Python ve R Kütüphaneleri
R ve Python’da birliktelik kuralı madenciliği için kullanılabilecek çeşitli kütüphaneler vardır:
R kütüphaneleri
Python kütüphaneleri
Python’da Birliktelik Kurallarının Uygulanması
Python’da birliktelik kurallarını uygulamak için PyCaret kullanacağız. PyCaret’i kurarak başlayalım ve ardından örnek veri setini içe aktaralım.
PyCaret’i Kurun
PyCaret’i pip kullanarak kurabilirsiniz.
Veri seti
PyCaret’in deposundan örnek veri setini yükleyerek başlayacağız. Bu, Fransa’daki bir perakende mağazasına ait işlemsel bir veri setidir. İşlemleri tanımlamak için Fatura numarası ve ürünü tanımlamak için Açıklama alanı bulunur. Bu veri setinden kurallar çıkarırken önem vereceğimiz yalnızca bu iki unsurdur.
Kurulum
İlk adım, `arules` modülünü içe aktarmak ve `setup` fonksiyonunu veri, transaction_id ve item_id’yi tanımlayarak başlatmaktır.
Setup fonksiyonundan çıkan çıktı
Model Oluşturma
create_model fonksiyonundan çıkan çıktı
`create_model` fonksiyonunda tanımlanan eşik değerine göre 45 kural oluşturduk. Yukarıdaki çıktı, güvene göre (yüksekten düşüğe) sıralanan ilk 10 kuralı içerir.
Kuralları Görselleştirme
PyCaret’teki `plot_model` fonksiyonunu kullanarak kuralları görselleştirin ve analiz edin.
Adım adım takip etmek için tam Notebook’a göz atın.
Sonuç
Birliktelik kuralı madenciliği, veri analizi için değerli bir araç ve verideki kalıpları ile ilişkileri keşfetmek için güçlü bir tekniktir. Python ve R’da, çeşitli algoritmalar için hazır uygulamalar ve sonuçları görselleştirme seçenekleri sunan birden fazla kütüphane mevcuttur.
Birliktelik kuralı madenciliğini, içgörüler çıkarmak ve verinin altında yatan yapıyı anlamak için birçok bağlamda kullanabilirsiniz. Ancak, anlamlı ve doğru sonuçlar elde etmek için uygun algoritmayı seçmek ve minimum destek ile güven eşikleri gibi doğru parametreleri ayarlamak önemlidir.
Bu konuya derinlemesine dalmak ve birliktelik kuralı madenciliği hakkında daha fazla bilgi edinmek isterseniz aşağıdaki kurslara göz atabilirsiniz: