Makale Özeti

Bu makalemizde Veri Madenciliği projelerinin yaşam döngüsünü inceleyeceğiz.Veri Madenciliği projelerinde takip edilmesi gereken başlıca adımları ve bu adımlarda yapılması gereken temel işlemlere ışık tutacağız

Makale

Veri Madenciliği Projelerinin yaşam döngüsü sırasıyla şu aşamalardan oluşmaktadır.

1) Data’nın Toplanması :
Veri Madenciliği projeleri için ilk adımımız genellikle data’nın toplanmasıdır.Veri Madenciliğinde kullanacağımız dataları, Database ,Datamart yada Datawarehouse ‘umuzdan (büyük çaplı şirketler dışında hazır bir Datawarehouse ile genelde karşılaşılmaz) data analizi için toplamımız gerekmektedir.

Data’yı toplayacağımız kaynaklar yada kullanabileceğimiz data çeşitleri ise şunlardan oluşabilir.(bunlara bağlı olarak data’yı alacağımız yere göre de Veri Madenciliği imkanları değişiklik göstermektedir.)

              a)  İlişkisel Veri Tabanları : RDMS (Relational Database Management System) olarak adlandırılan Veri Tabanı ,temel veri işlemlerinin yapıldığı (DML) yerdir.Bu tip veritabanlarında  Normal Formların kurallarına göre (genelde 3. NF ‘ye kadar) tasarlanmıştır. İlişkisel Veri Tabanları için Entity-Relationship (ER) veri modeli tasarlanmıştır ve bu model, tablolar arasındaki ilişkileri gösterir.(İlişkisel Veri Tabanları hepimizin günlük hayatımızda kullandığımız MS-SQL Server , Oracle ,DB2 ,MySql gibi sistemlerdir ) 
 
             b) Veri Ambarları : Veri Ambarları farklı kaynaklardan (örneğin RDMS ‘lerden ) bilgilerin toplandığı ortak bir alandır.


                         Veri Ambarlarında,RDMS sistemlerin tersi bir şekilde sadece işimize yaracak özet bilgiler tutulur.(örneğin satışların bölgelere yada aylara göre özeti gibi) Veri Ambarları genellikle çok boyutlu database yapıları gibi modellenir ve her boyut bir attribute dür , her hücre ise bir toplamdır (toplam satış miktarı gibi).Gerçekte Veri Ambarları’nın fiziksel yapısı ilişkisel data alanları yada çok boyutlu veri küpleri (Data Cube) şeklinde olabilir.

                 c) İşlemsel Veri Tabanları (Transactional Databases) :  Herbir kayıdın bir hareketi(transaction) gösterdiği dosyalardır.Transactional dosyalarda herbir kayıt bir ID ile ifade edilir ve aynı ID değerine sahip transactionda yapılan işlemler sıralanır.
             Transactional Databaselerde “T100 numaralı Transaction da satın alınan ürünler hangisidir?”gibi soruların cevabı bulunabilir.Birliktelik(Association) ilişkilerinde sıkça kullanılacak dataları içermektedir.

              d) Uzaysal  Veritabanları (Spatial Database) : Uzaysal veritabanlarına harita veritabanları ve uydu görüntüleri örnek olarak verilebilir.Orman ve Ekolojik planlamada,telefon ve elektrik kablolarının döşenmesi gibi kamu hizmetlerinin kullanımda bu tip data kullanılmaktadır.

              e) Metin Veritabanları ve Multimedya Veritabanları :  Metin veritabanları uzun cümleler ve paragraflardan oluşan ,içerisinde uyarı mesajları ,buglar raporları gibi metinsel ifadeler içeren veritabanlarıdır.Metin verileri üzerine yapay zeka algoritmaları da kullanılarak müşterilerden gelen talep ve istekler üzerine CRM projeleri geliştirilebilir. Multimedya veritabanları ise görüntü,ses,video verisi gibi verilerden oluşmaktadır.Ses ve görüntü tanıma temelli projelerde kullanılacak verilerdir.     

              f)
 
İnternet (The World Wide Web) : Kullanıcıların internetde bırakmış oldukları verilerdir diyebiliriz.Şöyle ki kullanıcıların bir alışveriş sitesinde tıkladığı linkleri analiz ederek doğru reklam politikaları izlenebilir.

2) Data’nın Temizlenmesi ve Yeniden Yapılandırılması :           
Veri Madenciliği projelerinin 2.aşaması olan Data’nın Temizlenmesi ve  yeniden yapılandırılması (data cleaning and transformation) aşaması yoğun bir şekilde,veri kaynağıyla ilgili işlemleri içermektedir.
Data’nın temizlenmesinden kasıt; gürültülerin (yanlış yada aşırı uç değerlere sahip verilere gürültülü veri denir.örneğin doğum tarihinin 1200 olması gibi).

Data’nın temizlenmesi ve yeniden yapılandırılmasında uygulanan yöntemler ise şunlardır.
     

a)
 
Data Tipinin Transformasyonu:Basit olarak veri tipinin türünün yeniden yapılandırılmasıdır.Bazı Veri Madenciliği algoritmaları sadece integer (sayısal) tiplerdeki verilerle hızlı bir şekilde çalışırken,kimisi de mantıksal verilerle(boolean) hızlı bir şekilde çalışmaktadır.
 
b)  Sürekli Kolonların Transformasyonu : Bu yeniden yapılandırma türünde; sürekli veriler Normalizasyon işleminden geçirilmektedir.Örneğin 500 TL ile 20000 TL arasında değişen maaş verilerini 4 gruba bölmüş olalım (500-1000,1000-5000,5000-10000,10000-20000 gibi). Yapay Sinir Ağları benzeri algoritmalar bu verileri kabul etmeyecektir.İşte eldeki bu gibi verileri 0.0 - 1.0 gibi aralıklara indirme işlemine Normalizasyon denmektedir.(Normalizasyon işlemi için çeşitli yöntemler vardır.Bunlar;min-maks normalizasyonu,sıfır ortalama normalizasyonu,ondalıklı normalizasyondur.)

 c)Gruplama:Gruplama işlemiyle,aslında ayrı gibi görünen bölümlerin ortak bir paydada birleştirilmesi söz konusudur.Örneğin;Bilgisayar Mühendisliği,Elektrik Mühendisliği,Endüstri Mühendisliği,Eczacılık,Doktorluk gibi ayrılmış meslek gruplarımız olsun.Bu meslek grupları yeniden yapılandırılarak Mühendislik,Eczacılık,Doktorluk gibi daha düzgün bir sınıflandırmaya hazır hale getirilebilir.(Bu, bize zamandan kazanç olarak geri dönecektir.)
            

d)  
Kümeleme : Kümeleme ise ; bir başka verinin yeniden yapılandırma sürecidir.Örneğin bir GSM operatörü müşterilerini aylık konuşma verilerine göre segmente etmeye çalışıyor olsun.Çözüm olarak çok fazla detaylı bilgiden sıyrılabilmek amacıyla,toplam görüşme sayılarına göre kümeleme yapılmalıdır.(Kümeleme aslında bir veri madenciliği modelidir.)            

e) 
Kayıp Verilerin İşlenmesi : Verilerin yeniden yapılandırılması aşamasında bir diğer önemli konu ise kayıp yada Null değerlerin ne olacağı sorusudur.İki farklı OLTP sisteminin birleştirilmesi sonucunda kayıp değerler ortaya çıkabileceği gibi bilgi giriş elemanları yada müşteriler tarafından bilerek yada bilmeyerek yanlış veya boş değerler(Null Values) oluşabilmektedir. Gerçekleştirilecek projenin ve kayıp,yanlış olan verilerin durumuna göre farklı çözümler bulunabilir.

i)Kayıp verilerin bulunduğu kayıdı, veri kümesinden çıkarmak yada bu gibi kayıtları iptal etmek.(Eğer kayıp verinin miktarı toplam verinin içinde küçük bir değerse)

ii) Kayıp verileri elle teker teker doldurmak (Kullanılan Veritabanı küçükse ve gerçek hayatta kayıp verilere ulaşmak kolay ve zaman problemimiz yoksa)

iii) Tüm kayıp verilere aynı bilgiyi vermek.Örneğin doğum tarihi bilgisini vermemiş müşterilerimiz varsa bunlar için DTY(doğum tarihi yok) şeklinde bir veri girişi yapılabilir.Ama buradan çok farklı bir sonuç ortaya çıkıp;doğum tarihini vermemiş olan kişilerin bir ortak özelliği olduğu ve aynı davranışı sergiledikleri , tahmin edilemeyen bir satış fırsatını ortaya çıktığı durumlar da olabilir.(Örneğin doğum tarihini yazmayan kişilerin bakım ürünlerini daha çok satın alması gibi)

iv)Kayıp olan verilere tüm verilerin ortalama değerinin verilmesi.

v)Regresyon yöntemi kullanılarak, diğer değişkenlerin yardımıyla kayıp olan verilerin tahmin edilmesi.
 

f)Uç Verilerin Ortadan Kaldırılması : Bazı durumlarda aşırı uç veriler(ortalama değerlere göre çok düşük yada çok yüksek değerlere sahip veriler ) projenin
başarı oranının düşmesine neden olabilir.Eğer bu veriler oran olarak kayıda değer bir sayıda değilse,yok sayılabilir.(Hassasiyeti etkileyecek seviyedelerse faydadan çok zarar da oluşabilir.)


Bunlar dışında da birçok veri temizleme ve verileri yeniden yapılandırma tekniği mevcutdur.SQL Server Integration Services (SSIS ) yardımıyla,bu makalede saymış olduğum teknikler uygulanabilmektedir.

Bu makalemizde Veri Madenciliği yaşam döngüsünün ilk 2 aşaması hakkında (Data’nın toplanması ve Temizlenmesi ,Yeniden Düzenlenmesi) bilgiler vermeye çalıştım.Bir sonra ki bağlantılı makalemde ,sonraki aşamalar hakkında  detaylı bilgiler sunmaya devam edeceğim

Başka bir İş Zekası makalesinde görüşmek dileğiyle...

Bilgehan Gürünlü

www.gurunlu.com
bilgehan@gurunlu.com

Kaynaklar :

Data Mining with Sql Server 2005.
Data Mining:Concepts and Techniques.
Kavram ve Algoritmalarıyla Veri Madenciliği (G.Silahtaroğlu)