10.07.2015 Views

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

İş Zekası Çözümleri için Çok Boyutlu Birliktelik Kuralları AnaliziDerya Birant, Alp Kut, Medi Ventura, Hakan Altınok, Benal Altınok, Elvan Altınok, Murat Ihlamurveya düşey eksenlerde çakıştırarak görebilmektedirler.Örneğin; demografik veriler (yaş,cinsiyet, eğitim durumu vb.), sayısal veriler(adetler, işlem miktarları, bütçelenen değerlervb.), ürün özellikleri (renk, boyut vb.) ve zamangibi farklı açılardan bakılarak daha ayrıntılıanalizler yapabilmektedirler.Analizde göz önünde bulundurulacak veriboyutlarının, B={B 1,B 2,B 3,...,B t}, veritabanıtablosunun da VT={H 1, H 2, H 3,...,H t} olarakifade edildiğini düşünelim. Bu durumda veritabanıtablosunda yer alan bir hareket kaydıH i={b i1,b i2,b i3,...,b it} olacaktır. B iboyutununiçerdiği tanım kümeleri (domain) ile b ijϵ B iifadesi kullanılabilmektedir. Bu durumda VTveritabanı tablosu B 1X B 2X … X B tçaprazçarpımının alt kümesi olmaktadır.Çok boyutlu birliktelik kuralları genel olarakiki türe ayrılır. Karşılaştırma elemanları tekraretmeyen kurallar boyutlar arası birliktelik kuralları,tekrar eden kurallar ise hibrit birliktelikkuralları olarak adlandırılır.Boyutlar arası birliktelik kuralı örneği:Şube(“Cihan”) Λ Gün(“Salı”) SatınAlma("Aürünü")Hibrit birliktelik kuralı örneği:Şube(“Cihan”) Λ Gün(“Salı”) Λ SatınAlma(“Aürünü”) SatınAlma("B ürünü")4. AlgoritmaBirliktelik kuralları analizi konusunda geliştirilmişolan başlıca algoritmalar APRIORI[1], ECLAT [14], MAFIA [2] ve FP-Growth[5] algoritmalarıdır. Bu algoritmalar karşılaştırıldığındaFP-Growth algoritmasının yüksekperformans gösterdiği görülmüştür. [4] Bu algoritmabüyük veri-setlerinde hızlı çalışabilenve sistem kaynaklarını verimli kullanabilenbir algoritmadır. Bunun en büyük nedeni, tümveritabanını FP-Tree (Frequent Pattern Tree)218adı verilen sıkıştırılmış bir ağaç veri yapısındatutmasıdır. Ayrıca algoritma tüm veritabanı sadeceiki kez taramaktadır. Birinci tarama, tümnesnelerin destek değerlerinin hesaplanmasıiçin, ikincisi tarama ise ağaç veri yapısınınoluşturulması içindir.Şekil 2’de FP-Growth algoritmasının genelyapısı gösterilmektedir. Algoritmada öncelikleveritabanındaki her bir nesnenin destekdeğerleri hesaplanmaktadır. Destek değerleri,algoritmaya girdi olarak verilen destek eşikdeğerine büyük ve eşit olan nesneler büyüktenküçüğe sıralanarak bir liste içerisine konulmaktadır.Bu eleme sayesinde yaygın olmayannesnelerin hiçbir zaman ağaca eklenmemesisağlanmış olur. Veritabanındaki her bir hareketkaydı nesnelerin destek değerlerine göresıralanarak ağaca sıkıştırılmış biçimde eklenir.Sıralama işlemi sayesinde destek değeri dahabüyük olan nesneler köke daha yakın olmaktadır.Sıkıştırma işlemi çok tekrarlı nesnelerinilk-ekler olarak birleştirilmesi ile gerçekleştirilir.Bu metot arama maliyetini önemli ölçüdeazaltır. Hareket kaydı içerisinde yer alan birnesne ağaçta yoksa o nesne için yeni bir düğümoluşturulur ve destek değeri 1 olarak atanır.Eğer o nesne daha önce ağaçta oluşturulmuşise sadece o düğümün destek değeri 1 arttırılır.Nesnelerin ağaçtaki başlangıç noktaları başlıktablosu içerisinde tutulur. Aynı zamanda ağaçiçerisinde aynı nesneyi içeren düğümler birbirinebağlanır. Ağaç oluşturulduktan sonra üzerindeGrowth algoritması çalıştırılır.Şekil 3’de her bir nesne için çalıştırılan Growthalgoritmasının genel yapısı gösterilmektedir.Öncelikle içerisinde o nesnenin geçtiği yollarbelirlenir. Eğer tek bir dal varsa yaygın nesnelerkümesi, dalı oluşturan nesnelerin kombinasyonudur.Eğer birden fazla yol varsa, destekdeğer o yoldaki minimum destek değeri olarakbelirlenir. Daha sonra bu yollar o nesne içinkoşullu örüntü temelini (conditional patternbase) oluşturur. Her bir koşullu örüntü temelindenkoşullu örüntü ağacı (conditional patterntree) oluşturulur. Daha sonra bu şartlı örüntüağacı üzerinde algoritma özyinelemeli olarakyeniden çalıştırılır.Şekil 2. FP-Growth algoritmasının genel yapısıŞekil 3. Growth algoritmasının genel yapısıFp-Growth algoritması sonlandığında birliktesıklıkla görünen nesneler kümesi belirlenmiş<strong>Akademik</strong> Bilişim’<strong>10</strong> - XII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri<strong>10</strong> - <strong>12</strong> Şubat 20<strong>10</strong> Muğla Üniversitesi219olur. Algoritma böl ve yönet yaklaşımına uygunolarak ana görevin kendi içinde daha küçükgörevlere ayrılmasına olanak vermektedir.Ayrıca oluşturulan FPtree veri yapısı asıl verikümesinden daha büyük olmamaktadır.5. Pazar Sepet Analizi UygulamasıBirliktelik kuralları analizi, en yaygın olarakpazar sepet analizi uygulamalarında kullanılmaktadır.Bu uygulamalarda temel amaçmarketlerde hangi ürünlerin birlikte satıldığınıbelirlemektir.Bu bildirideki uygulamada amaç, hangi şubedehangi gün hangi ürünlerin birlikte satıldığıbelirlemektir. Çok boyutlu veriler üzerindenhibrit birliktelik kuralları çıkarılmaktadır.Uygulama, önceki bölümlerde anlatılan modelive algoritmayı içerecek şekilde çalışma kapsamındageliştirilen “Analyzer” arayüzü kullanılarakgerçekleştirilmiştir. [9]5.1 Veri AmbarıUygulamada kullanılan veri ambarı, bir mağazanın9 şubesine ait 6300 müşterinin 6 aylık95000 alışveriş hareket verilerini içermektedir.Veri ambarı oluşturulurken veri indirgeme, temizleme,ön işleme ve dönüştürme işlemleriyapılmıştır. Örneğin, tarihler haftalık günleredönüştürülmüş, geçersiz veriler çıkartılmıştır.Şekil 4’de veri ambarının kar tanesi şeması(snowflake schema) gösterilmektedir. Alışverişhareketlerini içeren olgu tablosu (fact table)satış, şube ve zaman boyutlarını birleştirmektedir.Müşteri ve ürün tabloları alışveriş hareketlerinidestekleyici konumdaki tablolardır.Tablo1’de uygulamada kullanılan veri setininküçük bir örneği verilmektedir. Mağazanınsattığı ürünler A, B, C gibi harfler olarakkodlanmıştır.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!