elektrik port üyelik servisleri elektrik port üyelik servisleri

Veri Madenciliği |
Apriori Algoritması 1. Bölüm

Gün içinde planlı veya plansız bir şekilde pek çok ürün satın alıyoruz. Bunun yanı sıra internet kullanımının yaygınlaşması ile internet alışverişleri ve tavsiye motorları da hayatımızın bir parçası haline geliyor. Peki ya satın aldığımız ürünler arasında bir ilişki olabilir mi? Marketlerin indirim stratejilerinin altında yatan sebepler nelerdir? Bu yazımızda veri madenciliği denildiğinde akıllara ilk gelen analizlerden biri olan market sepeti analizinden bahsedeceğiz.



A- A+
06.02.2021 tarihli yazı 6689 kez okunmuştur.
Birliktelik kuralları (association rules) analizi büyük veri kümelerinde ortak öğe kalıplarını bulmak için sıklıkla kullanılan bir tekniktir. Market sepeti analizi ise bu tekniğin kullanıldığı uygulamalardan biridir. Market sepeti analizi temelde kullanıcı tercihlerinin tahmin edilmesine dayanır. Market sepeti analizi siparişlerde en sık hangi ürün kombinasyonlarının tercih edildiğini gösterir. Mağazaların, müşterilerinin satın alma davranışlarını tahmin ederek müşteri tercihlerini daha iyi anlamalarına ve nihayetinde onlara daha iyi hizmet etmelerine olanak sağlar. Örneğin, ekmek alan bir müşterinin yanında tereyağı alma olasılığı, bebek bezi alan bir müşterinin bunun yanında ıslak mendil ve bebek maması gibi ürünleri de satın alma ihtimali oldukça yüksektir. Market sepeti analizini başarılı bir şekilde uygulayan mağazalar ürünleri en uygun raflarda konumlandırıp, indirimleri bu analiz sonuçlarına göre belirleyerek satış miktarını artırabilir. Bu uygulama internet alışverişlerinde müşterilere birbirleriyle ilişkili ürünlerin tavsiye edilmesinin yanı sıra kredi kartı kullanım verilerine dayalı dolandırıcılık tespiti ve farklı hasta gruplarına reçete edilen aktif bileşenler arasındaki ilişkilerin analizi için de kullanılabilir.
 
► İlginizi çekebilir: Python Programlama | 1.Bölüm
 

Birliktelik Kuralları Nedir ?

Birliktelik kuralları analizi geçmiş verilerin analiz edilerek bu veriler içindeki birliktelik olasılıklarının tespiti ile geleceğe yönelik çalışmalar yapılmasını destekleyen bir yaklaşımdır. Birliktelik kuralları analizinde kullandığımız bazı terimlerden bahsedelim. Ekmek alan bir müşterinin tereyağı da aldığı bir kümeyi incelediğimizde bu ürünler arasındaki ilişki {Ekmek} -> {Tereyağı} şeklinde gösterilir. Bu ifadede ekmek öncül (antecedent) iken tereyağı ise sonuç (consequent) olarak adlandırılır. Birliktelik kuralları analizi için apriori, sequence ve GRI gibi farklı algoritmalar kullanılır. Bu yazımızda Apriori algoritmasını inceleyeceğiz.

Apriori Algoritması Nedir?

Apriori algoritması sıklıkla birlikte bulunan öğelerin analizi için kullanılan bir algoritmadır. Apriori algoritması destek (support), güven (confidence) ve kaldıraç (lift) parametrelerini kullanır.
 
Destek (Support) Parametresi: Ekmek-tereyağı örneğini ele aldığımızda bu ikili için hesaplanan destek parametresi bu ikilinin birlikte alındığı alışveriş miktarının tüm alışverişlere bölünmesiyle hesaplanır.
 
DESTEK {Ekmek, Tereyağı} = {Ekmek, Tereyağı} / Tüm Alışverişler
 
Güven (Confidence) Parametresi: Ekmek alan müşterilerin alışverişlerinde tereyağı da alma olasılığını belirtir.
 
GÜVEN {Ekmek, Tereyağı} = DESTEK {Ekmek, Tereyağı} / DESTEK {Ekmek}
 
Destek ve güven parametreleri ne kadar büyükse birliktelik kurallarının da o kadar güçlü olduğunu söyleyebiliriz.
 
Kaldıraç (Lift) Parametresi: Bu parametre bize ekmek ve tereyağı satın alma olasılığının sadece tereyağı satın alma olasılığından kaç kat daha fazla olduğunu söyler.  İki ürünün kaldıraç değerinin 1 olması bu ürünler arasında hiç bir ilişki olmadığı anlamına gelir.  Kaldıraç değerinin 1'den büyük olması ise bu ürünlerin birlikte satın alınma olasılığının daha yüksek olduğunu ifade eder.
 
KALDIRAÇ {Ekmek, Tereyağı} = DESTEK {Ekmek, Tereyağı} / (DESTEK {Ekmek} * DESTEK {Tereyağı})

Python ile hazır bir Excel dosyası üzerinde market sepeti analizi gerçekleştireceğimiz örneği inceleyelim.

Python’da market sepeti analizi yapabilmek için sıklıkla faydalanılan modüllerden biri olan ‘mlextend’ modülünü kullanacağız. Mlextend ve pandas modüllerini dahil ederek başlayalım.
> Python’da shape() fonksiyonu ile verimizin kaç satır ve sütundan oluştuğunu kontrol edelim.


► İlginizi çekebilir: R Programlama Nedir? | 1. Bölüm
 
> head() fonksiyonunu kullanarak veri setimizin ilk 5 satırında bulunan verileri inceleyelim.
 
 
Head() fonksiyonu ile fatura numarası (InvoiceNo), stok kodu (StockCode), ürün açıklaması (Description), miktar (Quantity), fatura tarihi (InvoiceDate), birim ücret (UnitPrice), müşteri numarası (CustomerID) ve ülke (Country) gibi bilgileri içeren bir veri setimiz olduğunu gözlemliyoruz.

> Veri setinin üzerinde daha kolay çalışabilmek için fatura numarası olmayan ve kredi kartı ile yapılmış alışveriş verilerini veri setimizden çıkaralım.

> Veri setimizi Fransa’daki mağazalardan yapılan alışverişlerin fatura numaraları ve bu alışverişlerde alınan ürünler ile ürün miktarını rahatlıkla görebileceğimiz bir şekilde gruplandıralım. Veri setindeki boş verileri ‘0’ ile dolduralım. Gördüğümüz ‘0’ değerleri o ürünün alınmadığını belirtirken, 0’dan farklı olan değerler faturada bulunan ürün miktarını belirtir.


> Bir üründen kaç tane alındığı market sepeti analizinde önemli bir değişken değildir. Asıl önemli olan ürünün alınıp alınmadığıdır. Bu sebeple miktar (Quantity) değişkeninin 0 olduğu durumlarda 0, 0’dan büyük olduğu durumlarda ise 1 döndürecek basit bir fonksiyon hazırlayalım.

 
> Sıklıkla birlikte alınan ürünlerden destek parametresi %9’dan büyük olanları seçip bu ürünlerden güven parametresi %80’den büyük olanları yeni bir değişkene atayalım.  


> Bir önceki basamakta minimum destek değeri %9 ve güven değeri %80 olan verileri incelemiştik. Bu veriler içerisinde kaldıraç değeri 5’e eşit ve ya 5’ten büyük olanları seçelim. Oluşturduğumuz bu tabloya bakarak birlikte satılma ihtimali oldukça yüksek olan ürünlerle ilgili yorum yapabiliriz.


Örneğin, işaretli satırı incelediğimizde 6’lı kırmızı kağıt tabak alan müşterilerin 6’lı kırmızı kağıt bardak alma ihtimalinin oldukça yüksek olduğunu gözlemleyebiliriz. Bu örnekte kırmızı kağıt bardak ve tabak alınan alışverişlerin mağazadan yapılan tüm alışverişlerin %12’sini oluşturduğunu, kırmızı kağıt tabak alan müşterilerin %96’sının kırmızı kağıt bardak da aldığını ve kırmızı kağıt tabak alınan alışverişlerde kırmızı kağıt bardak satışının yaklaşık 7 kat arttığını söyleyebiliriz. 


Kaynak:

► pbpython.com
► geeksforgeeks.org
► smartbridge.com
► towardsdatascience.com

Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar