Bu yazımda veri madenciliği modelleme sürecindeki basamaklardan bahsedeceğim. Veri madenciliği modelleme sürecinde bulunmamış okuyucular için bir veri madenciliği projesindeki basamakları anlamak adına faydalı olacağını düşünüyorum. Daha önceden modelleme tecrübesi olanlar için de kullanılan süreçle yazımda geçen süreci kıyaslamak açısından faydalı olabilir.
Veri madenciliğini anlatmaya birkaç veri madenciliği tanımını inceleyerek başlayalım:
Principles of Data Mining by Hand, David:
‘Data mining is the analysis of (often large) observational datasets to find unsuspected relationships and to summarize the data in novel ways that are both understandable and useful to the data owner.’
Applied Data Mining by Paolo Giudici:
Data mining is the process of selection, exploration, and modeling of large quantities of data to discover regularities or relations that are at first unknown with the aim of obtaining clear and useful results for the owner of the database
Vikipedi:
Büyük veri yığınları içerisinden gelecekle ilgili tahminde bulunabilmemizi sağlayabilecek bağıntıların bilgisayar programı kullanarak aranmasıdır.
Yukarıdaki 3 tanımda bazı kelimeleri bold yaptım. Bu kelimeleri gruplayarak incelersek veri madenciliğinin anahtar kelimelerini yakalamış oluruz.
Veri Boyutu:
(often large) observational data sets
Large quantities of data
Büyük veri yığınları
Çıktı:
Understandable, useful and unsuspected relationships
Unknown, useful results
Gelecekle ilgili tahmin
Yöntem:
Novel ways
Process of selection, exploration, and modeling
Bilgisayar programı kullanarak
Her üç tanımda da belirttiğimiz gibi üç farklı alana vurgu vardır. Her şeyden önce veri madenciliği yüksek hacimde veriye ihtiyaç duyar. Kurumsal veri ambarları bu ihtiyaca cevap verirler. İkinci olarak, veri madenciliği kompleks bir takım algoritmalarla yapılır. SAS, SPSS gibi yazılımlar da algoritma ihtiyacına cevap verir. Tanımlardaki bir diğer vurgu da amaç ve çıktı ile alakalı. Veri madenciliğinin amacı, öncesinde bilinmeyen ama bir iş değeri olan bir takım bilgileri ortaya çıkarmaktır. Söz gelimi, bir GSM Operatörü için müşterilerinin %90’ının siyah gözlü olması bilgisi bir veri madenciliği projesinin çıktısı olmamalı.
Veri Madenciliği Proje Süreci
Her kurumun, kişinin benimsediği kendine has süreçleri muhakkak vardır ama temelde veri madenciliği proje sürecini aşağıdaki basamaklarda tanımlayabiliriz.
- Problem tanımının yapılması
- Veri kümelerinin oluşturulması
- Modellerin geliştirilmesi
- Modellerin değerlendirilmesi
- Modelin deploy edilmesi
- Model geçerliliğinin kontrolü
Problem tanımının yapılması:
Bu basamak aslında çok basit bir basamak olarak görülüyor olabilir ancak tüm projeye yöne verecek basamak olması açısından çok önemlidir ve dikkatle yapılmalıdır.
Problem zaten bellidir, tanımını yapmak gerekmez çünkü ortadadır her şey zaten diye düşünenler olabilir. Evet, problem veya bulunmak istenen şey aslında nettir ama bu işi veri madenciliği projesi seviyesinde düşünmek önemlidir. Problemi ve muhtemel sonucunu düşünürken bulunacak sonucun gerçekten problemin çözümü olup olamayacağı iyi analiz edilmelidir.
Mesela herhangi bir sektörde yapılabilecek bir müşteri tutma projesi ele alalım. Bu projeyi gerektirecek problem bellidir. Bir şirketin müşterileri o şirketten ayrılıyordur ve müşteriyi tutmak için bir proje geliştirmek isteniyordur. Problem net gibi görünüyor ama bu problemi veri madenciliği projesi seviyesine çekebilmek lazım. Gidecek müşteriyi tahmin edebilsek gitmesini engelleyecek aksiyonlarda bulunabiliriz değil mi? O halde problemi müşterinin gitme ihtimalini tahmin etmeye dönüştürmüş olduk. Bunu da netleştirmek lazım çünkü müşterinin gitme olasılığı havada bir kavramdır. Problemin, müşterinin yarın gitme ihtimalini hesaplamak olması işi biraz daha netleştirir ama yarın gidecek müşteriyi bilmek bize birşey kazandırmaz çünkü aksiyon alabilmek için daha fazla zamana ihtiyaç var o halde bir müşterinin önümüzdeki bir ay içinde gitme ihtimalini hesaplamak olarak problemimizi finalize edebiliriz.
Sonuç olarak, bu basamakta görünen problemi veri madenciliği seviyesine çekiyoruz ve üretilecek muhtemel sonucun aksiyon almaya açık olduğunu da garantiliyoruz.
Veri kümelerinin oluşturulması:
Problemi netleştirdikten sonra probleme özel veri hazırlanması gerekiyor. Veri hazırlama kısmı bir veri madenciliği projesinin en fazla zaman alan kısmıdır. Veri ambarında mevcut birtakım verilerin yanısıra birçok başka sistemden veri alma ihtiyacı doğacaktır. Verinin kalitesini sağlama, entegrasyonu, temizliği gibi işlemler yapılmalıdır ki bütün bunlar vakit alıcı işlerdir. Bu basamağın sonucunda genelde müşteri bazlı olarak birçok indikatör kolon ve bir tane de hedef kolondan oluşan bir tablo ortaya çıkar. İndikatör kolondan kastım müşteriyle ilgili ve problem için belirleyici olacağı düşünülen kolonlar. Hedef kolon da tahmin etmeye çalıştığımız sonucun geçmişte gerçekleşen örneklerinden oluşan kolondur. Mesela müşterinin ne kadar zaman daha müşterimiz olarak kalacağını tahmin etmeye çalıştığımızı varsayalım bu durumda indikatör kolonlar müşteriyle ilgili demografik ve davranışsal tüm bilgiler hedef kolon da mevcut müşterilerin ilk müşteri olmasından bu yana geçen zamandan oluşabilir.
Bunlarında yanında bu basamakta yapılması gereken ve sonuca da direk etkili olacak bir işlem de yeni değişkenler, indikatörler yaratılmasıdır. Mesela elimizde müşterinin toplam işlem sayısını gösteren bir indikatör kolon olduğunu varsayalım. Belki de bu kolonu toplam işlem sayısı 10’dan küçükse 0 büyükse 1 olacak şekilde transform etsek sonuç çok daha iyi çıkabilir. Bu tarz indikatörler üretmek için beyin fırtınası seansları yapmak faydalı olacaktır.
Modellerin geliştirilmesi:
Verimizi de hazırladıktan sonra artık veri madenciliği modelimizi geliştirebiliriz. Modeli geliştirme işi genelde bir yazılım kullanılarak yapılır ki en çok kullanılan yazılım da SAS Enterprise Miner’dır.
Bu yazılım metod olarak bir çok seçenek sunar: Regression, Decision Tree, Neural Network, Support Vector Machine, vb.
Farklı yöntemler kullanarak veya bir yöntemi farklı parametrelerle kullanarak değişik modeller geliştirebiliriz.
Modellerin değerlendirilmesi:
Geliştirdiğimiz birçok modelden en iyiyi seçme işleminin yapıldığı basamaktır. Veri Madenciliği yazılımları model değerlendirme için de bir takım metotlar sunarlar. Bu metotların sonucunu hem sayısal hem de görsel olarak tüm modeller için inceleyip ona göre en iyi modeli belirlemek gerekir.Bu değerlendirmeyi yapabilmek için aşağıdaki yöntemleri bilmek gerekir.
Değerlendirme Yöntemleri: Lift Chart, Concentration Chart, Receiver Operation (ROC) Curve ,Score Distribution
Modelin deploy edilmesi:
Modellerin değerlendirilmesi basamağından sonra artık elimizde bir tane final model var. Artık bu modelimizi birinci basamaktaki problemimize uygulayabiliriz. Bu defa modeli oluşturduğumuz veri dışındaki bir veri kümesine(başka zaman aralığındaki) modeli uygularız.Ayrıca eğer modelin belli periyotlarla yeniden çalışması isteniyorsa yapılması gereken otomasyon işleri de bu basamakta yapılır.Bu basamakta çıkan model sonucuna göre bir takım aksiyonlar alınabilir.Mesela eğer bir sms kampanyası yapılacaksa bu model sonucunda en büyük skoru alan müşteriler seçilerek onlara sms atıılır.
Model geçerliliğinin kontrolü:
Deploy ettiğimiz model her geçen gün güncelliğini kaybeder çünkü zamanla bir takım şartlar değişir ve modeli geliştirdiğimizde sonucu etkileyen değişkenler artık etkisiz kalır veya yeni bir takım parametreler daha etkili olmaya başlayabilir. Bu durumda üretilen skorlar başarısız olacaktır. Bunu engellemek için her model kullanıldığında performansını ölçmek gerekir. Bu kontrolü model değerlendirmesinde bahsettiğimiz yöntemlerle yapabiliriz ve eğer model performansı düşük çıkarsa yeniden ikinci basamağa dönüp güncel verilerle gerekli veri kümelerini oluşturup model geliştirme süreci tekrarlarız.
Özetlemek gerekirse, bir veri madenciliği projesinde ilk basamak olarak problemin net bir şekilde tanımlanması gerekir ardından bu probleme uygun veri kümeleri ve bu veri kümeleri kullanılarak indikatör değişkenler ve hedef kolon(lar)’dan oluşan bir final tablo oluşturulur. Bu tablo üzerinde çalışılarak değişik modeller geliştirilir. Sonrasında bu modellerden en iyisi seçilerek deploy edilir ve sonuca uygun aksiyonlar alınır.Model geçerliliğini kaybettiğinde de tekrar yeni veri kümeleriyle yeni model geliştirilip deploy edilir ve bu bir döngü halinde devam eder.
Güven Gül