Bir önce ki makalemizde Clustering yani kümeleme kavramı hakkında bilgiler vermiş ve Microsoft Clustering Modeli içerisinde ki Clustering ile ilgili algoritmaları incelemiştik. Çözümlemeye çalıştığımız Kümeleme problemlerine ve datasetin büyüklüğüne, sahip olduğumuz bellek miktarına göre, Microsoft Clustering Modelinin parametrelerini nasıl değiştirmemiz gerektiğinden bahsetmiştik.
Microsoft Clustering ile ilgili devam niteliğinde ki bu 2.makalemizde ise; SQL Server 2008 ile birlikte gelen BIDS (Business Intelligence Development Studio ) ortamında; bir SSAS (SQL Server Analysis Services ) projesi içerisinde AdventureworksDW veritabanını kullanarak, Müşteri Segmentasyonu görevini gerçekleştireceğiz.
Projemizi gerçekleştirmeye başlamadan önce bilgisayarınızda BIDS ‘in ve AdventureworksDW örnek veri tabanının yüklü olmuş olduğunu varsayıyorum. Eğer AdventureworksDW SQL Server’ınızda yüklü değilse buradaki adresten indirip yükleyebilirsiniz.
Bütün herşey yüklü ise projemizi gerçekleştirmeye başlayabiliriz.
Öncelikle BIDS ortamında gerçekleştireceğimiz projemiz 6 aşamadan oluşacaktır. Bunlar sırasıyla şöyledir.
Ø Data Source Oluşturulması
Ø Data Source View’in Oluşturulması
Ø Madencilik Modelinin Oluşturulması
Ø Madencilik Modelinin Parametrelerini Düzenlemek
Ø Madencilik Modelinin Çalıştırılması
Ø Madencilik Modelinin Sonuçlarının İncelenmesi
Öncelikle bir Analysis Services projesinin oluşturulması gerekmektedir. Bunun için; File Menüsünden New / Project yolundan Anaysis Services Project oluşturulur ve isim verilir. Ben bu proje için Clustering_BGurunlu ismini verdim.
Data Source’un Oluşturulması
Data Source; SQL Server içerisinde ki veri tabanı ile Analysis Service arasında bağlantıları içermektedir. Geliştireceğimiz İş Zekası projesi için kullanılacak veri kaynağının parametrelerinden oluşmaktadır. Bir Data Source oluşturmak için sırasıyla şu işlemler yapılmalıdır.
ü Oluşturmuş olduğumuz projenin, Solution Explorer Penceresinde, Data Source üzerine sağ tıklayıp New Data Source seçeneğini seçin.
ü Karşılama ekranından sonra ki ekrandan New butonunu basıp Connection Manager ekranına geçin ve burada bağlanacağınız Server’ın ve Veri Tabanın isimlerini açılan listeden seçin. Bu proje için “AdventureworksDW” veri tabanını seçin ve Ok ‘e basın (Bağlantının sağlıklı olduğunu “Test Connection” ile kontrol edebilirsiniz).
ü Karşınıza gelen bir sonra ki ekranda Analysis Service ‘e hangi haklarla bağlanacağınızı seçin. Ben burada “Use the service account “ seçeneğini seçiyorum.
ü Bir sonra ki ekranda Data Source için isim girmeniz isteniyor. Ben burada Adventure Works DW olarak bırakıp Finish butonuna tıklıyorum ve yeni Data Source’umun Solution penceresinde Data Sources klasörü altında oluşturulmuş olduğunu görüyorum.
Data Source View’in Oluşturulması
Data Source View (kısaca DSV ) , bir veya birden fazla veri kaynağından alınan tablo vb. yapıların sanal bir görünümüdür. Data Source View (DSV) ile gerçek veri kaynağında kalıcı değişiklikler yapmadan Analysis Services projeleri için gerekli tabloları alabilir ve tablolar üzerinde küpler ve dimension’lar için değişiklikler yapabiliriz. Data Source View (DSV) ‘i fiziksel veri kaynağı ile Dimensionlar ve küpler arasında ara bir katman olarak düşünebiliriz. Bir Data Source View (DSV) oluşturmak için sırasıyla şu işlemler yapılmalıdır.
ü Solution Explorer pencerisinde Data Source Views klasörüne sağ tıklanıp New Data Source View seçeneği seçilir.Karşılama ekranı geçilir.
ü Bir önceki aşamada seçilen Adventure Works DW, default olarak Relational Data Sources olarak seçili bırakılıp Next ile bir sonraki aşamaya geçilir.
ü vTargetMail görünümü seçilir ve Included Objects penceresine geçilir. vTargetMail görünümü; mevcut müşterileri ve potansiyel müşterileri çeşitli özelliklerine göre segmente ederek, satın alma durumlarına göre hedefe yönelik mail gönderebilmek amacıyla oluşturulmuştur ve sadece müşterilere ait verileri içermektedir.
ü DSV’nin adı Adventure Works DW olarak bırakılır ve Finish ‘e tıklanarak işlemler tamamlanır. BIDS ekranımız aşağıda ki şekilde ki gibi olur.
DSV’nin oluşturulması sırasında eğer birden fazla View veya tablo seçmiş olsaydık ( vAssocSeqLineItems, vAssocSeqOrders, vTimeSeries gibi ) Designer alanında seçtiğimiz kadar tablo ya da view gelecekti. Bu gelen view ve tablolardan da birbiri ile ilişkili olanları belirleyip ,ilişkililerini düzenlemeliydik ama biz burada sadece Clustering ile ilgili olan vTargetMail görünümü seçtik.
Madencilik Modelinin Oluşturulması
Madencilik Modeli (Mining Structures ) ‘ın oluşturulması için sırasıyla aşağıdaki adımlar izlenir.
ü İlk olarak Solution Explorer penceresi altındaki Mining Structures klasörüne sağ tıklanıp New Mining Structure seçeneği seçilir ve karşılama ekranı geçilir.
ü Select the Definition Method penceresinden From existing relational database or data warehouse seçilir ve bir sonraki ekrana geçilir.
ü Create the Data Mining Structure penceresinden Mining Model olarak Microsoft Clustering Modeli seçilir ve bir sonraki ekrana geçilir.
ü Geçilen sonraki ekranda varsayılan olarak gelen Data Source View ‘i Adventure Works DW ve Table vTargetMail değişitirilmeden sonra ki ekrana geçilir.
ü vTargetMail ‘in karşısında Case Checkbox’ı seçilmemişse seçilir. Bir sonra ki ekrana geçilir.
ü Geçilen Specify the Traning Data ekranında; CustomerKey kolonun karşısında ki Key Checkbox’ı seçili gelmemişse seçilir. Bizim DSV’mizde sadece bir tane Key olduğundan Wizard otomatik olarak Key’imizi seçili getirdi.
üSpecify the Traning Data ekranında; aşağıdaki 15 kolonun yanlarında ki Input Checkbox’ları seçilir ve bir sonraki ekrana geçilir.
Age,
CommuteDistance
EnglishEducation
EnglishOccupation
FirstName
Gender
GeographyKey
HouseOwnerFlag
LastName
MaritalStatus
NumberCarsOwned
NumberChildrenAtHome
Region
TotalChildren
YearlyIncome
üSpecify Colums Content and Data Type ekranında, kolonlarımızın Content Type ve Data Type ‘ ların listelenmiştir. Bu ekranın aşağısında ki Detect butonuna basıldığında; Continuous (sürekli) ve discrete (ayrık ) değerlere sahip olup olmadıkları otomatik olarak algılanır. Continuous (sürekli) değerler 1 TL gibi gerçek değerlerdir ama discrete (ayrık) ise 10-20 TL aralığı gibi aralıkları ifade etmektedir. (Discrete Clustering özelliği ile ilgili ayrıntılı bilgiye Microsoft Clustering Modeli – 1 isimli makaleden ulaşılabilir.) Detect butonuna basıldıktan sonra bir sonraki ekrana geçilir.
ü Eğer projenin geliştirilmesini SQL Server 2008 ile gelen BIDS ortamında yapıyorsanız aşağıdaki ekranla karşılaşırsınız ( SQL Server 2005 BIDS ile projeyi gerçekleştiriyorsanız bir sonraki aşamaya geçebilirsiniz). Aşağıdaki ekran SQL Server 2008 BIDS sürümü ile gelen bir yeniliktir ve bu ekranda Test için dataset’inizin yüzde kaçını ayırmak istediğinizi ya da kaç adet datayı test amaçlı kullanacağınızı girmeniz istenmektedir. Biz burada varsayılan %30 değerini değiştirmeden bu ekrandan bir sonraki ekrana geçiyoruz.
ü Gelen Mining Structure Name ve Mining Model Name ekranında isimlendirmelerimizi yapıyoruz. Ben burada her 2 sini de Hedef Mail Grubu olarak isimlendirdim. İsimlendirmeden sonra Finish ‘ e tıklıyoruz.
Madencilik Modelinin Parametrelerini Düzenlemek
Buraya kadar yaptığımız işlemlerle, Madencilik Modelimizi Microsoft Clustering Modelini kullanarak oluşturmuş olduk. Fakat kendi ihtiyaçlarımıza göre Model üzerinde değişiklikler yapmadık ve Modelin varsayılan ayarlarla çalışmasını sağlamış olduk. Bu aşamada Modelimizi kendi isteklerimiz doğrultusunda yeniden düzenleyeceğiz.
Bunun için ilk olarak Mining Models tabında Microsoft Clustering Modelimizin üzerinde sağ tıklıyoruz ve Set Algorithm Parameters seçeneğini seçiyoruz.
Karşımıza Modelin parametrelerini değiştireceğimiz ekran çıkıyor. Bu ekranda da görüldüğü gibi bütün ayarlar default değerinde durmaktadır. Microsoft Clustering Modelimizi bu haliyle çalıştırmış olsaydık Scalable EM Algoritmasını çalıştıracak ve 10 adet küme elde edecekti. Fakat ben burada müşterilerimi K-Means Algoritmasına göre segmente etmek istiyorum ve 10 farklı grubun çok fazla olacağını düşünüp 5 farklı gruba bölünmesinin yeterli olacağını düşünüyorum.
Bunun için CLUSTERING_METHOD olarak 3 değerini yani K-Means Algoritmasını seçiyorum ve CLUSTER_COUNT olarak da 5 değerini veriyorum. (Burada ki parametrelerin neye göre düzenlenmesi gerektiği ve sayıların neyi ifade ettikleri hakkında Microsoft Clustering Modeli – 1 isimli makaleden ulaşılabilir.)
Madencilik Modelinin Çalıştırılması
Madencilik Modelinin çalıştırılması için Modelin Server’a yerleştirilmesi gerekmektedir.Bunun için Debug Menüsünde Start Debugging seçeneği seçilebilir ya da kısa yol olarak F5 tuşuna basılabilir. Böylece Modelimiz çalışmaya ve dataset üzerinde girilen parametrelere göre algoritmalar hesaplanmaya başlanır. Tüm bu işlemlerin olması sırasında gerçekleştirilen işlere, Deployment Progress pencerisinden ulaşılabilir.
Madencilik Modelinin Sonuçlarının İncelenmesi
Cluster Diagram
Madencilik Modelimizin düzgün bir şekilde hesaplanması ve Server’a yerleştirilmesinden sonra Mining Model Viewer tabı açılmaktadır. Mining Model Viewer ‘ ın altında da Cluster Diagram açık bir şekilde gelmektedir. Cluster Diagram; oluşturulan Cluster’ların birbiri ile ilişkilerini vermektedir. Cluster Diagramlar arasında ki çizgiler Clusterların birbirlerine olan benzerliklerini göstermektedir. Bizim modelimizin sonucuna göre Cluster 5 ile Cluster 4 arasında kuvvetli bir ilişki bulunmaktadır (yani Cluster 5 ile Cluster 4 deki müşteriler birbirlerine benzer özellikler göstermektedir.) Burada ki zayıf ilişkiler Strongest Links barı ile ortadan kaldırılabilir
Ayrıca burada en koyu biçimde gösterilen Cluster 1 ise en fazla müşteri yoğunluğuna sahip Clusterımızdır (Müşterilerimizin % 37 si bu gruptadır). Cluster 1 ‘den sonra en fazla yoğunluk Cluster 2 ‘de gözlemlenmektedir.
Cluster Profiles
Cluster Profiles ile Modelimizin oluşturduğu Cluster’ların özelliklerine ayrıntılı olarak bakabiliriz.Burada; Cluster’larımızın özelliklerine,yani bizim projemiz için müşterilerimizin özelliklerine, detaylı bir şekilde ulaşabiliriz. Örnek olarak oluşturulan Müşteri segmentasyonu projemizde yaş ortalaması yüksek olan insanların oluşturmuş olduğu grubumuz Cluster 5 ‘de dir.
Cluster Characteristics
Cluster Characteristics tabı altında oluşturulan Cluster’ların ortak özelliklerine tek tek ulaşabiliriz. Örneğin bizim projemiz için Cluster 1 ‘i incelediğimizde; yıllık gelirleri 57305 ile 79082 dolar arasında değişen, Kuzey Amerikada yaşayan, 1 evi olan ve bekar erkeklerin daha fazla olduğunu gözlemleyebiliriz.
Cluster Discrimination
Cluster Discrimination tabı altında 2 farklı Cluster yapısının özelliklerini karşılaştırma imkanı vardır. Bizim projemiz için; 1153 müşterinin bulunduğu Cluster 5 (enaz müşterinin bulunduğu grup) ile 6818 müşterinin bulunduğu Cluster 1 (ençok müşterinin bulunduğu grup) ‘u karşılaştırırsak Cluster 5 ‘e giren müşterilerin daha varlıklı ve evi ile işyeri arasında çok mesafe olmayan, yönetim kademesinde çalışan insanlardan oluştuğunu görebiliriz.
Microsoft Clustering Modeli incelediğimiz bu 2. Makalemizde BIDS ortamında bir Müşteri Segmentasyonunu, Microsoft Clustering Modeli yardımıyla başarıyla gerçekleştirmiş olduk. Bundan sonraki makalelerde de Microsoft’un Data Mining Modellerini incelemeye devam edeceğiz