Veri Madenciliği Ve Uygulama Programları
Günümüzde çeşitli uygulamalardan, internet, web logları gibi kaynaklardan giderek daha fazla veri toplanmakta ve veri tabanlarında saklanmaktadır. Fakat, bu veriler halen birçok uygulamada sadece raporlama amaçlı olarak kullanılmaktadır. Oysa bu veriler, içerisinde şirketler ve kuruluşlar için çok kıymetli örüntüleri barındırmaktadır. Bu da şirketlerin ve kuruluşların veri yönünden zengin fakat bilgi yönünden fakir olduğu sonucunu doğurmaktadır. Verinin bilgiye dönüştürülmesi noktasında veri madenciliği kavramı ile karşılaşılmaktadır. Veri madenciliği çalışmaları yapmak için birçok program geliştirilmiştir. Bu programlardan biri SQL Server 2005 bir diğeri ise WEKA programıdır. Bu çalışmada veri madenciliği hakkında bilgi verilmiştir. Ayrıca Sql Server 2005 ve WEKA’da bir uygulama geliştirme aşamaları anlatılmıştır.
Â
1. GİRİŞ
Â
Günümüzde birçok kaynaktan veri alıp bu verileri veritabanlarında saklayan kurumların amaçlarından biri de ham verileri bilgiye dönüştürmektir. Örneğin; Bankalara hergün binlerce kişi kredi alabilmek için başvuruda bulunmaktadır. Bankalar da başvuruda bulunan kişilerden taleplerini belirten bir form doldurmalarını istemektedir. Bu formla birlikte bireylerin demografik özelliklerini de içeren veriler veritabanlarında saklanmaktadır. Böylece istenildiği zaman bu bilgilere ulaşılabilmekte veya bu bilgiler analiz edilebilmektedir.
Â
Sadece verilere ulaşmak ve onları sorgulamak yeterli değildir. Veri tek başına değersizdir. Önemli olan varolan veriyi bilgiye dönüştürmektir. Örneğin; Banka elindeki eski verileri kullanarak yeni başvuruda bulunan kişilerin kredi taleplerini onaylayıp onaylamayacağına karar verebilir. Böylece banka sakladığı eski verilerini yeni kredi taleplerini onaylarken bilgi olarak kullanmış olmaktadır.
Â
Bu işlem yani veriyi bilgiye dönüştürme işlemi veri madenciliği olarak adlandırılmaktadır. Veri madenciliği ile birçok alanda çalışmalar yapılmış ve yapılmaktadır. Chang ve Leu çalışmalarında proje karlılık değişkenlerini tanımlayabilmek için bir veri madenciliği modeli oluşturmuşlardır [1]. Hou, Lian, Yao, Yuan çalışmalarında bir havalandırma sistemi yapmak için veri madenciliği tabanlı sensör hatası tanımlama ve doğrulama modeli gerçekleştirmişlerdir [2]. Bayam, Liebowitz, Agresti çalışmalarında yaşlı sürücülerin kaza yapmalarına etken olan faktörleri veri madenciliği süreci ile belirlemişlerdir [3]. Wang ve Hong çalışmalarında veri madenciliği tekniklerini kullanarak bir müşteri karlılık yönetim sistemi geliştirmişlerdir [4]. Delen, Walker, Kadam çalışmalarında veri madenciliği tekniklerini kullanarak bir hastanın göğüs kanserinden ölüp ölmeyeceğini tahmin eden bir model geliştirmişlerdir [5]. Rushing, Ramachandran, Nair, Graves, Welch, Lin ise çalışmalarında bilim adamları ve mühendisler için bir veri madenciliği toolbox’ı geliştirmişlerdir[6].
Â
Veri madenciliği uygulamalarını gerçekleştirmek için bugüne kadar birçok araç geliştirilmiştir. Bu araçlardan biri microsoft firması tarafından geliştirilen ve yeni piyasaya sürülen SQL Server 2005 ürünüdür. Bir diğer ürün ise Waikato Üniveristesi tarafından java paltformu üzerinde açık kodlu olarak geliştirilen de devamlı güncellenen WEKA’dır.
Â
Makalenin bundan sonraki bölümlerinde sırasıyla veri madenciliği kavramı, veri madenciliği süreçleri, SQL Server 2005 ile veri madenciliği uygulaması geliştirme adımları ve WEKA ile veri madenciliği uygulaması geliştirme adımları hakkında bilgi verilmiştir.
2. VERİ MADENCİLİĞİ
Â
Büyük veritabanlarından gizli kalmış örüntüleri çıkarma sürecine veri madenciliği adı verilmektedir. Geleneksel yöntemler kullanılarak çözülmesi çok zaman olan problemlere veri madenciliği süreci kullanılarak daha hızlı bir şekilde çözüm bulunabilir [7]. Veri madenciliğinin ana amacı elimizde bulunan veriden gizli kalmış örüntüleri (patterns) çıkarmak, elimizdeki verinin değerini arttırmak ve veriyi bilgiye dönüştürmektir [8].
Â
Bugün veri madenciliğinin; bankacılık, pazarlama, sigortacılık, telekomünikasyon, borsa, sağlık, endüstri, bilim ve mühendislik gibi birçok dalda uygulama alanı bulunmaktadır.  Bu dallardaki uygulama alanlarına aşağıdaki gibi örnekler verilebilir.
Â
• Bankacılık: Risk analizleri ve usulsüzlük tespiti.
• Pazarlama: Çapraz satış analizleri, müşteri segmentasyonu.
• Sigortacılık: Müşteri kaybı sebeplerinin belirlenmesi, usulsüzlüklerin önlenmesi.
• Telekomünikasyon: Hile tespiti, hatların yoğunluk tahminleri.
• Borsa: Hisse senedi fiyat tahmini, genel piyasa analizleri.
• Tıp: Tıbbi teşhis, uygun tedavi sürecinin belirlenmesi.
• Bilim ve Mühendislik: Amprik veriler üzerinde modeller kurularak bilimsel ve teknik problemlerin çözümlenmesi.
• Endüstri: Kalite kontrol, lojistik.
Â
Veri Madenciliği bir yöntem değildir bir süreçtir. Bu süreçte ana unsur süreci gerçekleştiren uygulamacıdır. Süreçte bulunan adımlar doğru olarak yerine getirilmediği sürece istenilen sonuca ulaşılması mümkün değildir. Aşağıda veri madenciliği süreçleri ve bu süreçlerin anlamları açıklanmıştır.
Â
2.1 Veri Toplama
Â
Veri madenciliğinin birinci adımı veri toplamadır. İş dünyasında veriler birçok farklı ortamda depolanmaktadır. Örneğin; Microsoft’da veriler yüzlerce OLTP veritabanında ve 70’in üzerinde veri ambarında(data warehouse) saklanmaktadır. Burada ilk adım veri tabanlarından veya veri ambarlarından yapılacak uygulama için uygun verileri çekmektir [9].
Â
Daha sonra, yani veri toplama işlemi bittikten sonra, veriler test ve analiz veri seti olarak iki gruba ayrılmalıdır. Genellikle yapılan uygulamalarda verilerin %80’i analiz %20’si ise test verisi olarak ayrılır [9].
Â
2.2 Veri Temizleme ve Dönüştürme
Veri dönüşümünün amacı ise, elimizdeki kaynak veriyi farklı formatlara veya değerlere dönüştürmektir [9]. Örneğin; Veritabanındaki mantıksal(boolean) bir alan integer bir tipe dönüştürülebilir. Bunun sebebi ise kullanılan bazı veri madenciliği algoritmalarının integer veri tipiyle Boolean veri tipine göre daha başarılı sonuçlar üretmesidir.
Veri temizleme işleminin amacı, veriler içindeki uygun olmayan veya hatalı girilmiş verileri ayıklamaktır [9]. Bu işlemde eksik veriler uygun değerler ile doldurulur. Eğer eksik veri çok ise bu kaydın silinmesi gerekir.
2.3 Model Kurma
Â
Model kurma veri madenciliğinin çekirdeğidir. Modeli doğru bir şekilde kurabilmek için yapılacak projenin amacı çok iyi bir şekilde kavranmış olmalıdır. Her amaçla ile ilgili birden fazla algoritma mevcuttur. Bu durumda eldeki veriler üzerinde uygun algoritmaların hepsi çalıştırılır ve en doğru sonucu veren algoritma kullanılır.
Â
2.4 Model DeÄŸerlendirme
Â
Eldeki veriler üzerinde uygun algoritmalar çalıştırıldıktan sonra en doğru sonucu hangisinin verdiğini bulmak için çeşitli yöntemler mevcuttur. Örneğin, tahmine yönelik sayısal veriler varsa ve kullanılan modelin doğruluğu test edilmek isteniyorsa MAPE (Mean Absolute Percentage Error) yöntemini kullanabilir.
Â
2.5 Raporlama
Â
Raporlama veri madenciliği bulgularını göstermek için önemli bir dağıtım kanalıdır. Birçok veri madenciliği aracı elde edilen modelden kullanıcıların daha önceden tanımladığı raporları göstermek için gerekli araçlara sahiptir [9].
Â
2.6 Tahmin(Scoring)
Birçok veri madenciliği projesinde, örüntüleri(patterns) bulmak çalışmanın yarısıdır. Esas amaç, tahmin için modeli kullanmaktır. Tahmin veri madenciliği terminolojisinde scoring olarak da adlandırılır. Tahmin yapabilmek için eğitilen model ve yeni durumları içeren veri setinin olması gerekir [9]. Böylece, eğitilen model kullanılarak yeni durumlar için tahminde bulunulabilir.
Â
2.7 Uygulama Entegrasyonu
Bu aşamada kurulan veri madenciliği modeli gerçek zamanlı olarak çalıştırmak üzere geliştirilen uygulama içerisine gömülür.
2.8 Model Yönetimi
Her bir veri madenciliği modeli bir yaşam döngüsüne sahiptir. Bazı uygulamalarda işler, özellikler durağandır ve modelin yeniden eğitilmesine gerek yoktur. Fakat birçok iş özellikleri sık sık değişir. Yeni veriler geldikçe modelin yeniden eğitilmesine gerek vardır. Yani bir model kurulduktan sonra eğer çok sık olarak veri setinde değişiklik yapılıyorsa model sık sık güncellenmelidir [9].
Â
3. SQL SERVER 2005’TE VERİ MADENCİLİĞİ
Â
SQL Server 2000 sürümünde de veri madenciliği uygulamalarına destek vermekteydi. SQL Server 2005 sürümüyle veri madenciliği uygulamalarına verdiği desteği artırmış ve uygulama geliştiricilerin projelerini daha kolay ve rahat geliştirebilecekleri bir ortam sunmuştur. SQL Server 2005 sürümünde veri madenciliği uygulamaları yapmak için Business Intelligence Development Studio isimli geliştirme ortamı kullanılmaktadır. Bu ortam Visual Studio ürününün içerisine entegre edilmiştir.
Â
Bir veri madenciliği uygulaması gerçekleştirebilmek için öncelikle Analysis Service’in çalışıyor olması gerekmektedir. Bundan sonraki adımda ise Visual Studio geliştirme ortamına girildikten sonra yeni bir proje oluştururken Business Intelligence Project seçeneği içerisindeki proje seçeneklerinden Analysis Services Project seçeneği seçilmelidir. Bu adımdan sonra Şekil 1’de gösterilen ekran ile karşılaşılmaktadır.
Â
Bu açılan ekranda sağ tarafta Solution Explorer Penceresi ve bu pencerenin içerisinde de proje içerisinde gerçekleştirilmesi gereken adımları gösteren seçenekler bulunmaktadır. Aşağıda başlangıç seviyesinde bir uygulama oluşturmak için kullanılması gereken seçenekler ve görevleri anlatılmaktadır
Â
3.1 Data Source
Â
Bu seçenek kullanılarak ulaşılmak istenen veri kaynağı ile bağlantı kurulması sağlanmaktadır. Bu işlemi gerçekleştirmek için bu seçenek üzerinde sağ tuşa tıklanarak New Data Source menü seçeneği seçilmelidir. Bundan sonra ekrana gelen wizard ekranı takip edilerek gerekli veri kaynağına bağlanma işlemi tamamlanır.
Â
3.2 Data Source Views
Â
Bilindiği gibi bir veri madenciliği uygulamasında veri tabanında bulunan tüm tablolar ve bu tablolar içerisindeki tüm alanlar kullanılmaz. Bu tablolar içerisinden uygulamada kullanılacak olanlar seçilmeli ve bunlar üzerinde işlem yapılmalıdır. Data Source Views seçeneği ile veri tabanından uygulamada kullanılacak olana tabloların ve bu tablolardaki alanların seçilmesi sağlanmaktadır. Bu aşamada veri kaynağına ulaşmak için bir önceki adımda oluşturulan bağlantı kullanılır. Bu işlemi gerçekleştirmek için bu seçenek üzerinde sağ tuşa tıklanarak New Data Source View menü seçeneği seçilmelidir. Bundan sonra ekrana gelen wizard ekranı takip edilerek gerekli veri kaynağından istenilen verilerin seçilmesini sağlayan view oluşturulur. Bu aşama sonucunda Şekil 2’deki ekran ile karşılaşılır.
Â
Bir view oluşturulduktan sonra bu view üzerindeki tablolarda sanal kolonlar açılabilmekte veya view’e sanal tablolar eklenebilmektedir. Bu da veri madenciliğinin adımlarından biri olan veri dönüştürme işleminin daha kolayca bitirilmesine yardımcı olmaktadır.
Â
3.3 Mining Structures
Â
Gerekli view oluşturlduktan sonra geriye uygun modelin seçimesi kalmaktadır. Sql Server 2005 Microsoft Clustering, Microsoft Decision Trees, Microsoft Linear Regression, Microsoft Logistic Regression, Microsoft Naive Bayes, Microsoft Neural Network, Microsoft Sequence Clustering, Microsoft Time Series modellerinin veriler üzerinde uygulanmasına izin vermektedir. Bu seçenekler içerisinden uygulama için uygun olan seçenek seçilerek model kurulur.
Â
Bu aşamadan sonra modeli eğitmek için Mining Model Viewer seçeneği seçilir. Bu seçenek yardımıyla model, seçilen algoritma kullanılarak eğitilir ve sonuçlar bulunur. Modelin doğruluğu test etmek için Model Accuracy Chart seçeneği seçilir. Eğer bir sayısal tahmin yapılıyorsa buradaki seçeneklerden Lift Chart seçeneği kullanılarak modelin doğruluğu test edilebilir.
Â
Eğer modelin doğruluğu onaylanmışsa ve yeni verilerin sonuçları kurulan modele göre alınacaksa Mining Model Prediction seçeneği kullanılır.
Â
4. WEKA’DA VERİ MADENCİLİĞİ
Â
WEKA bir proje olarak başlayıp bugün dünya üzerinde birçok insan tarafından kullanılmaya başlanan bir veri madenciliği uygulaması geliştirme programıdır. WEKA java platformu üzerinde geliştirilmiş açık kodlu bir programdır WEKA programı http:// www.cs.waikato.ac.nz/ml/weka/ adresinden indirilebilmektedir.
Â
WEKA ilk çalıştırıldığında Şekil 3’deki ekran ile karşılaşılmaktadır. Bu ekranda WEKA ile çalışmak istenilen mod seçilebilmektedir. Bunlar komut modunda çalışmayı sağlayan Simple CLI, projenyi adım adım görsel ortamda gerçekleştirmeyi sağlayan Explorer ve projeyi sürükle bırak yöntemiyle gerçekleştirmeyi sağlayan KnowledgeFlow seçenekleridir.
Â
Burada projeyi adım adım gerçekleştirmeyi sağlayan explorer seçeneği ile veri madenciliği projesi gerçekleştirme aşamaları hakkında bilgi verilecektir.
Â
Explorer seçeneği seçildikten sonra üzerinde çalışılacak verilerin seçilmesi, bu veriler üzerinde temizleme ve dönüştürme işlemlerinin gerçekleştirilebilmesini sağlayan Şekil 4. deki ekran ile karşılaşılmaktadır.
Â
WEKA arff isimli dosya formatını desteklemektedir. Herhangi bir text soyadaki verileri weka ile işlemek olanaksızdır. Yarıca veri tabanlarına bağlanılarak da veriler weka ortamına çekilebilmektedir. Bunun dışında şu anda geliştirilmiş araçlar kullanılarak veri tabanlarındaki bilgiler arff formatına çevrilerek WEKA’da işlenebilmektedir.
Â
Bu adımdan sonra yapılacak olan projenin amacına göre açılan sayfadaki uygun tabdaki (Classify, Cluster, Associate) uygun algoritma veya algoritmalar seçilerek veriler üzerine uygulanmakta ve en doğru sonucu veren algoritma seçilebilmektedir.
Â
5. İKİ PROGRAMIN KARŞILAŞTIRILMASI
Â
Öncelikle WEKA SQL Server 2005’e göre daha fazla algoritmayı desteklemektedir. Ayrıca WEKA’da elimizdeki verilerden hangisini giriş parametresi olarak seçebileceğimizi belirlememizde yardımcı olan birçok algoritma da verilmiştir. Sql Server 2005’de bu işlem uygulama geliştirme aşamasında algoritma seçimi olmadan tek bir seçenekle kullanıcıya öneri olarak verilmektedir. WEKA’yı uygulamalara entegre edebilmek için java dilini bilmek gerekmeketdir. Oysa SQLSERVER 2005 ile geliştirilen bir veri madenciliği modeline .NET destekleyen tüm diller ile kolayca ulaşmak mümkündür. Sql Server 2005 WEKA’ya göre daha kolay kullanılabilir bir arayüze sahiptir.
Â
4. SONUÇLAR
Â
Gartner Araştırma şirketinin yaptığı bir çalışmaya göre, gelecek birkaç yıl içerisinde daha fazla uygulama içerisinde veri madenciliği komponentleri eklenmiş olacaktır [9]. Bu da gösteriyor ki veri madenciliği önümüzdeki yıllarda daha fazla önem kazanmaya başlayacak ve daha fazla şirket verilerini bilgiye dönüştürmek isteyecektir.
Â
Bu bağlamda varolan veri madenciliği araçları da kendilerini yenileyeceklerdir. SQL Server 2005 ve WEKA bu alanda kendine iyi bir yer edineceklerdir.
Â
KAYNAKLAR
[1] Chang, A.,S., Leu, S., ‘Data mining model for identifying project profitability variables’,International Journal of Project Management, October 2005
[2] Hou, Z., Lian, Z., Yao, Y., Yuan, X., ‘Data mining based sensor fault diagnosis and validation for building air conditioning system’, Energy Conversion and Management, January 2006
[3] Bayram, E. , Liebowitz, J. , Agresti, W. , ‘Older drivers and accidents: A meta analysis and data mining application on traffic accident data’, Expert Systems with Applications, vol 29, October 2005,pp598-629.
[4] Wang, H., Hong, W., ‘Managing customer profitability in a competitive market by continuous data mining’, Industrial Marketing Management, July 2005
[5] Delen, D., Walker, G., Kadam, A., ‘Predicting breast cancer survivability: a comparison of three data mining methods’, Artificial Intelligence in Medicine, vol 34, June 2005, pp113-127
[6] Rushing, J., Ramachandran, R., Nair, U., Graves, S., Welch, R., Lin, H., ‘ADaM: a data miningtoolkit for scientists and engineers’, Computers & Geosciences, vol 31, June 2005, pp607-618
[7] Hung, S., Yen, D., C., Wang, H., ‘Applying data mining to telecom churn management’, Expert Systems with Applications, October 2005, pp. 1-10
[8]http://www.sqlnedir.com/Members/ArticleDetail.aspx?Id=81
[9] Tang, Z., MacLennan, J. ,”Data Mining with Sql Server 2005″, Wiley, 2005
Â
 Veri Madenciliği Ve Uygulama Programları (366 kB)
Â