Sayfalar

24 Mayıs 2014 Cumartesi

Association Rule

Association rule datamining teknikleri içinde birliktelik kurallarını belirlemek için kullanılır. Özellikle Perakende sektöründe Sepet Analizi için idealdir.  Amaç aşağıdaki gibi bir sonuca ulaşmaktır.

{PANTOLON, SWEAT} => {GÖMLEK}

Bu sonuca ulaşmak için yöntem tüm olası durumlar için hesaplamalar yapabilir. Sonuç kümesi olarak sadece doğruluğu ve değeri yüksek sonuçlar kullanılır.

Üzerinde çalışılacak tüm terimler için;
 I ={terim1 , terim2, .... } şeklindedir.   

Bu Terimlerden oluşan her bir Set sistemin veri kaynağıdır.
D = {set1 , set2 , set3 ..... } 
her bir set I kümesinin bir  alt eşit kümesi olabilir. 

Amaç 
 X => Y sonucuna ulaşmaktır. 
Burada  X ve Y kümeleri I Kümesinin alt kümeleri ve X kesişim Y = boş küme olmalıdır.

 İlgili şartlar altında tüm durumlar için üç değer belirlenir;

support (destek) :    supp şeklinde de geçer.
supp = (X U Y kümesini içeren Set sayısı) / (Toplam Set Sayısı)
Dolayısıyla Support değeri ilgili değerin toplam set içindeki oranını verir.

confidence (güven):  conf şeklinde de geçer.

conf =  (X U Y kümesini içeren Set sayısı) / (X kümesini içeren Set sayısı)

Bu da X terimlerini içeren Set ler içinde Y 'ninde olduğu Set lerin oranını verir.

Aşağıdaki Sonuç kümesini için;
1. satır  "Bir Sepette Pantalon ve Sweat , Gömlek olması tüm sepetlerin %1'inde görülmektedir. Pantalon ve Sweat içeren sepetlerin ise %47 ' sinde Gömlek vardır." anlamı çıkar.
5. satır "Sepette Pantalon ve Gömlek olması tüm sepetlerin %3.3'ünde görülmektedir. İçinde Pantrol olan sepetlerin  %30 'unda ise Gömlek de vardır.


lhs
rhssupportconfidencelift
1{PANTOLON,





SWEAT}=>{GÖMLEK}0.0104890.470527 2.123
2{TRİKO,





SWEAT}=>{GÖMLEK}0.0106270.4108731.8542
3{GÖMLEK,





TRİKO}=>{SWEAT}0.0106270.3714742.4407
4{GÖMLEK,





PANTOLON}=>{SWEAT}0.0104890.3168522.0818
5{PANTOLON}=>{GÖMLEK}0.0331040.3072971.3868

The R uygulaması kullanılarak Association rule kullanımı ayrıca anlatılacak.




23 Mayıs 2014 Cuma

Sepet Analizi

 Datamining yöntemlerinin Perakende sektöründe kullanılan en yayğın ve bilindik uygulması "Sepet Analizi". Bu analiz için de en yayğın kullanılan yöntem "Association rule" (Birliktelik Kuralı).

 Sepet Analizinin hedefi; Müşterilerin, birlikte satın alınma eğilimi olan ürün veya ürün gruplarını tespit edebilmek ve bu bilgiler ışığında aksiyonlar almaktır.  Bu aksiyonlar, ilgili ürün grupları için önceden Kampanyalar düzenlemek olabileceği gibi Alışveriş sitelerinde sepetteki ürünlere bakarak o anda yeni ürünler önermek olabilir.

 Sepet Analizi perakende kanalında ilk defa büyük marketler için uygulanmaya başlanmıştır. Sepet Analizi ismi de ordan gelmektedir. Analizlerde birlikte satınalma durumunu incelemek için  set olarak Sepet (fatura) kullanılmaktadır. Aynı faturadaki ürünler bir set oluşturur.

 Bu yöntem market sektörü için doğru bir yöntem olmakla beraber perakende sektörünün diğer alanlarında özellikle Tekstil alanında yetersiz kalabilir. Çünkü bu alanda sepet içindeki ortalama ürün adetleri 1.6 , 1.9 seviyelerindedir. Yani 2 adetten bile azdır.  Özellikle sektörün doğası ve kampanya gibi yan etkilerden dolayı Sepet bölünmesi denilen durumlar da sıklıkla oluşur.

 Her faturayı kime kestiğini bilen şirketler için alternatif sepet yöntemleri belirlenebilir. Örneğin bir müşterinin Aynı gün içinde yaptığı (hatta aynı grubun farklı bir mağazası bile olabilir) tüm A/V bir sepet kabul edilebilir. Hatta Müşteri ve Bir Hafta 'nın tamamı çok daha iyi olabilir.

 Analizlerin Ürün seviyesinde değil Ürün Grupları seviyesinde yapılması daha doğrudur. Özellikle Moda sektöründe sezon kavramından dolayı ürün ömrü 6 - 8 ay civarıdır. Yine aynı nedenlerden dolayı yüzbinlerce üründen bahsetmek gerekir.

 Müşteri , Hafta ve Ürün Grubu bazında çalıştığımız taktirde aşağıdaki gibi bir örnek oluşabilir.

2013-22_20182767 ,  SWEAT
2013-22_20182767 ,  JEAN
2013-22_20182767 ,  ELBİSE

2013-22_20256035 ,  SWEAT
2013-22_20256035 ,  ELBİSE

2014-21_20871114 ,  SWEAT
2014-21_20871114 ,  JEAN

2014-21_19672967 ,  JEAN

2014-21_18693948 ,  SWEAT

2014-21_18693948  , GÖMLEK

 Çoğu dataming uygulaması yukardaki gibi olan transactional verileri de desteklemektedir. Fakat yapı olarak veri aslında aşağıdaki gibi işlenir.

  SWEATJEANELBİSEGÖMLEK
2013-22_20182767 1110
2013-22_20256035 1010
2014-21_20871114 1100
2014-21_19672967 0100
2014-21_18693948 1000
2014-21_18693948 0001

Sonuç olarak aşadağıdaki değerlere ulaşabiliriz; (Kaynak veri farklıdır)



lhs
rhs support confidence lift
1 {PANTOLON,





SWEAT} => {GÖMLEK} 0.010489 0.470527  2.123
2 {TRİKO,





SWEAT} => {GÖMLEK} 0.010627 0.410873 1.8542
3 {GÖMLEK,





TRİKO} => {SWEAT} 0.010627 0.371474 2.4407
4 {GÖMLEK,





PANTOLON} => {SWEAT} 0.010489 0.316852 2.0818
5 {PANTOLON} => {GÖMLEK} 0.033104 0.307297 1.3868


ilk satır için "Bir Sepette Pantalon ,Sweat , Gömlek olması tüm sepetlerin (Müşteri değil sepet) %1'inde görünmektedir. İçinde Pantolon ve Sweat olan sepetlerin ise %47 sinde Gömlek de vardır." anlamı çıkar.

 Bu bilgilerin ışığında Sepetine Pantalon ve Sweat atmış kişilere Gömlek önermek doğru olacağı gibi, Gömlek ikamesi olan ve satılması daha çok tercih edilen başka bir ürün ön plana çıkarılabilir.

Association rule çalışma şekli ve yukardaki tarz örneklerden sonuç elde edilmesi sonraki yazılarda anlatılacaktır.


20 Mayıs 2014 Salı

Pentaho CE 5.0 Kurulum.

Pentaho CE 5.0.1 Kurulum.

İndirime
Pentaho ana sayfası olan http://www.pentaho.com/ adresinden yapılan indirmeler Pentaha EE sürümünü içermektedir ve bu sürüm için Ticari lisans  gerekmektedir.


Pentaho'nun ücretsiz sürümü olan Pentaho CE 5.0 , http://community.pentaho.com adresinden indirilebilir.  Başlangıç için ilk indirme "Business Analytics Platform" (Main Downloads kısmında) dosyasıdır.  İndirilen dosya (örn: biserver-ce-5.0.1-stable.zip) tüm Java uyumlu platformları destekler.

Windows 7 SP1 64bit bilgisayara kurulum.

İndirilen ZIP dosya açıldığında  tüm dosyalar "biserver-ce" altında oluşur. Teorik olak bu işlemle kurulum tamamlanmış olur. Herşeyi uygun bir makinada (JAVA kurulu ve JAVA_HOME doğru set edilmiş, yetki ve bellek sorunu olmayan) "Business Analytics Platform" çalışabilir durumdadır.

Kurulumu "c:\pentaho\biserver-ce" şeklinde bir klasöre yapmak tercih sebebidir. İçinde özel karekterler bulunan , boşluk bulunan Klasör isimlerini kullanmamakta fayda var.

biserver-ce\start-pentaho.bat kullanılarak  "Business Analytics Platform" çalıştırılabilir.

Sorunsuz çalışma durumunda Tomcat sunucu bir Command Promt ekranında çalışmaya başlıyacaktır.

Hata Durumları
Özellkele Java ile kaynaklı problemler olduğunda Bahsi geçen Command Promt ekranı hızlıca görünüp sonra da kaybolacak ve hiç bir Log dosyası da oluşmayacaktır. Bu durumda hatanın ne olduğunu da göremiyecek ve çözüm de üretemiyeceksiniz.

* Hata ayıklama için bazı dosyalara müdehale gerekir.  Dosyalar unix uyumlu olduğu için Notepad değil Wordpad veya Notepad+ gibi başka bir Editör kullanılmasında fayda var.

*Hata olduğunda bu hatayı görebilmek için biserver-ce\tomcat\bin\catalina.bat dosyasında ufak bir değişiklik yapılabilir.

Aşağıdaki satır; start komutuna /B paremetresi eklenerek bir sonraki satırda belirtilen hale getirilmeli.

set _EXECJAVA=start "%TITLE%" %_RUNJAVA%

set _EXECJAVA=start /B "%TITLE%" %_RUNJAVA%


Bu durumda  command prompt içinde
>c:
>cd\pentaho\biserver-ce
>start-pentaho.bat

 şeklinde çalıştırılırsa oluşan hata ekranda görünebilir. Hata ayıklama tamamlandıktan sonra /B paremetresi silinerek veya yedeği alınmış catalina.bat geri kopyalanarak orijinal haline dönmekte fayda var.

Olası Problemler
64bit makinada 32bit Java (JDK veya JRE) kurulu olması ve sistemde default olarak (JAVA_HOME) bu 32bit lik kurulumun seçili olması durumunda

"Error occurred during initialization of VM Could not reserve enough space for object heap
Could not create the Java virtual machine."

Şeklinde bir hata verecektir.

Bu problemin düzeltilmesi için 64bit Java kurulumu yapıp JAVA_HOME olarak ta bu yeni kurulumun belirtilmesi gerekir.

Eğer JAVA_HOME başka nedenlerle hala 32bit Java'yı göstermesi gerekiyorsa , PENTAHO_JAVA_HOME , PENTAHO_JAVA parametrelerini kullanarak 64bit Java pozisyonunu kullandırtabilirsiniz.

Bu parametreleri "Bilgisayarım" "Advanced" tabından kalıcı olarak set edilebilir veya "start-pentaho.bat" dosyası Edit edilerek 3. satırdan sonra aşağıdaki gibi satırlar eklenebilir. Bu satırlarda ilgili bilgisayarda kurulu olan 64bit Java klasörleri kullanılmalıdır.

set PENTAHO_JAVA_HOME=C:\Program Files\Java\jdk1.7.0_01
set PENTAHO_JAVA=C:\Program Files\Java\jdk1.7.0_01\bin\java.exe
 
Uygulamaya Giriş
Başarılı çalışmaya başladıktan sonra http://localhost:8080 adresinden hemen uygulamaya bağlanıp kullanıcı adı olarak "admin" , parola olarak "password" kullanarak giriş yapabilirsiniz.