SQL Server ile Veri Madenciliği
Veri tutma kavramı nasıl başladı? Evet 70 yıllarda OLTP sistemler gelişmeye başladı ve veritabanları ciddi bir ivme aldılar. Peki daha önceleri çeşitli kaynaklarda kayıt tutuluyordu. Ama veriler neredeyse insanlık tarihinin başlarından itibaren hep bizimle oldu desem. Dicle ve Fırat havzasında +5500 yıl önce Sümerliler tabletlere vergi kayıtlarını not etmeye başlayarak ilk veri kavramını ortaya atmış oldular. Asırlar sonra hayatımıza bilgisayarlar girmeye başladı. Notepad’e oraya buraya verilerimizi kaydetmeye başladık. Fakat yeteri kadar efektif kullanamıyorduk. Gerekli sorgulamaları yapamıyorduk. Veya sorgulama yapmanın maliyeti oldukça yüksekti. Sonrasında OLTP sistemler gelişti. Her yerden veri elde etmeye başladık.
Şu anda inanılmaz bir veri bolluğu var. Nereye bakarsanız bir veri çıkartabilirsiniz. Çalıştığınız şirketin verileri, Google’ın Youtube’un şirketiniz sonuçlarına göre getirdiği veriler, sosyal medya platformlarından gelen veriler vs…
Bankalar sayesinde saniyede onbinlerce işlem yapılıyor. Kullanılan cep telefonları ve lokal telefonlarla da ha keza öyle. Hayatımızın tam ortasında yer alan internet sayesinde yapmış olduğumuz tüm hareketler kayıt altında tutulabiliyor. Her yerde inanılmaz bir veri yoğunluğu var. Bunları nasıl sorgulayacağım? OLTP yetmemeye başladı ve 80 – 90’lı yıllarda yeni bir kavram ile karşılaşıldı: OLAP.
Peki ona da gerek kalmasa. Yani insan eli olmasa. Güçlü bilgisayarlarımız bizim yerimize tahmin etse durumu. İşte veri madenciliği diye adlandırılan kavramın üstüne bastınız şu anda. Aslında istatistikçiler veri madenciliğine data fishing ve ransacking gibi terimler ile uzun süredir kullanmaktaydı. Fakat alt yapılarını kendileri oluştursa dahi kendileri bu sisteme güvenmemişlerdi ilk başta. Kim bilir belki de kendilerinin yerine geçecek diye düşündüler.
Veri madenciliği inanılmaz büyüklükteki veri ambarlarında gözle görülemeyecek ipuçlarını öğretilen algoritmaları uygulayarak sizler için ortaya koyan yapılardır. Veri madenciliğinde amaç, kolaylıkla mantıksal kurallara ya da görsel sunumlara çevrilebilecek nitel modellerin çıkarılmasıdır.
Fayyad’ ın deyimiyle veri madenciliği, yararlı etkin bilgiyi çıkarmak ve arındırma sürecidir. Veri madenciliği istatistik, matematik disiplinleri, modelleme teknikleri, bilgisayar programları, yapay sinir ağları ile beslenmektedir. Özellikle istatistiksel algoritmaların ciddi önem arz ettiği bu yapı sayesinde umarım ileride Türkiye’ de de İstatistik okuyanların sayısı ve niteliği artar…
Gartner grup tarafından yapılan tanımda ise veri madenciliği, istatistik ve matematik tekniklerle birlikte ilişki tanıma teknolojilerini kullanarak, depolama ortamlarında saklanmış bulunan veri yığınlarının elenmesi ile anlamlı yeni ilişki ve eğilimlerin keşfedilme sürecidir.

Şirketlerin veritabanlarına ve Business Intelligence projelerine baktığımızda ve bunu bir süreç olarak ele aldığımızda ilk faz operasyonel süreçlerin yani esasen şirketin sürdürülebilirliğinin sağlanacağı veri tabanı sistemlerinin oluşturulması ve yönetilmesi. Doğru şekilde veriler toplandıktan (ve zenginleştirildikten) sonra şirketimizin içerisinde veya dışarısında yer alan bu veri kaynaklarından Analiz ve Raporlama süreçlerimizi gerçekleştireceğimiz Data Warehouse yapısına geçilir.
Data Warehouse (ve bünyesinde barındırdığı Data Mart’lar) SQL Server altında yer alan Integration Services yardımıyla oluşturulur. Sonrasında Analysis Services ve Reporting Services yardımıyla hesaplanmış veriler son kullanıcı karşısına bilgi olarak çıkar. Sonraki faz ise yazımızın temelinde yer alan veri madenciliği. İtiraf etmek gerekirse belli sektörler haricinde bu faza geçen çok fazla şirket olduğunu söyleyemeyiz. Öte yandan veri madenciliğini yapmanın yanı sıra işin ikna süreci gibi zorlu süreçleri de barındırmaktadır. Veri madenciliği fazında ise genellikle kullanılan yazılımlar SAS ve SPSS olmuştur. Fakat Microsoft SQL Server (özellikle Excel Addin) ile hayatımızda çok daha fazla yer elde etmeye başladı.
SQL Server üzerinde veri madenciliği algoritmaları kullanmamızı sağlayan sorgulama dili DMX’tir. SQL Server’ın desteklediği algoritmalar ise aşağıdaki gibidir :
-
Association Algorithm
-
Clustering Algorithm
-
Decision Trees Algorithm
-
Linear Regression Algorithm
-
Logistic Regression Algorithm
-
Naive Bayes Algorithm
-
Neural Network Algorithm
-
Sequence Clustering Algorithm
-
Time Series Algorithm
SQL Server ile bu algoritmaları kullanmak ve çalıştırmak rahat bir hale gelmiş hatta Excel Add-in ile teknik olmayan son kullanıcılar dahi çok rahat bir şekilde hesaplamalar yapabilmektedir.
Fakat burada dikkat edilmesi gereken bir husus var ki aslında çoğu durumda gözden kaçırılmaktadır. Yukarıda yer alan algoritmaların birçoğunun çalıştırılmadan önce gerçekleştirilmesi gereken varsayımları mevcut. Özetle algoritmanın doğru sonuç vermesi için parametrelerin varsayımlara uygun olarak belirlenmesi gerekiyor. Fakat bu gereksinimler bilinmediği durumlarda sonuçlar yanlış çıkabilmekte ve algoritmalara olan güven katsayısı son kullanıcılar için düşebilmektedir.
Serinin bundan sonraki yazılarında yukarıda yer alan algoritmaların bazıları hakkında temel bilgiler verildikten sonra SQL Server üzerinde nasıl kullanılacağı anlatılacaktır.