-

Microsoft Birliktelik Kuralları

Microsoft Birliktelik Kuralı öneri sistemlerinde kullanılmak üzere Sql Server’ın Analiz Servisleri tarafından sağlanan bir çeşit birliktelik kuralıdır. Öneri sistemleri müşterilerin daha önce yaptıkları alışverişlere bağlı olarak ürün satın almaları için tavsiyede bulundukları sistemdir. Microsoft Birliktelik Kuralı, pazar sepeti analizlerinde kullanılan faydalı bir yöntemdir. Microsoft Birliktelik Kuralı Apriori Algoritması’nı kullanmaktadır.

Microsoft Birliktelik Kuralı’nın nasıl çalıştığını, projeye nasıl entegre olduğunu göstermek için Sql Server Tutorial’dan alıntılanan örnek uygulamayı anlatacağım. Microsoft Birliktelik Kuralı örneğini uygulamak için Sql Server Data Tools geliştirme aracından yeni proje eklenir. Şekil 1’de görülen yeni proje ekleme ekranı açıldığında “Business Intelligence/Analysis Services” altındaki “Analysis Services Multidimensional and Data Mining Project” ismindeki proje tipi seçilir.

Şekil1

 

Bütün iş zekası uygulamalarında olduğu gibi bir veri kaynağına ihtiyaç duyulur. Veri kaynağı eklenmeye çalışıldığında karşımıza wizard (sihirbaz) ekranı çıkacaktır. Sihirbaz ekranı ilerletildiğinde yeni veri kaynağı eklenebilecek Şekil 2’deki ekran açılır.

Şekil2

 

Şekil 2’deki “Solution Explorer” bölümünde görüldüğü gibi veri kaynağı ekledikten sonra ilgili tabloları çekmek üzere kullanılacak veri kaynağı görüntülerini (data source views) eklemek gerekmektedir. View (sanal tablo) ’leri eklemek için “Data Source Views”e sağ tıklayıp “New Data Source View” seçilir. Açılan Şekil 3’deki sihirbaz ekranında önceden oluşturulmuş vAssocSeqOrdersvve VAssocSeqLineItems ismindeki view’ler eklenir.

Şekil3

 

Bu aşamada view’lerin içeriğinden bahsetmek faydalı olacaktır. AdwentureWorks Veri Ambarı’nda internet üzerinden alışveriş yapan her kullanıcının kendi sepeti vardır ve alınacak ürünler sepet içerisinde biriktirilir. Pazar sepeti analizleri için her alışveriş sepetindeki ürün küme olarak değerlendirilir ve ürünler arasındaki ilişki sepetteki ürünler arasındaki ilişkiden yola çıkılarak yapılır. Bu yüzden FactInternetSales tablosundan başlayıp diğer tablolar ile ilişkiler kurulur. Eklenen iki view’de kullanılan vDMPrep ismideki view’in Sql sorgusu aşağıdaki gibidir;

sql1

2008 yılındaki satışlar ve satın alma bilgilerini gösteren vAssocSeqOrders view’inSql sorgusu aşağıdaki gibidir;

sql2

2008 yılındaki satışlar için vAssocSeqLineItemsSql sorgusuaşağıdaki gibidir;

sql3

 

 

 

Veri kaynağı olarak kullanılan view’ler eklendikten sonra iki tablo arasındaki bağlantı Şekil 4’deki gibi belirtilmelidir, iki tablodaki OrderNumber kolonu bağlanmalıdır. Bu bağlantının VAssocSeqLineItems’dan vAssocSeqOrdersv olması gerekir.

şekil4

 

Sonraki adımda veri madenciliği yapısı (mining structure) ve modeli seçilmelidir. Şekil 2’de görünen “Solution Explorer” bölümündeki “Mining Model” seçeneği sağ tıklandığında çıkan “New Mining Structure” seçilir. Açılan sihirbaz ekranı ilerletildiğinde farklı madencilik modellerinin seçilebileceği Şekil 5’deki ekran ile karşılaşılır, bu ekranda Microsoft Analiz Servisleri’nin desteklemiş olduğu madencilik modelleri görülebilir, bu örnek için “Microsoft Association Rules” seçilir.

şekil5

 

Birliktelik Kuralları’nda eklenen tablolarda case ve nested tablolar yer almaktadır. Case tablosu müşteri ile ilgili bilgileri içeren, nested tablo ise sipariş ile alakalı bilgi içeren tablodur. Bu yüzden vAssocSeqOrders tablosu case, vAssocSeqLineItems tablosu nested tablo olarak Şekil 6’daki gibi seçilir. Şekil 4’deki OrderNumber kolonu bağlantısı kurulurken nested tablodan case tabloya olmasına dikkat edilmelidir.

Şekild6

 

Case ve nested tabloların seçildiği ekran ilerletildiğinde eğitim verisinin (training data) seçildiği Şekil 7 ekranı açılacaktır. Case tablosundaki OrderNumber, Age, Gender, Region, IncomeGroupkolonları seçilir. Seçilen kolonlar madencilik yapısına dahil edilmiştir anlamına gelir. Pazar Sepeti Analizi her biralışverişte hangi ürünler alındı, kısmı ile ilgilendiği içinCustomerKeykolonunu eklemeye gerek bulunmamaktadır. OrderNumber kolonu anahtar (key) alan olarak seçilmelidir. Case tablosundan Model kolonunu key alan olarak seçip modele dahil edilmiş olur.

şekil7

 

Girdi (input) olarak seçilen alanlar Birliktelik Kuralları oluşturulurken kuralın içinde yer alan bir parametre olacaktır. Yapılan seçimler ile madencilik modeli Şekil 8’deki gibi oluşur, yapıya dahil edilen kolonlar sonradan input’a dönüştürülerek de kullanılabilir.

şekil8

 

Madencilik yapısı eklendikten sonra cinsiyet (gender) bilgisi Input olarak değiştirilir, sonuçları görebilmek için Şekil 9’daki “Mining Model Viewer” bölümü açılır, bu alan açıldığında projenin yayınlanacağı(deploy) bilgisi verilir ve proje yayınlandıktan sonra Şekil 9’daki Birliktelik Kuralları oluşur.

şekil9

 

“Mining Model Viewer” ekranında olasılık (probability) ve güven (support, importance) değerleri verilir, varsayılan (default) olarak olasılık=0.40, güven=0.15 olarak gelmektedir, bu değerler değiştirilerek kullanılabilir. Olasılık değeri 0.40’dan ve güven değeri 0.15’den büyük olan kuralların listesine bakıldığında model ve cinsiyet değerlerini parametre alarak kurallar oluşturulmuştur. Verilen olasılık ve güven değerleri ile 64 tane kural oluşturulmuş, çıkan kurallardan bazıları analiz edilecek olursa;

ML Mountain Tire = Existing, Sport 100 = Existing > Mountain Tire Tube = Existing:

ML Mountain Tire ürünü ile Sport 100 ürününü birlikte alan müşteriler 0.985 olasılık ile Mountain Tire Tube de satın alır.

Road Bottle Cage = Existing, Gender = M > Water Bottle = Existing:

Road Bottle Cage ürünü alan erkek müşteriler 0.890 olasılık ile Water Bottle de satın alır.

Bu kuralların kullandığı yaygın öğe kümeleri Şekil 10’dan görülebilir. Şekilde görüldüğü gibi 247 adet yaygın öğe kümesi bulunmuş. Minimum güven sayısı olarak 213 verildiğinde 213’den büyük değerdeki kümeler kurallara dahil edilir. Örneğin Road Bottle Cage, Water Bottle ürünler erkek müşteriler tarafından 764 defa aynı siparişte satın alınmış, aynı ürünler kadın müşteriler tarafından 749 defa birlikte satın alınmıştır.

şekil10

 

Kaynaklar:

[1]   Microsoft Association Algorithm, https://msdn.microsoft.com/en-us/library/  ms174916.aspx, [Ziyaret tarihi:30 Mart 2015].

Your email address will not be published. Required fields are marked *

*