Anasayfa / Makine Öğrenmesi / Birliktelik Kuralları Analizi / R ile Birliktelik Kuralları Analizi (Association Rules Analysis with R Project)

R ile Birliktelik Kuralları Analizi (Association Rules Analysis with R Project)

Merhaba,

Bir önceki yazımda Birliktelik Kuralları Analizi (Association Rules Analysis) ilgili R kodlarını paylaşacağımı belirtmiştim. Dilerseniz hızlıca başlayalım. R üzerinde Birliktelik Kuralları Analizi için kullanacağım kütüphaneler başlıca kütüphaneler: arules ve arulesViz

arules kütüphanesi ile Apriori algoritmasını kullanmak için, arulesViz kütüphanesi ile de Apriori algoritması sonucunda ortaya çıkan kuralları(rules) görselleştirmek için kullanacağım.

arules ve arulesViz kütüphanelerinin dışında çalışma dizini için here ve interaktif çıktıları export edebilmemiz için htmlwigdets kütüphaneleri kullandım.

Şimdi kullanacağım veri seti içeriye alalım. Kullanacağımız veri seti aşağıdaki bağlantılardan indirebilirsiniz.

  1. http://www.sci.csueastbay.edu/~esuess/classes/Statistics_6620/Presentations/ml13/groceries.csv
  2. R içerisinde arules kütüphanesi ile birlikte gelen Groceries veri setini data(Groceries) yazılarak içeriye aktarılabilirsiniz.
Veri seti için bazı tanımlayıcı bilgilere bakacak olursak;
Veri seti 9385×169 yani 9385 transaction(element) ve 169 items ‘tan oluşmaktadır. Veri seti içerisindeki ilk 10 gözleme bakalım;
Veri seti içerisindeki yer alan tüm items listeleyelim.
İlk ve son 10 items listeyecek olursak;
Veri setini özetleyici bilgiler ile devam ediyoruz;
En çok kullanılan items‘lar;
En çok kullanılan 5 items‘a baktığımızda 2513 adet ile Whole Milk ilk sırada olduğu ve onu 1903 adet ile other vegetables izlediği görülmektedir.

Items (Birlikte yer alanda 1 ile 32 arasındaki items’ların) uzunlukları;

Bura tabloyu inceleyecek olursak; sadece 1 items‘ı içeren 2159 adet transaction olduğu ve sadece 32 items‘ı içeren 1 adet transaction olduğunu görülmektedir.

Her bir items için relative değelerini gözükmektedir.

Her bir items için absolute değelerini gözükmektedir.

Veri setine ait Absolute ve Relative grafiklerini çizdirelim:

Absolute Item Frequency Plot Top 25

 

Relative Item Frequency Plot Top 25

Şimdi Birliktelik Kuralları oluşması için apriori modelini tasarlayalım;

Min. Support değerini %1 yani 0,01; Min. Confidence değerini %25 yani 0,25 olarak set ediyoruz. Ve Modelimizi bu parametreler ile initialize ediyoruz.

Not: Eğer Min. Support ve Min. Confidence değerlerini  vermezisek; varsayılan başlangıç (%10 ve %80) değerlerini alarak model oluşturulacaktır.

Verdiğimiz min support ve min confidence değelerince 170 adet rules oluştuğu görülmektedir.

170 adet oluşan kuralların ilk 25 tanesini görelim;

Burada ilk kuralı yorumlayacak olursak;

Kuralın Sol Tarafını baz alarak başlıyoruz;

Support Yorumu: Bir fiş hareketi içerisinde Hard Cheese ürünü ile Whole Milk 0,01 yani %1 değeri ile birlikte oldukça az görülmektedir.

Confidence Yorumu: Aynı zamanda Hard Cheese ürününü satın alan bir kişi 0,41 yani %41 ile Whole Milk ürünün de satın alacağı görülmektedir. Kuralın RHS(Right Hand Side) yani Consequent tarafı ile ilgilenir.

Lift Yorumu: Hard Cheese ürününü olan alışveriş sepetlerinde Whole Milk ürünlerini satışı 1,60 kat artırıyor. Bu değer kuralın LHS(Left Hand Side) yani Antecedent tarafı ile ilgilenir.

Count Yorumu: Her iki items’ın birlikte görülme sıklığı 99 olduğu görülmüştür.


Şimdi de oluşturulan Apriori Modeline ait bilgileri ekrana yazdırıyoruz.

Apriori algoritması kullanılarak Min. Supp ve Min. Conf değerleri ile 170 adet kural oluştuğu görülmektedir. Oluşan bu kuralları Condifence, Support ve Lift değerlerine göre descent(azalan) olarak sıralıyoruz. Ve devamında ilk ve son 5 adet kuralları listeliyoruz.

Confidence değerlerine göre ilk ve son 5 kural:

Support değerlerine göre ilk ve son 5 kural:

Lift değerlerine göre ilk ve son 5 kural:

Şimdi ise oluşan kuralları visualise(görselleştirme) ederek somutlaştıralım. Bunun için Grap.R dosyasının içerisinde yazmış olduğum kod;

Şimdi de Interactive Graph(İnteraktif Grafik) ile daha kullanışlı ve akıllı görselleştirmeler kullanalım. Bunun için InteractiveGraph.R dosyasının içerisinde yazmış olduğum kod;

Bazı interaktif görselleri aşağıda paylaşıyorum. İnteraktif görselleri html dosyası olarak kaydedip. Herhangi bir tarayıcı ile açıp ilgili kuralların üzerine gelip bilgiler elde edebilirsiniz. Ne demek istediğimi Association Rules Analysis with R Github Repositories’ini incelediğinizde daha iyi anlayacaksınız.

Not: Interactive Graph çıktılarını Output dizini altında 7-InteractiveGraph dizinini içerisinde bulabilirsiniz.

 

Son olarak da Other Graph Format’ları olan (edgelist, graphml, gml, dot) kullanalım. Bunun için OtherGraph.R dosyasının içerisinde yazmış olduğum kod;

Not: Other Graph Formatları Items ve Itemset olarak Output dizini altında 8-OtherGraphFormat dizininde bulabilirsiniz.

Oluşan 170 adet kuralı Output dizini altına BasketRules.csv dosyasına kaydediyoruz.

Oluşan 170 adet kuralı Interactive bir formatta Output dizini altına BasketRules.html dosyasına kaydediyoruz. Çıktısı:

Modeli ve diğer tüm değişkenleri .RData olarak Output dizini içerisinde BasketRules.RData dosyasına kaydediyoruz.

Yukarıdaki tüm kodlar;


Son Olarak; Github üzerinde yer alan repository’e buradan (kod, input, output ve diğer dosyalara) ulaşabilirsiniz. Yazıyı beğenerek ve paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz. Görüş ve önerileriniz için uslumetin@gmail.com’dan bana ulaşabilirsiniz.

Yeniden görüşmek üzere, Selamlar 🙂

Hakkında Metin USLU

GÖZ ATMAK İSTEYEBİLİRSİNİZ

Minitab Destekli İstatistiksel Analiz Eğitimleri – Ders 1/9 [Minitab Hakkında Genel Bilgi Giriş, Menüler ve Araç Çubukları]

Minitab Hakkında Kalite iyileştirme ve istatistik eğitimi konularında dünyanın lider yazılım ve hizmet sağlayıcısıdır. Merkezi …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir