2. Oracle Data Miner İle Örnek Bir Veri Madenciliği Çalışması Bu örnek uygulamada bir önceki yazımda Oracle SQL Developer’a yüklediğim Data Miner Repository ile gelen hazır bir sigorta şirketi veri setini veri madenciliği süreçlerinden geçireceğiz. Bu uygulamada amaç; sigorta şirketinin sahip olduğu müşteri bilgilerinden faydalanarak bir sonraki sigorta satışı için müşterilerin cevaplarının belirlenmesi amaçlanmaktadır. Data Miner sekmesinden “New Project” kısmını seçeriz. Şekil 1. Yeni proje oluşturma Gerekli proje ön tanımını yaparız. Şekil 2. Proje isimlendirme Projemiz “dmercan” veritabanı altında oluştu. Şekil 3. Proje oluştu ekranı Projenin içinde yeni bir iş akışı oluşturuyoruz. Şekil 4. İş akışı oluşturma İş akışına isim veriyoruz. Şekil 5. İş akışı isimlendirme “View” sekmesinden Data Miner eklentilerini ekrana aktaralım. Şekil 6. Data Miner eklentileri Ekranda oluşan “Workflow Editörü”nden “Data” sekmesinden “Data Source” kısmına tıklarız. Mevcut tablolardan birine seçerek devam ederiz. Şekil 7. Tablo seçme ekranı İşlemi sonlandırdığımızda kaynağımız oluşmuş olur. Şekil 8. Veri kaynağının oluşması Şimdi “Data” sekmesinden bilgi keşfi için “Explore Data” düğümünü ekliyoruz. Daha sonra mevcut tablomuzdan “Explore Data” düğümü ile bağlantı kurulur. Şekil 9. Explore Data düğümü ekleme Şekil 10. Bağlantı oluşturma “Explore Data” düğüm özelliklerinden “Group By” kısmından hedef seçilir. Burada alınan sigorta sayısının hesaplanması hedeflenmektedir. Bu yüzden “BUY_INSURANCE” seçilir. Şekil 11. Özellik ayarları Daha sonra kullandığımız veri ile “Explore Data” düğümü arasında bağlantı “Run” komutu sorunsuz bir şekilde oluşmuş olur. Şekil 12. Bağlantı oluştu ekranı Şimdi “Explore Data” düğümü “View Data ” sekmesinden veri ile ilgili istatistikler görebiliriz. Şekil 13. Veri istatistikleri Şimdi tasarımımıza sınıflandırma modelini uygulamak için “Workflow Editor” kısmından “Models” sekmesinden “Classification” düğümünü seçeriz. Daha sonra verimizle arayüze eklenen “Class Build” arasında bağlantı oluşturulur. Şekil 14. Class Build düğümü Şekil 15. Class Build ile bağlantı Hedef olarak(Target) “BUY_INSURANCE”, birincil anahtar(Case Id) olarak da “CUSTOMER_ID” seçeriz. Şekil 16. Class Build ayarları Bu kısımda çeşitli sınıflandırma algoritmaları vardır, hepsi seçili halde karşımıza gelir; istediklerimizi veya hepsini seçerek durumları gözlemleyebiliriz. Yalnızca “Data Usage” kısmında “Hedef” sütunu olarak belirlediğimiz kısmın “Auto Prep” kısmının işaretli olmamasına dikkat etmemiz gerekir. Şekil 17. Class Build gelişmiş ayarlar Seçimlerimizi yaptıktan sonra bağlantımızı “Run” ile çalıştırırız. Şekil 18. Class Build bağlantı oluşturuldu ekranı Veri üzerinde tahmin yapabilmek için “Class Build” modeli oluşturulDU. Son olarak bu model kullanılarak “Apply” düğümü ile birlikte tahminler ve olasılık değerleri incelenebilir. Her algoritma için sınıflandırma sonuçlarını görebiliriz: Şekil 19. Çeşitli algoritma seçenekleri 4 sınıflandırma modeli(algoritması) için sonuçları karşılaştıralım: Şekil 20. Sınıflandırma modellerini karşılaştırma Örnek olarak performans matrisi karşılaştırmalarından görüldüğü gibi Decision Tree(DT) algoritması diğer algoritmalara göre %81,8548 oranı ile en yüksek doğru tahmini gerçekleştirmiştir. Şekil 21. Sınıflandırma modelleri sayısal değerler Sonuç kısmında ise veri tablosu üzerinde yapılan işlemler sonucunda problemin yapısının sınıflandırma modeline uygun olduğu belirlendiği için ve bu bilgiler ile fonksiyon tipi olarak “Classification “ çözüm algoritması olarak da Decision Tree(Karar Ağacı) modelini uygulayıp sonuçları görebileceğimiz bir tablo oluşturacağız. Böylece müşterilerin sigorta satın alma olasıklarını daha net gözlemleyebiliriz. Oluşturduğumuz tablo ilk tablomuzdaki verilerle birebir aynıdır. Burada sadece bir isim değişikliği ile yeni bir tablo oluşturarak ve buna belirlediğimiz modeli uyguladıktan sonra Karar ağacı algoritması kapsamında sonuçların görülüp bir başka sonuç tablosuna aktarılması hedeflenmektedir. Şekil 22. Uygulayıcı modeli isimlendirme Şekil 23. Uygulayıcı modeli ekleme Arayüzümüze Evaulate and Apply sekmesinden “Apply Model” düğümünü ekledik ve yeni oluşturduğumuz tablodan buna bağlantı yaptık. Şekil 24. Apply Model düğümü Tüm sınıflandırma algoritmaları seçeneklerini görmekteyiz. Biz CLAS_DT uzantılı yani karar ağacı algoritması üzerinden gideceğiz. CUSTOMER_ID özelliğine göre istatistiklerin sıralanması istiyoruz bu yüzden CUSTOMER_ID seçeneğine ayrıca ekledik. Şekil 25. Apply Model ayarları Modelimiz yeni tablomuza başarılı bir şekilde uygulandı. Şimdi de Data sekmesiden “Create Table or View” sekmesiden yeni bir tablo daha oluşturarak nihai sonuçları buraya aktaracağız. Bu sekmeye gelerek tablomuzu oluşturup ve bu tabloya “DT_PREDICTIONS” yani karar ağacı tahminleri adını veriyoruz. Şekil 26. Tasarımın son hali Oluşturduğumuz “DT_PREDICTIONS” tablosu üzerinde gerekli ayarları yaptıktan sonra “CUSTOMER_ID” özelliğine göre uygulanan karar ağacı algoritması sonucu sigorta satın alan ve almayan müşterilerin listesi ayrıntılı bir şekilde gözükmektedir. Şekil 27. Veri madenciliği çalışmamızın sayısal değerleri Oracle Data Miner ile örnek veri madenciliği çalışmamız bu kadar. Takıldığınız noktalar olursa sorabilirsiniz. Bir sonraki yazıda görüşmek üzere. Esen kalın…