Gerçekleştirecek olduğumuz bu projede bir kitapevi firmasının müşterilerinin, Excelde tutulmuş olan verilerinden yola çıkarak; müşterilerini segmente etmek, gruplamak amaçlanmaktadır. Bu amaç doğrultusunda açık kaynak bir yazılım olan Weka programı ve Microsoft Office Excel’in Data Mining Add-in ‘i kullanacağız.Projeyi daha kolay uygulayabilmeniz amacıyla 2 makale halinde yayınlamayı uygun gördüm. Bu makalede Weka yardımıyla projemizi gerçekleştireceğiz.
(Projede kullanılmış olan Veri Setlerinin Dosyalarına buradan ulaşabilirsiniz.)
Veri Setinin Tanıtımı
Veri setinin içeriğindeki veriler kategorik ve numerik ifadelerden oluşmaktaydı. Kategorik veriler için eksiklik olmamasına rağmen numerik verilerde olan eksik veriler, diğer bütün değerlerin ortalaması alınarak temizlenmiştir. Dönüştürme işlemleri olarak da numerik veriler belirli aralıktaki gruplara bölünürken, kategorik veriler için 1,2,3.. gibi değerler girilmiştir.
Kitapevi firmasının müşterilerine ait elimizdeki datasetinde gerekli temizleme ve dönüşüm işlemleri gerçekleştirildikten sonra 9 tane niteliğimiz ortaya çıkmıştır. Bunların isimleri ve özellikleri ise aşağıda detaylı olarak açıklanmıştır.
Yaş : Müşterilere ait doğum tarihi bilgisi 3 ana kategoride toplanmıştır. Bunlar; 24 ile 35 yaş arası , 36 ile 45 yaş arası , 45 yaş ve sonrası olarak gruplara ayrılmıştır.
Alışveriş Periyodu: Müşteriler, alışveriş sıklıklarına göre 3 ana kategoride değerlendirilmiştir.Bu kategoriler; 0-6 ay, 7-12 ay, 12 dan daha uzun olarak değerlendirilmiştir.
Churn Durumu : Müşterilerin halen mağazada kayıtlı müşteri olup olmadıklarına göre 2 gruba ayrılmıştırlar. Evet yada Hayır olarak.(Hayır demek halen müşterimiz anlamında)
Semt : Müşterilerin oturmuş oldukları yer (Anadolu Yakası, Avrupa Yakası, İstanbul dışı ) sırasıyla 1,2,3 olarak kodlanmıştır.
Harcama Tutarı : Müşterilerin gerçekleştirilmiş oldukları toplam harcamalar 3 grupta toplanmıştır. (100-250, 251-400, 400 + olarak.)
Üyelik Tipi : Kitapevine üye olan müşterilerin üyelikleri Gold, Platin, Gümüş 'ü ifade etmek için 1, 2, 3 ile numaranlandırılmıştır.
Ücretsiz Kiyap : Kitapevinin müşterilerinin promosyon amaçlı ücretsiz kitap alıp,almadıkları Evet,Hayır,Bazen 'in baş harfleriyle kodlanmıştır.
Kitap Türü : Müşterilerin almış oldukları değişik kategorilerde ki kitaplar; Bilimsel için 1 , Bilgisayar için 2, Tıp için 3, Eczacılık için 4,Mühendislik için 5 ile numaralandırılmıştır.
Modelleme :
Elimizde bulunan 100 müşteriye ait yaş, alışveriş periyodu, churn durumu, ücretsiz kitap, üyelik tipi, kitap türü, semt, gibi verilerden yola çıkarak segmentasyon yapmak amaçlanmaktadır. Bu amaç için denetimsiz bir model olarak Kümeleme Analizlerini gerçekleştirip Müşteri Segmentasyonu yapılması planlanmaktadır.(Kümeleme analizinden özet bir şekilde aşağıda bahsetdim ama daha detaylı bilgi için işzekam.net 'e bakabilirsiniz.)
Kümeleme analizi, sınıflandırmada olduğu gibi sahip olunan verileri gruplara ayırma işlemidir. Kümeleme yabancı kaynaklarda clustering ya da segmentation olarak adlandırılmaktadır. Sınıflandırma işleminde, sınıflar önceden belirli iken kümelemede sınıflar önceden belirli değildir. Verilerin hangi gruplara/kümelere, hatta kaç değişik gruba ayrılacağı eldeki verilerin birbirlerine olan benzerliğine göre belirlenir. Belirlenen herbir gruba da küme ismi verilir. Kümeleme analizi biyoloji, tıp, antropoloji, pazarlama, ekonomi ve telekomikasyon gibi birçok ve birbirinden çok farklı alanlarda kullanılmaktadır. (1)
Kümeleme analizi ve algoritmaları 5 ana başlık altında incelenebilir. Bunlar:
ü Hiyerarşik Yöntemler (SLINK Algoritması, CURE Algoritması, CHAMELEON Algoritması, BIRC Algoritması)
ü Bölümlemeli Yöntemler (K-Means Algoritması, PAM Algoritması, CLARA Algoritması, CLARANS Algoritması)
ü Yoğunluğa Dayalı Yöntemler (DBSCAN Algoritması, OPTICS Algoritması, DENCLUE Algoritması)
ü Grid Temelli Algoritmalar (STING Algoritması, Dalga Kümeleme, CLINQUE Algoritması )
ü Genetik Algoritmalar olarak sayılabilir.
Yukarda sayılan algoritmalardan K-Means algoritması, WEKA ve Excel Data Mining Add-In kullanılarak Kümeleme işlemine sokulup Müşteri Segmentasyonu belirlenecektir.
Modelin WEKA Yazılımında Gerçeklenmesi
WEKA açık kaynak kodlu GNU lisanslı bir yazılımdır. Yazılımın çalışabilmesi için bilgisayarda Java 1.4 veya daha sonraki bir sürümün yüklenmiş olması gerekmektedir. Weka yazılımında ARFF (Attribute-Relation File Format ) dosyaları kullanılır. ARFF dosyaları, değişken tanımlanmasına izin veren ASCII metin dosyasıdır. ARFF dosyasının başlık kısmında, değişkenler (veritabanındaki herbir kolonun ismi), bunlar arasındaki ilişkiler ve herbir değişkenin türü ve alacağı değer vs bulunur. Veriler @DATA satırından sonra gelir.(Weka da büyük küçük harf duyarlılığı vardır.) Weka Yazılımını ücretsiz olarak buradan indirebilirsiniz.
Bu projede, weka yazılımının ilk açılışında karşımıza çıkan 4 seçenekten Explorer düğmesine tıklandığında karşımıza çıkan kısımda, kümeleme işlemlerinin yapılacağı alanda (Clustering Sekmesi altında) çalışmalarımızı yapacağız.
“Kitapevi.arff” isimli dosyamızı open düğmesine tıklayarak yüklediğimizde bir sonraki sayfadaki ekran görüntüsü karşımıza gelecektir.
Yukardaki Veri Madenciliği görevlerinden ( Classify, Cluster, Associate) arasından veri setimizdeki müşteri segmentasyonu görevine en uygun olacağını düşündüğümüz “Cluster” sekmesini seçtiğimizde aşağıdaki gösterilen algoritmaları kullanabileceğimizi görebiliriz.(Burada hiçbir algoritmanın parametreleriyle oynanmamıştır,hepsi default değerlerinde çalışmaktadır.K-Means için default olarak k yani küme sayısı 2' dir)

Şimdi buradaki algoritmaları sırasıyla veri setimize uygulayacağız ve en anlamlı sonucu veren algoritmayı bulup Excel Data Mining'de de kullanıp karşılaştırmalarımızı yapacağız.
Makalemi daha da uzatmamak için K-Means dışında ki 4 algoritmanın sonucunu aşağıda sizinle paylaşıyorum. (Sizin de bu 4 algoritmayı çalıştırıp,sonuçlarını görmenizi tavsiye ederim.)
Cobweb algoritmasının türkçesi örümcek ağı algoritması olduğundan dolayı örümcek ağına çok benzer bir ağ şeması ortaya çıktı.
EM (Expectation Maximazation ) Algoritması sonucunda müşterilerimizin 3 gruba (cluster’a ) ayrıldığını gözlemliyoruz. (%48,%11,%41 olarak )
FarthestFirst algoritmasının sonucunda veri setimiz 2 gruba ayrılmıştır.( %82 ve % 18 olarak)
MakeDensityBasedClusterer algoritması veri setimizi 2 gruba ayırmıştır. (%43 ve %57 olarak )
Beşinci olarak SimpleKMeans Algoritmasını çalıştırıyoruz. Bu algoritma veri setimizi 2 gruba ayırmıştır. (%47 ve % 53 olarak ) Aşağıda bu algoritma için sonucu görebilirsiniz.

Çıkan sonuçları yorumlamak gerekirse K-Means Algoritması 100 adet müşteri bilgimizi aldı ve 2 gruba (cluster yada türkçesiyle kümeye) ayırdı. Birbirinden farklı bu 2 grubtan birincisine ait müşterilerin genel özelliklerine baktığımızda; 24 ile 35 yaş arasında olduklarını ,1 nolu semt de oturduklarını, iş sahibi olduklarını, hala kitapevinin müşterisi olduklarını, 7 ile 12 arasında periyotlarla alışveriş yaptıklarını, 1 nolu üyelik tipinde olduklarını, ücretsiz kitap taleblerinin olmadığını, Bilimsel kitapları daha çok satın aldıklarını ve gelirlerinin 100 ile 250 TL arasında değiştiklerini görebiliriz.
Bu makalede ücretsiz bir veri madenciliği aracı olan WEKA ile İş Zekasının çalışma alanlarından olan müşteri segmentasyonunu gerçekleştirmiş olduk. Bundan sonra ki bağlı makalede gene aynı veri setini ve K-Means algoritmasını kullanarak Excel Data Mining Add-In yardımıyla iş zekası görevimizi gerçekleştireceğiz.