R ile Birliktelik Kuralları Uygulaması

Turquoise Orbs General Twitch Banner

R ile Birliktelik Kuralları Uygulaması

Merhaba,

Birliktelik Kuralları yöntemine dair kaleme aldığım eski yazılarıma aşağıdaki linkler aracılığıyla ulaşabilirsiniz.

Birliktelik Kuralları ve Uygulama Alanları

Birliktelik Kuralları Yönteminde Matematiksel Süreç

Birlikteli Kuralları Algoritmaları

Birliktelik Kuralları Türleri

Nicel Birliktelik Kuralları

Çalışmada yer alan parametrelerin açıklamaları aşağıda verildi. Parametreler hakkında detaylı bilgilere link ile erişilebilir.

Minsup: Minimum destek değeri

Minconf: Minimum güven değeri

Support: Kurala ait destek değeri

Confidence: Kurala ait güven değeri

Lift: Kurala ait kaldıraç değeri

Count: Kuralda yer alan ürünlerin birlikte alınma (görülme) sıklığı

R Kütüphaneleri

R üzerinde bir uygulama yapılmak istenildiğinde bazı kütüphanelere ihtiyaç duyulmaktadır. Bu ve bu gibi çalışmalar için gerekli olan kütüphaneler ve detayları Tablo 1, Tablo 2 Tablo 3 ve Tablo 4’te verildi.

R GRAFİK KÜTÜPHANELERİ
Tablo 1: R – Grafik Kütüphaneleri
R VERİ DÜZENLEME KÜTÜPHANELERİ
Tablo 2: R – Veri Düzenleme Kütüphaneleri
R Birliktelik Kuralları Kütüphaneleri
Tablo 3: R – Birliktelik Kuralları Yöntemi için Kütüphaneler
R DİĞER KÜTÜPHANELER
Tablo 4: R – Diğer Kütüphaneler

Birliktelik Kuralları Uygulaması

R üzerinde gerçekleştirilen bu çalışmada Birliktelik Kuralları yöntemini uygulandı. Çalışmada, başvurulan arules kütüphanesi içerisindeki Groceries veri setinden yararlanıldı.

Data Aktarma ve Özet Bilgi

Bir kütüphanede yer alan veri setini içeri aktarmak için data() komutu kullanılır. Groceries datası hakkında özet bilgilere ulaşmak için aşağıdaki kod serisi kullanılabilir. Datanın boyutu 9385×169’dur. 9385 transactions (işlem) satır sayısına ve 169 items sütun sayısına karşılık gelir.

Programdaki data formatı seyrek matris (sparse matrix) denilen özel bir yapıdadır. Bu matriste boş olmayan hücrelerin yüzdesi yani matrisin yoğunluğu %2’dir (a density of 0.02609146). Bu değer ile beraber datadaki toplam ürün miktarına ulaşılır. Toplam ürün miktarını aşağıdaki formül verir.

Toplam Ürün Miktarı=Matrisin Yoğunluk Değeri*Satır Sayısı*Sütun Sayısı

Aşağıdaki görselde “Most Frequent Items” kısmı frekansı en yüksek ilk 5 ürünü ve ürünlerin adetlerini gösterir. “Element Length Distribution” kısmı data dağılımını verir. Bu kısma göre, 2 adet items içeren 1643 transaction olduğunu gösterir.

Data Aktarma ve Özet Bilgi

Tanımlayıcı Bilgiler

class() komutu ile başvurulan paket gösterilir. dim() komutu ile transactions ve items bilgisine ulaşılır. başvurulan paket gösterilir. transactions uzunluğuna length() komutu ile de ulaşılabilir. 

Tanımlayıcı Bilgiler

İlk 10 Items Görüntüleme ve ItemSetList Oluşturma

İlk 10 Items ve ItemSetList Oluşturma

ItemSetlist Tablo Halinde Görüntüleme ve ilk-Son 10 Items

ItemSetlist Tablo Halinde Görüntüleme ve ilk-Son 10 Items

ItemSetList Dışarı Aktarma (.txt)

Absolute Frequency Plot

En çok tekrar eden ilk 20 items için Absolute Frequency grafiği oluşturduk.

Absolute-Relative-İmage-İmage Sample Oluşturma

Relative Frequency Plot

En çok tekrar eden ilk 20 items için Relative Frequency grafiği oluşturduk.

Absolute-Relative-İmage-İmage Sample Oluşturma

Dağılım

Absolute-Relative-İmage-İmage Sample Oluşturma

6- İmage Sample

Apriori Algoritması Parametrelere Değer Atama

Apriori algoritması ile kural oluşturmadan önce  minsup ve minconf değerini atanır. Eğer değerler atanmaz ise program ön tanımlı olarak minsup değerini %10 ve minconf değerini %80 olarak hesaplar.

Kural Oluşturma

Kural Oluşturma

Apriori Sonuçlarını Görüntüleme

0.03 minsup ve 0.5 minconf değerlerine göre 421 adet birliktelik kuralı elde edildi.

Apriori Sonuçlarını Görüntüleme

Kurallar Hakkında Özet Bilgiler

Birliktelik kuralları için support, confidence, lift ve count parametreleri için bazı hesaplama sonuçlarına ulaşıldı.

Kurallar Hakkında Özet Bilgiler

İlk 9 Kuralı Görüntüleme

İlk 9 Kural Görüntüleme

1.Kural Yorum:

cereals ve whole milk ürünlerinin beraber tercih edilme olasılığı %0.37’dir (support 0.0037). cereals ürününü tercih edenler %64 (confidence 0.64) olasılık ile whole milk tercih etme eğilimine girmektedir. Bu kural için lift değeri 2.5 olarak hesaplandı. Bu değer, kuralın öncül (cereals) ve ardıl (whole milk) bölümünde yer alan ürünlerin birbirinden bağımsızlığını ölçen oransal bir destek değeridir. Özetle, cereals ürünlerinin tercih edilmesi whole milk ürününün tercih edilmesini 2.5 kat kadar arttırıyor. Her iki ürünün beraber tercih edilme sıklığı 36’dır (count 36).

Kuralları Sıralama ve Görüntüleme

Aşağıda ilk kodda kurallar confidence, ikinci kodda support ve üçüncü kodda lift değerlerine göre büyükten küçüğe doğru sıralandı ve ilk 10 kural gösterildi.

Kuralları Sıralama ve Görüntüleme

Kuralları Dışarı Aktarma

Elde edilen kurallar CSV, RData ve html uzantısı ile dışarı aktarılabilir. Kurallar html uzantısı ile dışarı aktarıldığında aşağıdaki görselde görüldüğü üzere kural setinde arama yapılabilir, parametre değerlerine göre kurallar sıralanabilir ve bağlantı sahibi herkes tarafından kural setine erişim sağlanabilir.

Kurallar html uzantısı ile dışarı aktarıldığında aşağıdaki görselde görüldüğü üzere kural setinde arama yapılabilir, parametre değerlerine göre kurallar sıralanabilir ve bağlantı sahibi herkes tarafından kural setine erişim sağlanabilir.

13- Kuralları Dışarı Aktarma 2

Görselleştirme

Scatter Plot

Scatter grafiği büyük kural gruplarını görselleştirmek için tercih edilebilir. Scatter grafiği support, confidence ve lift değerlerine göre kategorize edilebilir. Aşağıdaki görselde kuralların confidence değerine göre Scatter grafiği gösterilmektedir. Kurallar grafik üzerinde nokta olarak gösterilmektedir. Yüksek confidence değerine sahip kurallar daha koyu renkte gösterilmektedir.

14- 1- Scatter Plot

Two-Key Plot

Two-Key grafiği büyük kural gruplarını görselleştirmek için tercih edilebilir. Two-Key grafiğinin x ekseninde support değerleri ve y ekseninde confidence değerleri yer alır. Kurallar grafik üzerinde nokta olarak gösterilmektedir. Order terimi kuralda geçerli olan ürün sayısını vermektedir. Aşağıdaki grafiklerde support ve confidence değerlerinin ters ilişkiye sahip olduğu görülmektedir.

14- 2- Two-Key Plot

Grouped Matrix

Grouped Matrix grafiği büyük kural gruplarını görselleştirmek için tercih edilebilir. Grouped Matrix grafiği, kuralın öncül ve ardıl tarafında bulunan ürünlerin kesişim noktalarını daire şekli ile belirtmektedir. Kuralları temsil eden dairelerin büyüklüğü support değerine ve renkleri lift değerine göre bağlı olarak değişmektedir. Lift değeri en yüksek olan kurallar koyu renkte gösterilir. Kuralların support değeri arttıkça kuralları temsil eden daireler büyümektedir.

Grouped Matrix

Graph Method

Graph Method grafiği ürünlerden hareketle, kuralların nasıl oluştuğunu inceler. Küçük kural grupları için tercih edilebilir. Hangi kuralda hangi ürünlerin yer aldığı net bir şekilde gösterir. Grafikte bulunan daireler kuralları temsil eder. Dairelerin büyüklüğü kuralın support değerine göre ve renkleri kuralın lift değerine göre şekil alır. Bir üründen daireye doğru giden oklar kuralın öncül tarafını, daireden herhangi bir ürüne doğru giden oklar kuralın ardıl tarafını temsil eder. Bu grafik için geçerli olan kod her çalıştırıldığında farklı bir görsel sunar.

14- 7- Graph Method

Matrix Plot

Matrix Method grafiği, küçük veya orta büyüklükteki kural grupları için tercih edilebilir. Grafikte kuralları kareler temsil eder. Grafiğin x ekseni kuralların öncül tarafında bulunan ürünler ve y ekseni kuralların ardıl tarafında bulunan ürünleri temsil eder. Birinci grafikte karelerin renkleri lift değerine göre ve ikinci grafikte confidence değerine göre değişir. Değerler büyüdükçe renkler koyulaşır.

14- 9- Matrix Plot

Parallel Coordinates Plot

Parallel Coordinates grafiği küçük kural gruplarını analiz etmek için tercih edilebilir. Graphics Method grafiğinde olduğu gibi kuralların hangi ürünlerden oluştuğunu ve hangi ürünler alındığında beraberinde alım olasılığı artan ürünlerin hangileri olduğu görülebilir. Grafiğin x ekseni ürünlerin kuraldaki sıra bilgisini, y ekseni kurallarda yer alan ürünlerin bilgisi yer alır. x eksenindeki 1 değeri ilk alınan ürün, 2 değeri ikinci alınan ürünü ve RHS alınan son ürünü temsil etmektedir. Grafikte yer alan her bir ok kuralları temsil etmektedir. Bu okların şekli kuralların sahip olduğu support ve confidence değerlerine göre değişmektedir. Yüksek support değerine sahip kurallar için okların genişliği artar ve yüksek confidence değerine sahip kurallar için okların rengi koyulaşmaktadır.

Parallel Coordinates Plot

html Plot

html uzantısı ile kurallar aktif bir şekilde incelenebilir. Aşağıdaki görselde görüldüğü üzere kural setinde yer alan ürünlere göre kurallar incelenebilir. Yani ürün bazlı kurallara erişim sağlanabilir. Ayrıca, bağlantı sahibi herkes tarafından erişim sağlanabilir.

14- 14- html Plot

Matrix3D Plot

Aşağıda kuralların lift değeri baz alınarak Matrix3D grafiği sunuldu.

14- 13- Matrix with 421 Kural

Ürün Bazlı Kural Oluşturma

Aşağıdaki görselde yer alan ilk kodda yoğurt öncül ve ikinci kodda ardıl olarak atandı. İlk kod ile öncül tarafta yoğurt bulunan herhangi bir kurala ulaşılamadı. İkinci kod ile ardıl tarafta yoğurt ürünü olacak şekilde 9 kural elde edildi ve bunlar gösterildi. Bu şekilde ürün özelinde kural incelemesi yapılmış olur.

15- Ürün Bazlı Kural Oluşturma

Kod Dökümü

KAYNAKÇA

Gedleç, Ş., Çok Boyutlu Birliktelik Kuralları Analizi ve İşletme Uygulaması. Yüksek Lisans Tezi. Marmara Üniversitesi.

https://cran.r-project.org/web/packages/arules/arules.pdf

4 thoughts on

R ile Birliktelik Kuralları Uygulaması

Bir cevap yazın

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.