ORACLE DATA MINER İLE KREDİ ÖDEMELERİ ÜZERİNE BİR VERİ MADENCİLİĞİ UYGULAMASI BİTİRME ÖDEVİ Aslı Pınar YAPICI Ayşegül ÖZEL Cemal AYÇA Anabilim Dalı: MATEMATİK MÜHENDİSLİĞİ Tez Danışmanı: Prof. Dr. Ulviye BAŞER ILGAZ MAYIS 2010 ÖNSÖZ Bu çalışmayı hazırlamamızda bize yol gösteren Sayın Hocamız Prof. Dr. Ulviye BAŞER ILGAZ’a, bizden yardımını ve desteğini hiçbir zaman esirgemeyen Sayın Hocamız Yard. Doç. Dr. Ahmet KIRIŞ’ a, müşteri bilgilerini bize güvenerek paylaşmakta sakınca görmeyen özel finans kuruluşu çalışanlarına, arkadaşlarımıza ve hayatımız boyunca bize sevgi, güven ve her türlü desteği veren ailelerimize en içten teşekkürlerimizi sunarız. Mayıs, 2010 Aslı Pınar YAPICI Ayşegül ÖZEL Cemal AYÇA ii 3 İÇİNDEKİLER Sayfa ÖZET v 1. GİRİŞ 1 1.1. Kredi talepleri ve değerlendirme 1 2. VERİ MADENCİLİĞİ 4 2.1. Tanım 4 2.2. Tarihsel Gelişim 5 2.3. Kullanım Alanları 6 2.4. Veri Madenciliği Modelleri 8 2.5. Veri Madenciliği Uygulamaları için Temel Adımlar 8 2.6. Temel Veri Madenciliği Problemleri ve Çözüm Yöntemleri 3. ORACLE DATA MINER 10 15 3.1. Erişim 15 3.2. ODM Ana Ekranı 16 3.3. Veri Aktarımı 17 3.4. İstatistik İşlemleri 20 3.5. Veri Temizleme ve Hazırlama İşlemleri 21 3.6. Veri Madenciliği Etkinlikleri 22 4. TEMEL KAVRAMLAR VE MATEMATİKSEL ALTYAPI 4.1. Naive Bayes Yöntemi 35 35 4.2. Geliştirilmiş Bayesian Ağlar Yöntemi (Adaptive Bayes Network – ABN) 45 4.3. Özelliklerin Önem Sıralaması (Attribute Importance- AI) 5. UYGULAMA VE SONUÇLAR 46 47 5.1. Veri Tablosunun Hazırlanması 47 5.2. Model Oluşturma 53 5.3. Modelin Testi 60 5.4. Modelin Uygulanması 71 5.5. Sonuçlar ve Yorumlar 75 KAYNAKLAR 79 4 ÖZET Bu çalışmada özel bir finans kuruluşunun müşterilerinin kredi izleme süreçleri üzerine bir veri madenciliği uygulaması yapılmıştır. Bu uygulama ile kredi ödeme süreçleri kanuni takip ile biten müşterilerin yüksek doğrulukla tahmin edilmesi ve ortak yönlerinin bulunması amaçlanmaktadır. Kanuni takibe giden müşterilerin tahmin edilmeye çalışılmasının nedeni, bu müşterilerin ödemelerini zamanında yapmayarak firmayı en zor durumda bırakmış sınıf olmasıdır. Bu müşterilerin tahmini başarılarak firmanın gördüğü zarar en aza indirilebilir. Bu amaçla firmadan müşterilerin demografik bilgileri ve ödeme süreçlerindeki davranışlarını anlatan kodlar alınmış, veriler düzenlenerek tablolar oluşturulmuştur. Müşteriler kanuni takibe gidenler ve gitmeyenler olarak sınıflandırılarak problem veri madenciliği sınıflandırma modeline uygun hale getirilmiştir. Bu problemi çözmek için de sınıflandırma modelinin algoritmalarından biri olan ve temel olarak Naive Bayes yöntemini esas alan Adaptive Bayes Network algoritması seçilmiştir. Veri madenciliği uygulamasını gerçekleştirmek için Oracle veritabanının 10g sürümü ve üzerine Oracle Data Miner paket programı yüklenmiştir. Daha sonra oluşturulan tablolar veritabanına aktarılmış ve gerekli modeller oluşturulmuştur. Bu modeller yardımıyla da istenilen doğrulukta tahminler elde edilmiş ve yorumlanmıştır. 5 1. GİRİŞ Gelişen teknoloji ve tüm Dünya ülkelerinde bilgisayarın yaygın kullanılması elektronik ortamda saklanan veri miktarında büyük bir artış meydana getirmiştir. Bilgi miktarının her 20 ayda bir iki katına çıkması veritabanı sayısında hızlı bir artışa neden olmaktadır. Birçok farklı bilim dallarından toplanan veriler, hava tahmini simülasyonu, sanayi faaliyet testleri, süpermarket alışverişi, banka kartları kullanımı, telefon aramaları gibi veriler, daha büyük veritabanlarında kayıt altına alınmaktadır. Veri tabanında data birikiminin artarak devam etmesinin bir nedeni de yüksek kapasiteli işlem yapabilme gücünün ucuzlamasıdır. Bu datalardan elde edilecek bilgiler doğrultusunda iş dünyasında şirket stratejileri belirlenir. Bitirme projesi kapsamında da özel bir finans kuruluşunun, müşterilerinin kredi taleplerini değerlendirirken stratejiler geliştirmesi amaçlanmıştır. 1.1 Kredi Talepleri ve Değerlendirme Bu bitirme projesi kapsamında; veri madenciliği uygulaması ile, özel bir finans kuruluşundan geçmişte kredi almış müşterilerin ödeme/ödememe durumları üzerine model oluşturulmuş ve gelecekte hangi tür müşterilerin riskli müşteri olabileceği test datası üzerinde yüksek tahminle tespit edilmiştir. Kredi talepleri değerlendirilirken hangi aşamalardan geçildiği ve veri madenciliği uygulamasına neden gereksinim duyulduğu bir süreç dahilinde aşağıda ifade edilmektedir. Kredi talepleri değerlendirilirken ilk olarak analiz yapılır. Kredi analizi, yalnız kredi isteminde bulunan firmanın mali tablolarının incelenmesini değil, ilgili firmanın geçmiş ve en önemlisi gelecekteki performans sonuçlarını etkilemiş ve etkileyebilecek tüm etmenlerin değerlendirilmesini içerir. Kredi analizi süreci tamamlandıktan sonra bir kredi müşterisine, belirli bir süre için verilecek belirli tutardaki kredinin taşıdığı risk saptanmaya çalışılmaktadır. Aslında her kredi enflasyon riski ve geri ödenmeme olasılığı şeklinde özetleyebileceğimiz iki temel risk taşır [1]. Enflasyon riski, kredinin verildiği tarih ile geri döndüğü tarih arasında para değerinin değişmesi nedeniyle uğranabilecek kayıptır. Ticaret 6 bankaları, aracı kurumlar, daha açık bir ifadeyle geniş kitlelerden mevduat ve/veya diğer isimler altında topladıkları fonları kredilendirme faaliyetlerinde kullanan kurumlar için, enflasyon riski fazla önemsenmeyebilir. Ancak geri dönmeme olasılığı bankaların ve finans kuruluşlarının ciddi olarak dikkate almaları gereken bir etmendir. Kredilerin ödenmemesi/ödenememesi durumları bankaların ve finans kuruluşlarının farklı kademelerinde değerlendirilmektir. Kredilerin ödenememesi; 1) Kredi alan firmanın üretmiş olduğu mal ve hizmetlere olan talepteki değişmeler, 2) Kredi alan firmanın rekabet gücünün zayıflaması, 3) Hükümetlerin, kredi alan firmaların ödemelerini güçleştirecek politikalar izlemesi gibi ekonomik sebeplerden kaynaklanıyorsa, bankanın denetim kurulunda oluşturulan risk tabloları ile değerlendirilir. Kredilerin ödenmemesi ise bizi tüketicinin davranışlarını incelemek zorunda bırakmaktadır. Günümüzde geliştirilen yazılımlar ile tüketicinin her gün ne şekilde banka ile ilişkili olduğu kodlar atanarak veri tabanında tutulabilmektedir. Veri tabanında tutulan bu bilgilerden uygun programlarla hangi tür bilgilerin elde edilmesi gerektiğine bankaların IT Risk Yönetim Birimi karar vermektedir. Risk Yönetimi Birimi, borçlunun kredi sözleşmesine uygun olarak yükümlülüklerini yerine getirme kapasitesinin olup olmadığını saptamayı hedeflemektedir. Aynı zamanda hangi tür müşteriye firmanın finansman gereksinimine uygun düşecek tutar, vade ve koşullarda kredi verilmesi gerektiğini belirlemek istemektedir. Bitirme projesinde, bu hedefler doğrultusunda alınan datalar üzerinde model oluşturulmuştur. Bu model krediyi ödeme süresince finans kuruluşu tarafından verilen kodlar ve demografik özelliklerine göre kurulmuş ve krediyi alan hangi tip müşterilerin kanuni takibe düşüp düşmeyeceği belirlenmesi istenmiştir. Kurumun, müşterilerinin ödeme durumlarına göre atadığı kodlar içerisinde kanuni takibe düşüp düşmeyeceğine karar vermemizi sağlayan kodlar sınırlıdır. Bunlar; OG: (Ödeme gelmedi kodu): Tüketicinin ödeme yapması gereken vade gününden 5 iş günü sonra ödeme yapmadığı durumda aldığı koddur. GO: (Geç ödeme kodu): Tüketicinin ödeme yapması gereken vade gününden sonra ödeme yapması durumunda aldığı koddur. 7 GA: (Gecikme adayı kodu): Tüketicinin ödeme yapması gereken vade gününden hemen sonra ödeme yapmaması durumunda aldığı koddur. IT: (İdari takip kodu): Tüketicinin ödeme yapmadığı tutar 1,5 taksit tutarını geçerse idari takibe düştüğünü belirten koddur. IT*: (İdari takip öncesi beklemede kodu): Tüketicinin 1,5 vade tutarının altında borcunun bulunması durumunda aldığı koddur KT: (Kanuni takip kodu): İdari takibe düşen tüketicinin 45 gün içerisinde hiçbir ödeme yapmaması durumunda aldığı koddur. Modeli oluşturmadan önce, demografik özellikler içerisinde farklı sektörlere göre farklı kredi türlerinin verildiği saptanmıştır. Model oluşturulurken tüm tüketici kredileri sektör bazlı değerlendirilmek üzere otomotiv ve dayanıklı tüketim kredileri olarak 2 kısma ayrıldı. 1.1.1 Dayanıklı tüketim ve otomotiv kredileri Beyaz eşya, mobilya, elektrikli ev aletleri gibi dayanıklı tüketim malları ile otomobil, konut alımı gibi menkul veya gayrimenkul bir malın satın alınması için her türlü nakit ihtiyacını gidermek amacıyla kullanılan kredilerin tümü tüketici kredileridir. Projede kullanılan krediler çoğunlukla otomotiv sektörüne yönelik olduğundan yani finans kuruluşunun müşteri portföylerinin çoğunluğunu otomotiv müşterileri oluşturduğundan bitirme projesinde de model, bu sektör üzerinden kurulmuştur. 8 2. VERİ MADENCİLİĞİ Günümüzde kullanılan veri tabanı yönetim sistemleri eldeki verilerden sınırlı çıkarımlar yaparken geleneksel çevrimiçi işlem sistemleri (on-line transaction processing systems) de bilgiye hızlı, güvenli erişimi sağlamaktadır. Fakat ikisi de eldeki verilerden analizler yapıp anlamlı bilgiler elde etme imkanını sağlamakta yetersiz kalmışlardır. Verilerin yığınla artması ve anlamlı çıkarımlar elde etme ihtiyacı arttıkça uzmanlar Knowledge Discovery in Databases (KDD) adı altında çalışmalarına hız kazandırmışlardır. Bu çalışmalar sonucunda da veri madenciliği (Data Mining) kavramı doğmuştur. Veri madenciliğinin temel amacı, çok büyük veri tabanlarındaki ya da veri ambarlarındaki veriler arasında bulunan ilişkiler, örüntüler, değişiklikler, sapma ve eğilimler, belirli yapılar gibi bilgilerin matematiksel teoriler ve bilgisayar algoritmaları kombinasyonları ile ortaya çıkartılması ve bunların yorumlanarak değerli bilgilerin elde edilmesidir. 2.1 Tanım İlişkisel veri tabanı sistemleriyle ulaşılan veriler tek başına bir anlam ifade etmezken veri madenciliği teknolojisi bu verilerden anlamlı bilgi üretilmede öncü rol oynamaktadır. Aşağıda bazı veri madenciliği tanımlarına yer verilmektedir. 1. “Veri madenciliği; veritabanında bilgi keşfi (KDD), eldeki verilerden önceden bilinmeyen fakat potansiyel olarak yararlı olabilecek bilgileri çıkarmaktır. Bu kümeleme, veri özetlemesi, öğrenme sınıflama kuralları, değişikliklerin analizi ve sapmaların tespiti gibi birçok farklı teknik bakış açısını içine alır.” [2]. 2. “Veri madenciliği, otomatik veya yarı otomatik çözüm araçları (tools) ile büyük ölçeklerdeki verinin anlamlı yapılar ve kurallar keşfetmek üzere araştırılması (exploration) ve analiz edilmesidir.” [3]. 9 3. “Veri madenciliği çok büyük tabanları içindeki veriler arasındaki bağlantılar ve örüntüleri araştırarak, gizli kalmış yararlı olabilecek verilerden değerli bilginin çıkarılması sürecidir.” [4]. 4. “Veri Madenciliği, büyük veri ambarlarından daha önceden bilinmeyen, doğru ve eyleme geçirilebilir bilgiyi ayrıştırma ve çok önemli kararların alınması aşamasında ayrıştırılan bu bilgiyi kullanma sürecidir.” [5]. Yukarıdaki tanımları toplayıp veri madenciliği kavramına ek bir tanım daha getirilebilir. Veri madenciliği; matematiksel yöntemler yardımıyla, biriken veri yığınları içerisinde bulunan dataların birbirleriyle ilişkisini ortaya çıkartmak için yapılan analiz ve kurulan modeller sonucunda elde edilecek bilgi keşfi sürecidir. Veri madenciliğinin, disiplinler arası bir teknoloji olarak dört ana başlıktan oluştuğu kabul edilmektedir. Bunlar sınıflama, kategori etme, tahmin etme ve görüntülemedir. Bu dört temel dışında istatistik, makine bilgisi, veritabanları ve yüksek performanslı işlem gibi temelleri de içerir. 2.2 Tarihsel Gelişim Veri madenciliğinin kavram olarak oluşması 1960’lı yıllara kadar dayanmaktadır. Bu dönemlerde veri taraması (data dredging), veri yakalanması (data fishing) gibi isimler verilmiş ve bilgisayar yardımıyla gerekli sorgulama (query) yapıldığında istenilen bilginin elde edilebileceği düşünülmüştür. Fakat 1990’lar geleneksel istatistiksel yöntemlerinin yerine algoritmik bilgisayar modülleri ile veri analizinin gerçekleştirilebileceğinin kabul edildiği yıllar olmuştur. Veri madenciliğinin tarihsel süreci Tablo1.1 de gösterilmiştir [6]. 10 Tablo 1.1 : Veri madenciliğinin tarihsel gelişimi 2.3 Kullanım Alanları Tarihsel süreç, gelişen teknoloji ile veri madenciliğinin işlevliğini etkin bir şekilde sürdürdüğünü göstermektedir. Veriler çok hızlı bir şekilde toplanabilmekte, depolanabilmekte, işlenebilmekte ve bilgi olarak kurumların hizmetine sunulabilmektedir. Günümüzde bilgiye hızlı erişim, firmaların sürekli yeni stratejiler geliştirip etkili kararlar almalarını sağlayabilmektedir. Bu süreçte araştırmacılar, büyük hacimli ve dağınık veri setleri üzerinde firmalara gerekli bilgi keşfini daha hızlı gerçekleştirebilmeleri için veri madenciliği üzerine çalışmalar yapmışlardır. Tüm bu çalışmalar doğrultusunda veri madenciliği günümüzde yaygın bir kullanım alanı bulmuştur. Hangi alanlarda veri madenciliğinin kullanıldığı belli bir şablon dahilinde aşağıda verilmiştir. 2.3.1 Perakende/ Pazarlama Mevcut müşterilerin elde tutulması, yeni müşterilerin kazanılması, Tüketicilerin demografik karakteristikleri arasında örüntü elde edilmesi, E-posta kampanyalarına hangi tip müşterilerin tepki verebileceğinin tahmin edilmesi, 11 Pazar analizi yapılarak piyasaya sürülecek bir ürüne verilecek tepkilerin tahmin edilmesi, 2.3.2 Bankacılık Kredi kartı kullanımı sonucunda dolandırıcılık durumlarının tespit edilmesi, Bankaya sadık müşteri portföyünün oluşturulması, Hangi kullanıcı gruplarının kredi kartı harcamalarını yüksek tuttuğunun belirlenmesi, Farklı finansal göstergeler arasındaki gizli korelasyonların bulunması, Tarihsel pazar verileri analiz edilerek belirli kuralların tespit edilmesi, 2.3.3 Sağlık hizmetleri ve sigortacılık Sigorta poliçesi üzerinden ödenecek para analizinin yapılması, Hangi tip müşterilerin hangi tür sigorta poliçesi alacağının tahmin edilmesi, Riskli müşterilerin davranışlarının tespit edilmesi, Dolandırıcılık davranışlarının tespit edilmesi, 2.3.4 Tıp Hasta tepkilerinin tahmin edilip karakterize edilmesi, Farklı hastalıklar üzerinde yapılan başarılı tıbbi tedavilerin tanımlanması, Demografik ve tarihi veriler ışığında bölgelerin incelenerek yayılması, muhtemel hastalıkların potansiyel risklerinin tahmin edilmesi, 2.3.5 Ulaştırma Hangi tip araçların uzun ya da kısa dağıtım kanallarında yol alacağının belirlenmesi, Yük modeli analizinin yapılıp yükleme durumunun saptanması, 2.3.6 Eğitim Hangi tip öğrenci için hangi tür eğitim modelinin uygulanması gerektiğinin belirlenip eğitimde başarıyı artırıcı durumların saptanması, 12 Öğretmen-ortam-öğrenci ilişkisi içerisinde verimlilik artışını sağlayacak değişikliklerin tespit edilmesi, 2.3.7 Ekonomi Eldeki ekonomik verilerden tespitler çıkartılıp, eğilim ve düzensizliklerin tespit edilmesi, Geçmiş yılların Gayri Safi Milli Hasıla (GSMH) verileri göz önünde tutularak yeni dönem ülke ekonomisi için ekonomik politikalar oluşturulması ve faiz, enflasyon oranı gibi veriler hakkında senaryo testi tahmininin yapılması, 2.3.8 Güvenlik Uzaktan algılama ile yüksek çözünürlükte elde edilen görüntü datasını değerlendirerek düşman kuvvetlerin nerelerde hangi araç ve teçhizatlarda yoğunlaştığı tespit edilip konuşlanmaya uygun arazi tiplerinin belirlenmesi, Anahtar kelimelerin tespit edilip İnternet’te taranarak lehte ve aleyhte propaganda yapan sayfaların belirlenmesi, Kuvvetli bir istihbarat ağına sahip olup haberleşme araçlarını takip ederek terörist faaliyetlerinin belirlenmesi, 2.3.9 Elektronik ticaret e-CRM uygulamalarının yönetimi, Web sayfalarına yapılan ziyaretlerin çözümlenmesi. 2.4 Veri Madenciliği Modelleri IBM tarafından veri işleme operasyonları için iki çeşit model tanımlanmıştır. 2.4.1 Doğrulama modeli Doğrulama modeli kullanıcıdan bir hipotez alarak testler yapar ve bu hipotezin geçerliliğini araştırır. 13 2.4.2 Keşif modeli Sistem bu modelde önemli bilgileri gizli veriden otomatik olarak elde eder. Veri başka hiçbir aracıya ihtiyaç duymadan yaygın olarak kullanılan modeller, genelleştirmeler ile ayıklanır. 2.5 Veri Madenciliği Uygulamaları İçin Temel Adımlar Veri madenciliği uygulamalarında sırasıyla takip edilmesi gereken temel aşamalar aşağıda sistematik biçimde verilmiştir. 2.5.1 Uygulama alanının ortaya konulması Bu ilk adımda veri madenciliğinin hangi alan ve hangi amaç için yapılacağı tespit edilir. 2.5.2 Hedef veri grubu seçimi Belirlenen amaç doğrultusunda bazı kriterler belirlenir. Bu kriterler çerçevesinde aynı veya farklı veritabanlarından veriler toplanarak hedef (target) veri grubu elde edilir. 2.5.3 Model seçimi Veri madenciliği probleminin seçimi datalar üzerinden belirlenir. (Sınıflandırma, Kümeleme, Birliktelik Kuralları, Şablonların ve İlişkilerin Yorumlanması v.b.) 2.5.4 Ön işleme Bu aşamada seçilen veriler ayıklanarak silinir, eksik veri alanları üzerine stratejiler geliştirilir. Veriler tekrardan düzenlenip tutarlı bir hale getirilir. Bu aşamada yapılan işlem data temizleme ve data birleştirme olarak bilinen uyumlandırma işlemidir. Veri birleştirme (bütünleştirme), farklı veri tabanlarından ya da kaynaklarından elde edilen verilerin birlikte değerlendirmeye alınabilmesi için farklı türdeki verilerin tek türe dönüştürülebilmesi demektir. Bu süreç Şekil 2.1’de gösterilmektedir. 14 Şekil 2.1 : Ön işleme süreci 2.5.5 Veri indirgeme Çözümleme işlemi veri madenciliği uygulamalarında uzun sürebilmektedir. İşlem yapılırken eksik ya da uygun olmayan verilerin oluşturduğu tutarsız verilerle karşılaşılabilir. Bu gibi durumlarda verinin söz konusu sorunlardan arındırılması gerekmektedir. Çözümlemeden elde edilecek sonuçta bir değişiklik olmuyorsa veri sayısı ya da değişkenlerin sayısında azaltmaya gidilir. Veri indirgeme çeşitli biçimlerde yapılabilir. Bu yöntemler Şekil 2.2’de gösterilmiştir [7]. Şekil 2.2 : Veri indirgeme yöntemleri Veriyi indirirken bu verileri çok boyutlu veri küpleri biçimine dönüştürmek söz konusu olabilir. Böylece çözümler sadece belirlenen boyutlara göre yapılır. Veriler 15 arasında seçme işlemi yapılarak da veri tabanından veriler silinip boyut azaltılması yapılır. 2.5.6 Veri dönüştürme Verileri direkt veri madenciliği çözümlerine katmak çoğu zaman uygun olmayabilir. Değişkenlerin ortalama ve varyansları birbirlerinden çok farklıysa büyük ortalama ve varyansa sahip değişkenlerin diğer değişkenler üzerindeki etkisi daha fazla olur. Bu nedenle bir dönüşüm yöntemi uygulanarak değişkenlerin normalleştirilmesi ya da standartlaşması uygun yoldur. 2.5.7 Algoritmanın belirlenmesi Bu aşamada indirgenmiş veriye ve kullanılacak modele hangi algoritmanın uygulanacağına karar verilir. Mümkünse bu algoritmanın seçimine uygun veri madenciliği yazılımı seçilir değilse oluşturulan algoritmaya uygun programlar yazılır. 2.5.8 Yorumlama ve doğrulama Uygulama sonucunda elde edilen veriler üzerine yorumlama yapılır, bu yorumların test verileri üzerinden doğrulanması hedeflenir. Doğruluğu onaylanan bu yorumlar gizli bilgiye ulaşıldığını göstermektedir. Elde edilen bu bilgiler çoğu kez grafiklerle desteklenir. 2.6 Temel Veri Madenciliği Problemleri ve Çözüm Yöntemleri Veri madenciliği uygulaması gerektiren problemlerde, farklı veri madenciliği algoritmaları ile çözüme ulaşılmaktadır. Veri madenciliği görevleri iki başlık altında toplanmaktadır. - Eldeki verinin genel özelliklerinin belirlenmesidir. - Kestirimci/Tahmin edici veri madenciliği görevleri, ulaşılabilir veri üzerinde tahminler aracılığıyla çıkarımlar elde etmek olarak tanımlanmıştır. Veri madenciliği algoritmaları aşağıda açıklanmaktadır. 16 2.6.1 Karakterize etme (Characterization) Veri karakterizasyonu hedef sınıfındaki verilerin seçilmesi, bu verilerin genel özelliklerine göre karakteristik kuralların oluşturulması olayıdır. Örnek: Perakende sektöründe faaliyet gösteren, uluslararası ABC şirketinin binlerce kurumsal müşterisi olsun. ABC şirketinin pazarlama biriminde, büyük kurumsal müşterilere yönelik kampanyalar için her yıl düzenli olarak bu şirketten 10 milyon TL ve üstü alım yapan kurumsal müşteriler hedeflenmektedir. Veritabanından hedef grup belirlenerek genelleme yapılır ve genel kurallar oluşturulur. 2.6.2 Ayrımlaştırma (Discrimination) Belirlenen hedef sınıfa karşıt olan sınıf elemanlarının özellikleri arasında karşılaştırma yapılmasını sağlayan algoritmadır. Karakterize etme metodundan farkı mukayese yöntemini kullanmasıdır. Örnek: ABC kurumsal müşterilerinden her yıl 10 milyon TL ve üstü alışveriş yapan fakat geri ödeme konusunda riskli olan müşteri grubunun belirlenmesi 2.6.3 Sınıflandırma (Classification) Sınıflandırma, veri tabanlarındaki gizli örüntüleri ortaya çıkarabilmek için veri madenciliği uygulamalarında sıkça kullanılan bir yöntemdir. Verilerin sınıflandırılması için belirli bir süreç izlenir. Öncelikle var olan veritabanının bir kısmı eğitim amaçlı kullanılarak sınıflandırma kurallarının oluşturulması sağlanır. Bu kurallar kullanılarak veriler sınıflandırılır. Bu veriler sınıflandırıldıktan sonra eklenecek veriler bu sınıflardan karakteristik olarak uygun olan kısma atanır. Sınıflandırma problemleri için “Oracle Data Miner” (ODM)’ ın uyumlu olduğu çözüm yöntemleri Naive Bayes (NB), Karar Destek Vektörleri (SVM), Karar Ağaçları ve Adaptive Bayes Network(ABN)’ dir. Örnek: XYZ şirketi müşterilerinin alım durumlarını göz önünde bulundurarak, alım gücüne göre “Yüksek”, “Orta”, “Düşük” şeklinde sınıflandırır. Müşterilerinin risk durumlarını sınıflandırmak için de “Risksiz”, “Riskli”, “Çok Riskli” şeklinde etiketlerle sınıflandırılabilir. 17 2.6.4 Tahmin etme (Prediction) Kayıt altında tutulan geçmiş verilerin analizi sonucu elde edilen bilgiler gelecekte karşılaşılacak aynı tarz bir durum için tahmin niteliği taşıyacaktır. Örneğin ABC şirketi geçen yılın satışlarını bölge bazlı sınıflandırmış ve bu sene için bir trend analizi yaparak her bölgede oluşacak talebi tahmin etmiştir. Bu tür problemler için ODM’nin kullandığı regresyon analizi yöntemi SVM’dir. 2.6.5 Birliktelik kuralları (Association rules) Birliktelik kuralları gerek birbirini izleyen gerekse de eş zamanlı durumlarda araştırma yaparak, bu durumlar arasındaki ilişkilerin tanımlanmasında kullanılır. Bu modelin yaygın olarak Market Sepet Analizi uygulamalarında kullanıldığı bilinmektedir. Örneğin bir süpermarkette X ürününden alan müşterilerin büyük bir kısmı Y ürününden de almıştır. Birliktelik kuralı ile bu durum ortaya çıkarılarak, süpermarketin X ve Y ürününü aynı veya yakın raflara koyması sağlanır. ODM bu problem sınıfı için de Birliktelik Kuralları modelini kullanmaktadır. 2.6.6 Kümeleme (Clustering) Yapı olarak sınıflandırmaya benzeyen kümeleme metodunda birbirine benzeyen veri grupları aynı tarafta toplanarak kümelenmesi sağlanır. Sınıflandırma metodunda sınıfların kuralları, sınırları ve çerçevesi belli ve datalar bu kriterlere göre sınıflara atanırken kümeleme metodunda sınıflar arası bir yapı mevcut olup, benzer özellikte olan verilerle yeni gruplar oluşturmak asıl hedeftir. Verilerin kendi aralarındaki benzerliklerinin göz önüne alınarak gruplandırılması yöntemin pek çok alanda uygulanabilmesini sağlamıştır. Örneğin, pazarlama araştırmalarında, desen tanımlama, resim işleme ve uzaysal harita verilerinin analizinde kullanılmaktadır. Tüm bu uygulama alanlarında kullanılması, ODM’nin desteklediği “K-means” ve “O-Cluster” kümeleme yöntemleri ile mümkün kılınmıştır. 2.6.7 Aykırı değer analizi (Outlier analysis) İstisnalar veya sürpriz olarak tespit edilen aykırı veriler, bir sınıf veya kümelemeye tabii tutulamayan veri tipleridir. Aykırı değerler bazı uygulamalarda atılması gereken değerler olarak düşünülürken bazı durumlarda ise çok önemli bilgiler olarak değerlendirilebilmektedir. 18 Örneğin markette müşterilerin hep aynı ürünü iade etmesi bu metodun araştırma konusu içine girer. ODM; temizleme, eksik değer, aykırı değer analizi gibi birçok yöntemi veri hazırlama aşaması içine almakta ve desteklemektedir. 2.6.8 Zaman serileri (Time series) Yapılan veri madenciliği uygulamalarında kullanılan veriler çoğunlukla statik değildir ve zamana bağlı olarak değişmektedir. Bu metot ile bir veya daha fazla niteliğin belirli bir zaman aralığında, eğilimindeki değişim ve sapma durumlarını inceler. Belirlenen zaman aralığında ölçülebilir ve tahmin edilen/beklenen değerleri karşılaştırmalı olarak inceler ve sapmaları tespit eder. Örneğin ABC şirketinin Ocak-Haziran 2009 dönemi için önceki yılın satış miktarları göz önünde tutularak bir hedef ortaya konulmuştur. 2008 ve 2009 değerleri karşılaştırmalı olarak incelenerek sapma miktarı belirlenir. ODM her ne kadar çeşitli histogramlarla kullanıcıya görsel destek sağlasa da tam anlamıyla bu tür problemleri desteklememektedir. 2.6.9 Veri görüntüleme (Visualization) Bu metot, çok boyutlu özelliğe sahip verilerin içerisindeki karmaşık bağlantıların/bağıntıların görsel olarak yorumlanabilme imkanını sağlar. Verilerin birbirleriyle olan ilişkilerini grafik araçları görsel ya da grafiksel olarak sunar. ODM zaman serilerinde olduğu gibi histogramlarla bu metodu desteklemektedir. 2.6.10 Yapay sinir ağları (Artificial neural networks) Yapay sinir ağları insan beyninden esinlenilerek geliştirilmiş, ağırlıklı bağlantılar aracılığıyla birbirine bağlanan işlem elemanlarından oluşan paralel ve dağıtılmış bilgi işleme yapılarıdır. Yapay sinir ağları öğrenme yoluyla yeni bilgiler türetebilme ve keşfedebilme gibi yetenekleri hiçbir yardım almadan otomatik olarak gerçekleştirebilmek için geliştirilmişlerdir. Yapay sinir ağlarının temel işlevleri arasında veri birleştirme, karakterize etme, sınıflandırma, kümeleme ve tahmin etme gibi veri madenciliğinde de kullanılan metotlar mevcuttur. Yüz ve plaka tanıma sistemleri gibi teknolojiler yapay sinir teknolojilerdendir. 19 ağları kullanılarak geliştirilen 2.6.11 Genetik algoritmalar (Genetic algorithms) Genetik algoritmalar doğada gözlemlenen evrimsel sürece benzeyen, genetik kombinasyon, mutasyon ve doğal seçim ilkelerine dayanan bir arama ve optimizasyon yöntemidir. Genetik algoritmalar parametre ve sistem tanılama, kontrol sistemleri, robot uygulamaları, görüntü ve ses tanıma, mühendislik tasarımları, yapay zeka uygulamaları, fonksiyonel ve kombinasyonel eniyileme problemleri, ağ tasarım problemleri, yol bulma problemleri, sosyal ve ekonomik planlama problemleri için diğer eniyileme yöntemlerine kıyasla daha başarılı sonuçlar vermektedir. 2.6.12 Karar ağaçları (Decision trees) Ağaç yapıları esas itibariyle kural çıkarma algoritmaları olup, veri kümelerinin sınıflanması için “if-then” tipinde kullanıcının rahatlıkla anlayabileceği kurallar inşa edilmesinde kullanılırlar. Karar ağaçlarında veri kümesini sınıflamak için “Classification and Regression Trees (CART)” ve “Chi Square Automatic Interaction Detection (CHAID)” şeklinde iki yöntem kullanılmaktadır. 2.6.13 Kural çıkarma (Rules induction) İstatistiksel öneme sahip yararlı “if-else” problemlerini inceler. 20 kurallarının ortaya çıkarılması 3. ORACLE DATA MINER Bu bölümde Oracle Data Miner programı anlatılacaktır. Bunun için ilk olarak “Oracle Data Mining” ve “Oracle Data Miner” (ODM) kavramları açıklanmalıdır. “Oracle Data Mining”, Oracle veritabanı üzerinde çalışan ve kullanıcıların incelemeye uygun tahmini bilgiler üretmesine olanak tanıyan yardımcı bir özelliktir. Kullanıcılar, Oracle 10g Veritabanında gömülü data mining (veri arama) işlevini kullanarak verilerinde gizlenmiş düzen ve bilgileri bulabilirler [8]. Oracle Data Miner (ODM) ise kullanıcılara, değerli gizli bilgileri, şablonları ve yeni kavrayışları bulabilmeleri için yardımcı olan bir grafiksel kullanıcı ara yüzüdür. Bu ara yüz, kullanıcılara, büyük çaplı veriler üzerinde değişik amaçlara yönelik modeller oluşturma, bu modelleri test etme ve değişik veriler üzerinde uygulama yapma imkanı tanır. “Oracle Data Mining” işlemi, Oracle10g ve Oracle 11g sürümleri tarafından desteklenmektedir. Bu nedenle sunucu üzerine Oracle10g veritabanı, istemciye ise ODM paketi yüklenerek veritabanına erişim sağlanmıştır. 3.1 Erişim ODM programının veritabanına bağlanırken karşımıza gelen ekranlar Şekil 3.1’de gösterilmiştir. ODM ilk kez çalıştırıldığında bazı erişim bilgilerinin girilmesi gerekmektedir. 21 Şekil 3.1 : ODM erişim ekranları 3.2 ODM Ana Ekranı ODM programının genel görünüşü aşağıdaki gibidir. Sol tarafta yer alan “Navigator” kısmından modeller, tablolar, testler, sonuçlar ve görevlere erişim sağlanır. Şekil 3.2 : ODM ana ekranı “Mining Activities” katmanında kullanıcılar tarafından oluşturulan “build”,”test” ve “apply ” aktiviteleri görüntülenmektedir. 22 Şekil 3.3 : ODM’de aktivitelerin gösterimi “Data Sources” katmanı, veritabanında bulunan kullanıcılar ve bu kullanıcılara ait tablo ve görünümleri içermektedir. Belirtmek gerekir ki “Oracle Data Mining” işlemine erişim hakkı sadece kurulum sırasında tanımlanan “DMUSER1” kullanıcısına verilmiştir. Bu sebeple üzerinde veri madenciliği çalışması yapılacak tabloların sadece bu kullanıcı ile bağlanılarak veritabanına aktarımı mümkün olabilir. Şekil 3.4 : ODM’de kullanıcıların gösterimi 23 Şekil 3.5 : ODM’de tabloların gösterimi 3.3 Veri Aktarımı ODM ana ekranında “Data Import” yolu ile veritabanına dışarıdan veri aktarımı yapılabilir. Bu yolla text formatındaki (.txt) tablolar veritabanına aktarılarak üzerlerinde çalışma imkanı sağlanır. Şekil 3.6 : ODM’ye veri aktarımı 24 Şekil 3.7 : ODM’ye veri aktarımı 1. aşama, aktarılacak tablonun seçimi Şekil 3.8 : ODM’ye veri aktarımı 2. aşama, tabloda ayracın belirlenmesi 25 Şekil 3.9 : ODM’ye veri aktarımı 3. aşama, veri tiplerinin belirlenmesi Veritabanında herhangi bir tablo görüntülenip, sağ üst köşede bulunan “export” tuşuna basılarak ilgili tablo dışarı aktarılabilir. Bu yolla dışarı alınan tablo yine text formatında (.txt dosyası) olacaktır. Şekil 3.10 : ODM’ye aktarılan tablonun görünümü 26 3.4 İstatistik İşlemleri ODM’de herhangi bir tablo ile ilgili istatistiksel verileri görmek için tablonun format özelliklerinden birini seçmek gerekir. Böylece herhangi bir sütunun maksimum, minimum değerleri, ortalaması, standart sapması, varyansı ve dağıtılmış değerlerin histogramla gösterilmesi sağlanabilir. Histogram, sonuç tablosundaki verilerin sütun grafiğine aktarılması ile oluşan sütun grafikleridir. Bu işlem, veri madenciliği yapılacak tablo hakkında bilgi sahibi olmak için gereklidir. ODM’ de bu amaca yönelik bazı ekran çıktıları Şekil 3.11 ve Şekil 3.12’de verilmiştir. Şekil 3.11 : ODM’de bir tablonun istatistiksel verileri Şekil 3.12 : ODM’deki bir tablonun bir sütunu için histogram örneği 27 3.5 Veri Temizleme ve Hazırlama İşlemleri Veri madenciliği işlemini gerçekleştirmenin öncesinde veri temizliği yapmak gerekmektedir. Bu veri temizliği, ODM’ nin sağladığı değişik fonksiyonlarla yapılır. Bu adım çok kritiktir ve veri madenciliği sürecinin başarılı ya da başarısız olmasında önemli bir rol üstlenir. Veri temizleme işleminde, farklı veri tipleri farklı teknikleri gerektirdiği için, dikkatli bir yaklaşım gerektirmektedir. Veri temizleme eksik, hatalı, çelişkili ve ekstrem kayıtların ortaya çıkarılmasını içerir. Ekstrem kayıtlar, tipik değerlerden önemli ölçüde farklı olan değerlerdir. Örnek olarak, bir kişinin boyunu tanımlayan parametrenin 3 metreye eşit olduğu bir durum gösterilebilir. Eksik kayıtlar ise, veri giriş sistemlerindeki hataların sonuçları olabilir. Eksik verilerin sistematik bir hataya yol açıp açmayacağı kontrol edilmelidir. Örnek olarak, hız ölçüm cihazı arızalanmış ve ölçüm yapmayı bu nedenle durdurmuş olabilir. Hatalı ya da tamamlanmamış veriler bir kere tespit edildiğinde, analizden çıkarılmalı ya da düzeltilmelidir [9]. Ayrıca bir özelliğin, taksit tutarları gibi çok sayıda farklı kayıt içermesi durumunda bu bilgiden daha iyi yararlanmak amacıyla yüksek, orta, düşük gibi gruplara ayrılarak yeni değerler verilebilir. Bazı veri madenciliği algoritmaları, özellikler nümerik olduğunda bu özelliklerin çok farklı değerler almasına karşı duyarlıdır. Örneğin “yaş” genelde 100’ den küçük iken, “gelir” milyon mertebesinde değerler alabilmektedir. Bu durumda belirli hesaplamalar için “gelir” sütununun “yaş” sütununa göre değer ölçüsünden dolayı çok önemli olduğu gibi bir yanılgı ortaya çıkmaktadır. Oysa hem “gelir” hem de “yaş” sütunundaki değerler normalizasyon ile 0-100 aralığına çekilerek birbirleri ile karşılaştırılabilir. ODM bir sütunun nümerik değerlerini belirli bir aralığa göreceli ağırlıkları ile orantılı olarak taşımak için bir normalizasyon fonksiyonu sağlar [10]. Ayrıca verinin model oluşturma ve oluşturulan modelin test edilmesi için bölünmesi gerekebilir. Buna benzer bazı veri hazırlama aşamalarının ekran çıktıları aşağıda verilmiştir. 28 Şekil 3.13 : Verinin model ve test tablolarına ayrılması işleminin 1. aşaması Şekil 3.14 : Verinin model ve test tablolarına ayrılması işleminin 2. aşaması 29 Şekil 3.15 : Verinin model ve test tablolarına ayrılması işleminin 3. aşaması 3.6 Veri Madenciliği Etkinlikleri Bu bölümde model oluşturma, oluşturulan modeli test etme ve modelin yeni veriye uygulanarak sonuçların elde edilmesi aşamaları anlatılacaktır. 3.6.1 Model oluşturma Burada; uygulanacak veri madenciliği problemi, bunun çözümü için geçerli algoritmalar, uygulanacak veri kümesi ve ilgili diğer parametreler seçilerek model oluşturulur. ODM’ de veriler temizlendikten ve değişkenler yeniden düzenlendikten sonra veri madenciliği modeli oluşturulur. Bir veri madenciliği projesinde model oluşturulurken hedeflerin neler olduğu ve hangi tip verilerle nasıl bir veri madenciliği görevini gerçekleştireceği belirlenmelidir. Örneğin projenin; bir sınıflandırma (classification) mı yoksa birliktelik (Association, Market Basket Analyse) projesi mi olacağı gerçeğinden yola çıkılarak model oluşturulmalıdır. Şekil 3.16 : ODM’de model oluşturma yöntemi, fonksiyon tipi seçimi 30 Şekil 3.17 : Algoritma seçimi Şekil 3.18 : Model oluşturma, 1. aşama 31 Şekil 3.19 : Model oluşturma, 2. aşama Şekil 3.19’da verilen ekran model oluşturmanın en önemli adımıdır. Burada hangi sütunun tahmin edilmek istendiği ve bu tahminin diğer hangi sütunlarla yapılacağı seçilmektedir. Dolayısıyla burada tahmini etkilemeyecek olan, örneğin “talep numarası” gibi sütunlar girdi olarak seçilmemeli, sadece tahmini etkileyebilecek sütunların seçilmesine özen gösterilmelidir. 32 Şekil 3.20 : Gelişmiş ayarlar, “Sample” sekmesi Şekil 3.21 : Gelişmiş ayarlar, “Discretize” sekmesi 33 Şekil 3.22 : Gelişmiş ayarlar, “Split” sekmesi Şekil 3.23 : Gelişmiş ayarlar, “Build” sekmesi 34 Şekil 3.24 : Gelişmiş ayarlar, “Test Metrics” sekmesi Yukarıdaki ekran çıktıları ile model oluşturma işlemi tamamlanır. Model oluşturmanın sonuç ekran çıktısı Şekil 3.25’te verilmiştir. 35 Şekil 3.25 : Model oluşturma sürecinin son hali Model oluşturmak veri madenciliği için çok önemli bir aşamadır. Bu aşamada öncelikle hangi tip veriyle, hangi tip veri madenciliği görevinin gerçekleşeceği çok iyi anlaşılmalı ve buna uygun algoritmalar seçilmelidir. 3.6.2 Modelin uygulanması Bu bölümde veri madenciliği probleminin son adımı olarak bir önceki adımda elde edilen modelin yeni veri kümesine uygulanması adımları verilecektir. Bu aşamada oluşturulan model kullanılarak tahminleme yapılır. Tahminleme yapılabilmesi için hazırlanmış bir model ve kurgulanmak için hazır bir senaryoya ihtiyaç vardır. Örneğin, finans kuruluşlarının müşterilerine kredi vermek için yaptığı inceleme senaryosunu düşündüğümüzde, kredi riski üzerine hazırlanmış bir model vardır. Şekil 3.26 : ODM’de modelin uygulanması 36 Şekil 3.27 : Uygulama 1. aşama, uygulama yapılacak modelin seçimi Yukarıdaki ekranda daha önce oluşturulan hangi modelin uygulamasının yapılacağı, aşağıdaki ekranda ise hangi veriye uygulanacağı seçilmektedir. Şekil 3.28 : Uygulama 2. aşama, uygulama yapılacak tablonun seçimi 37 Şekil 3.29 : Uygulama 3. aşama, sonuç tablosunda gösterilecek sütunların seçimi Şekil 3.30 : Uygulama 4. aşama, tahmini yapacak olan aktivitenin seçimi 38 Şekil 3.31 : Uygulama 5. aşama, tahmin yönteminin seçimi Şekil 3.32 : Uygulama 6. aşama, aktivitenin isminin belirlenmesi 39 Şekil 3.33 : Uygulama sürecinin son hali Uygulama ekranının son adımı Şekil 3.33’te verilmiştir. Burada sonuç ekranından “Result”a basılarak elde edilen sonuçlar görülebilir. Şekil 3.34 : Uygulama sonuç tablosu Sonuç ekranında, görülmesi istenenerek seçilen sütunların yanısıra, tahmin (prediction) ve bu tahminin gerçekleşme olasılığı (probability) olmak özere iki ek sütun yer almaktadır. Burada daha önceden sonuçları varolan bir veri kümesi 40 üzerinde uygulama gerçekleştirildiği için, hem tahmin hem de gerçekte müşterinin hangi değeri aldığı (KT_OLUS) görülebilmektedir. Bu bölümde amaç sadece ODM’ yi tanıtmak olduğu için, sonuçlar üzerinde durulmamış ve yeni sonuçların elde edilmesi ve bunların yorumlanması 41 işlemleri 5. bölüme bırakılmıştır. 4. TEMEL KAVRAMLAR VE MATEMATİKSEL ALTYAPI Bu bölümde veri kümesine uygulamak üzere seçilen sınıflandırma modeli Geliştirilmiş Bayesian Ağlar’ ın (Adaptive Bayes Network) açıklanması için öncesinde bu modelin kullandığı Naive Bayes yönteminin matematiksel altyapısından bahsedilmiştir. 4.1 Naive Bayes Yöntemi Sınıflandırma problemlerinin çözümünde kullanılan Naive Bayes yöntemi temel olarak olasılık teorisini kullanmaktadır. Bu bölümde önce yöntemin teorisi, sonrasında da yöntemle ilgili küçük örnekler verilmiştir. 4.1.1 Temel kavramlar Olasılık: Bir olayın olabilirliğinin ölçüsüdür, [0-1] arasında değer alabilir, P ( A) ile gösterilir ve P ( A) 1 , A olayının mutlaka gerçekleşeceğini P ( A) 0 , A olayının gerçekleşmesinin mümkün olmadığını ifade eder. Vektör: Burada kullanacağımız anlamıyla bir vektör x {x1 , x2 , x3 ,..., xm 1 , xm } şeklinde m elemanı ile belirlenen ve i. elemanı xi ile verilen bir büyüklüktür. Veri madenciliği uygulanacak olan veri kümesi aşağıda gösterilen tablonun formatındadır. Tabloda her satır (her kayıt) bir vektör ( xi ) olarak düşünülür, xi vektörünün j. elemanı i. kaydın A j sütunundaki değerine karşı gelir. Son sütun (B) yani y vektörü, veri madenciliği ile tahmin edilmek istenen hedef özelliktir. Dolayısıyla n kayıt ve (m+1) sütundan oluşan bir tabloda her biri m boyutlu n tane belirleyici xi vektörü ve bir tane hedef sütun (B), yani y vektörü vardır. 42 Şekil 4.1 : Bir veri kaydı örneği 4.1.2 Teori Naive Bayes yöntemi ile sınıflandırma koşullu olasılık hesabına dayanmaktadır. Şekil 4.1’ de görüldüğü üzere tüm değerleri belirli geçmiş bir veri kümesinde, B yani sonuç sütunu, diğer Ai , (i 1,..., m) sütunlarına P ( B b j | Ai aik ,...(i 1,..., m)) , olasılıkları hesaplanır, bağlı kabul burada edilerek, j 1,..., s ve k 1,..., mi dir. Bu ifade ile, her biri mi tane farklı gruptan oluşan Ai sütunları aik değerlerini aldıklarında, bu Ai sütunlarına bağlı olarak, B sütununda bulunan s tane farklı grubun b j değerlerinden her birini alma olasılıkları hesaplanmaktadır. Geçmiş veri kümesi yardımıyla hesaplanan bu olasılıklar, yeni gelecek verinin hangi gruba dahil edileceğinin, yani B sütununun tahmininde kullanılacaktır. Konuyu anlaşılır kılmak için, tahmin edici sütun önce bir tane, A1, sonra iki tane, A1, A2 alınarak, B sütununun bunlara bağlı olasılıkları hesaplanarak problem basitleştirilmiş daha sonra ise m sütun alınarak problem genelleştirilmiştir. Öncelikle koşullu olasılık kavramının açıklanması gerekmektedir. A ve B iki olay olmak üzere, bu olayların olma olasılıkları P ( A) ve P ( B ) ile verilir. Eğer A ve B olaylarının gerçekleşmesi birbirine bağlı değilse, bu iki olayın birlikte olma olasılığı 43 P ( A, B ) P ( A) P ( B ) (0.1) ile verilir. Örneğin A olayı, o gün havanın yağmurlu olması ve B olayı ise atılan bir madeni paranın yazı gelme olasılığı ise, bu iki olay birbirinden bağımsızdır ve bu iki olayın birlikte olma olasılıkları her bir olayın olma olasılıklarının çarpımına eşittir. Eğer A ve B olayları birbirine bağlı ise, bu iki olayın birlikte olma olasılıkları; A’ nın olma olasılığı ile A’ dan sonra B’ nin olma olasılığının çarpımı ile yani P ( A, B) P( A) P( B | A) (0.2) veya B’ nin olma olasılığı ile B’ den sonra A’ nın olma olasılığının çarpımı ile yani P ( A, B) P( B ) P( A | B ) (0.3) ile verilir. Dolayısıyla buradan (0.2) ve (0.3) denklemleri birbirine eşitlenerek, A olayından sonra B olayının olma olasılığı P( B | A) P( B) P( A | B) P( A) (0.4) ile verilir. Örneğin A olayı havanın yağmurlu olması, B olayı ise Ali’ nin balığa çıkma olayı ise, B olayının A olayına bağlı olduğu açıktır ve A olayından sonra B olayının olma olasılığı yani hava yağmurlu iken Ali’ nin balığa çıkma olayı (0.4) ifadesiyle hesaplanır. Bir olayın olması ve olmaması olasılıkları toplamı P( B ) P ( B ) 1 dir. Burada “ ” üst indisi B olayının değilini göstermektedir. Dolayısıyla Ali hava yağmurlu iken balığa çıktığı gibi, yağmur yağmazken de balığa çıkabilir, yani bir B olayına bağlı olarak A olayının olma olasılığı P ( A) P( A, B) P( A, B ) P( B) P( A | B) P( B ) P( A | B ) (0.5) şeklinde verilir. Bu ifade, (0.4)’ te kullanılırsa, P( B | A) P( B) P( A | B) P ( B) P( A | B ) P( B ) P( A | B ) (0.6) elde edilir. Eğer A ve B olayları farklı değerler alabiliyorsa, örneğin Ali’ nin balığa çıkması (b1), işe gitmesi (b2), spor yapması (b3) gibi üç farklı B olayı varsa bu durumda P( B b1 ) P( B b2 ) P( B b3 ) 1 dir. (0.5) ifadesine benzer bir şekilde bu kez A olayı r tane ayrık ak ve B olayı s tane ayrık b j değeri alıyorsa; 44 s s j 1 j 1 P A ak P ( A ak ), ( B b j ) P B b j P ( A ak ) | ( B b j ) (0.7) elde edilir. (0.7) ifadesi (0.4)’ te yerine yazıldığında ise, P ( B b j ) | ( A ak ) P B b j P ( A ak ) | ( B b j ) (0.8) s P B b P A | (B b ) k k 1 k elde edilir. (0.8) ifadesinin A ve B olaylarının ikiden fazla değer alabildikleri durum için (0.6) ifadesinin genelleştirilmiş hali olduğu açıktır. Bu ifade Şekil.4.1’ de verilen tabloda B sonuç sütununu tahmin edici tek bir A1 sütunu olması halinde B sütununun alabileceği değerlerin olasılıklarının hesaplanmasında kullanılır. Ancak gerçek hayatta sadece biri tahmin edici, diğeri hedef sütun olmak üzere iki sütun olması değil, hedef sütunu tahmin edici birçok sütun bulunması beklenir. Bu nedenle (0.8) ifadesinde A gibi sadece bir tahmin edici sütun yerine m tane Ai sütunu olduğunu ve bunların her birinin ri tane bağımsız değer alabildiği yani örneğin A1 sütunu r1 5 , A2 sütunu r2 3 farklı değer alabildiğini varsayalım. Bu durumda (0.8) ifadesinde A yerine A1 , A2 ,..., Am gibi m tane olay alınırsa; P B b j | A1 a1 j1 , A2 a2 j2 ,..., Am amjm P B b j P A1 a1 j1 , A2 a2 j2 ,..., Am amjm | B b j s PB b P A a k 1 k 1 1 j1 , A2 a2 j2 ,..., Am amjm | B bk (0.9) ifadesi elde edilir. Tahmin edici her sütunun yani her Ai olayının birbirinden bağımsız olduğu kabulü yapılırsa, sonuç olarak m P( B bk | A1 a1 j1 , A2 a2 j2 ,..., Am amjm ) P( B bk ) P( Ai aiji | B bk ) i 1 m P ( B b ) P( Ai aiji | B br ) r r | br B i 1 (0.10) ifadesi elde edilir. Burada ji 1,..., mi ve k 1,..., s için bu olasılık değerleri hesaplanmalıdır, ayrıca r | br B terimi hedef sütunun alabileceği tüm farklı değerler üzerinde toplam alınacağını ifade etmektedir [10]. 45 4.1.3 Örnekler Örnek 1) Tek boyut için: Yapılan bir anket sonucunda 1000 deneğin gelir durumları “düşük”, “orta”, “iyi” ve “yüksek” olarak gruplanmış ve “Ev sahibi” olup olmadıkları ise ikinci bir sütunda Tablo 4.1a’ da ki gibi belirtilmiş olsun. Her ne kadar, ODM bu olasılık hesaplarını arka planda otomatik olarak işleyip kullanıcıya sadece sonucu bildirse de, burada amaç doğrultusunda arka planda neler döndüğü açıklanmıştır. Burada kısaltma amacıyla Gelir=G, Evet=E, Hayır=H şeklinde sembolize edilecektir. Tablo 4.1a verisinden elde edilen her farklı gruptaki kişi sayısı Tablo.4.1b ile gösterilmiştir. Tablo 4.1a : Gelir-Mülk ilişkisi Gelir Düşük Orta Yüksek İyi İyi . . Tablo 4.1b : Her gruptaki kişi sayısı Ev Evet Evet Hayır Hayır Evet . . Gelir Düşük Orta İyi Yüksek Ev=E 200 100 130 110 Ev=H 130 220 100 10 Tablo 4.1b yardımıyla sözü edilen olasılıklar (0.8) ifadesi kullanılarak; olarak hesaplanabilir. Burada bu sonuçlar çok daha kolay bir şekilde Tablo 4.1b’ den de görülmektedir. Fakat hem hedef özelliğin ikiden fazla hem de kestirimci özellik sayısının birden fazla olduğu durumlarda tablodan okuma zorlaşacak ve yukarıdaki formülün uygulanması gerekecektir. Benzer şekilde diğer olasılıklar da hesaplanarak; 46 yazılabilir. Yukarıdaki hesaplamaların ODM’ nin elde ettiği sonuçlarla karşılaştırılabilmesi için Naive Bayes modeli oluşturulurken Discretize, Sample ve Split adımları atlanmalı, Cost Matrix seçeneği de kaldırılmalıdır. Ayrıca normalde ODM’ de model oluşturulurken Apply aktivitesinde kullanılan tablo Build aktivitesinde kullanılandan farklı olmalıdır, çünkü Apply aktivitesindeki amaç yeni veri için tahmin kolonunun oluşturulmasıdır. Fakat burada sadece sonuçların doğruluğunun görülmesi amaçlandığından Apply aktivitesi de aynı tabloya uygulanmıştır. Aşağıda ODM’ nin bu örneğe uygulanması sonucu elde edilen ekran çıktısı verilmiş, sonuçların aynı olduğu gözlenmiştir. 47 Şekil 4.2 : Örnek 1’in ekran çıktıları ODM, Naive Bayes yöntemiyle sınıflandırmaya mümkün olan her durum için olasılıkları hesaplayarak bir model oluşturup, bu modeli yukarıdaki gibi aynı tablo üzerinde veya yeni kayıtların durumunu tespit için kullanmaktadır. Modelin doğruluğunun test edilmesi amacıyla formüllerle yapılacak işlemlerde aynı veri ve hesaplanan olasılıklar kullanılarak yeni tahmin tablosu oluşturulabilir. Örneğin geliri düşük olanın ev sahibi olma olasılığı 0.6061 olarak hesaplandığı için tahmin evet ve sonucun güvenilirliği 0.6061’dir. Geliri orta olan kişinin ev sahibi olma olasılığı ise 0.3125 olduğu için modelin tahmini hayır ve sonucun güvenilirliği 0.6875 olacaktır. Bu şekilde işleme devam edilerek 48 tüm tablo yeniden oluşturulur. Tablo 4.2 : Tablo 4.1a’ nın yapılan hesaplamalarla elde edilen test sonuçları Gelir Ev Tahmin Güvenilirlik Düşük Evet Evet 0.6061 Orta Evet Hayır 0.6875 Yüksek Hayır Evet 0.9167 İyi Hayır Evet 0.5652 İyi Evet Evet 0.5652 . . . . Modelin tüm güvenilirliği ise gerçek değerler ile tahmini değerlerin karşılaştırılması sonucu elde edilen aşağıdaki güvenilirlik matrisi ile verilebilir. Tablo 4.3 : Güvenilirlik matrisi E H E 440 100 H 240 220 Tablo 4.3’te görülen güvenilirlik matrisinde satırlar gerçek değerleri, sütunlar ise tahmin sonuçlarını göstermektedir. Örneğin gerçekte evi varken, modelin de evet yani “evi var” olarak tahmin ettiği kayıt sayısı 440 (doğru), gerçekte evi varken modelin hayır olarak tahmin ettiği kayıt sayısı (yanlış) 100 dür. Dolayısıyla matrisin köşegeni doğru kayıt sayısını, köşegen dışı ise yanlış kayıt sayısını göstermektedir. Buradan modelin doğruluğu olarak elde edilir. Modelin güvenilirliği ODM kullanılarak da hesaplanabilir. Ancak ODM ile model oluştururken verinin bir kısmını model, bir kısmını test için ayırma zorunluluğundan dolayı yukarıdaki veri %60 oranında model, %40 oranında test için ayrılarak ODM’ den elde edilen güvenilirlik sonucu aşağıdaki ekran çıktısında verilmiştir. Model, formüllerle hesaplanan duruma göre daha az veri kullandığı için güvenilirliğin biraz daha kötü çıkması doğaldır. 49 Şekil 4.3 : Örnek 1’in ODM ile güvenilirliği Örnek 2) İki Boyut için: Yapılan bir anket sonucunda 100 deneğin gelir durumları “Düşük”, “Orta” ve “Yüksek”; üniversite mezunu olup olmamaları ise “Evet” ve “Hayır” olarak belirlenmiş ve bu özelliklerdeki deneklerin haftalık televizyon izleme süreleri ise “İzlemiyor”, haftada 5 saatten az izliyorsa “Az”, 5 saatten fazla izliyorsa “Çok” olarak belirlenip 3. bir sütunda verilmiş olsun (Tablo 4.4). Kayıtların dağılımı Tablo 4.5’ te verilmiştir. Tablo 4.4 : Model Verisi Gelir Yüksek Orta Düşük Orta Düşük . . Eğitim Hayır Evet Evet Hayır Hayır . . Tv izleme İzlemiyor Az Az Çok Çok . . Tablo 4.5 : Kayıt Dağılımları Gelir Eğitim Tv izleme Düşük Düşük Orta Orta Yüksek Yüksek Düşük Düşük Orta Orta Yüksek Yüksek Düşük Düşük Orta Orta Yüksek Yüksek Hayır Evet Hayır Evet Hayır Evet Hayır Evet Hayır Evet Hayır Evet Hayır Evet Hayır Evet Hayır Evet 50 İzlemiyor İzlemiyor İzlemiyor İzlemiyor İzlemiyor İzlemiyor Az Az Az Az Az Az Çok Çok Çok Çok Çok Çok Kayıt Sayısı 5 1 0 1 1 4 3 6 21 10 6 15 0 2 0 1 4 20 Tablo 4.5 yardımıyla üniversite mezunlarının gelir verileri de kullanılarak televizyon izleme süreleri (0.10) ifadesiyle belirlenmeye çalışılmıştır. Burada iki belirleyici özellik olduğundan (0.10) ifadesi bu tabloya uygun formda yazılmalıdır. Burada T=Tv izleme, G=Gelir, E=Eğitim, D=Düşük, Y=Yüksek, O=Orta, İ=İzlemiyor, A=Az, Ç=Çok’ u ifade etmektedir. (0.10) ifadesi örneğe uygulandığında, sonucu elde edilir. Bu sonuca göre geliri düşük ve üniversite mezunu olmayan kişiler %38.85 olasılıkla televizyon izlemeyen gruptan olacaktır. Benzer şekilde diğer bazı olasılıklar da hesaplanırsa; P (T İ | G Y , E Evet ) 0 .0744 P (T İ | G O , E H ) 0 . 0253 P (T A | G Y , E Evet ) 0 .3175 P (T Ç | G O , E H ) 0 . 0093 P (T İ | G D , E Evet ) 0 .3234 P (T İ | G Y , E H ) 0 .1526 Yukarıdaki hesaplamalarla ODM’ nin elde ettiği sonuçları karşılaştırmak için aşağıda ODM’ nin bu örneğe uygulanması sonucu elde edilen ekran çıktısı verilmiştir ve yukarıdaki sonuçlarla tutarlı olduğu görülmektedir. 51 Şekil 4.4 : Örnek 2’nin ekran çıktıları 4.2 Geliştirilmiş Bayesian Ağlar Yöntemi (Adaptive Bayes Network – ABN) Veri kümesine uygulanmak üzere seçilen Geliştirilmiş Bayesian Ağlar yöntemi, Naive Bayes yöntemi gibi olasılık hesabına dayanır. ABN, ODM’ ye özel, Naive Bayes’ e göre daha iyi sonuç veren bir yöntemdir. NB yöntemine göre en önemli avantajı, burada hangi kolonların sonuç kolonuna daha çok etki ettiği, hangi kolonların sonucu belirlemede gereksiz olduğu hatta gürültü teşkil ettiğinin saptanarak sadece sonuca etkili kolonların yardımıyla bir model oluşturmasıdır. Kolonların sonuca etkisinin belirlenerek, önemine göre sıralanması ODM’ de “Attribute Importance – AI” adı verilen işlemler bütünü ile yapılır. AI’ ın 52 açıklanması bir sonraki bölümde verilmiştir. ABN yöntemi AI hesaplamasını içerdiğinden ayrıca AI uygulanmasını gerektirmez. ABN yöntemi kullanıcıya üç ayrı model oluşturma seçeneği sunar. Bunlar; Naive Bayes Build, Multi Feature Build ve Single Feature Build’dir. Naive Bayes Build, NB yönteminin aynısıdır. Multi Feature Build yönteminin uygulama sistematiği ise şu şekildedir; 1. AI formunu kullanarak her özellik için bir önem derecesi belirleyerek, önem derecelerine göre özellikleri sıralar. 2. Verilmiş parametre değerlerini ve sıralı listeden kullanıcı tarafından belirlenen ilk (NB predictors) kadar özelliği alarak bir NB modeli oluşturur. 3. ABN, eklenen yeni özelliklerin sayısı modelin doğruluğunu artırmadığı ana kadar bir döngüye girer. a. Yeni model oluşturma işleminin her aşamasında yani her bir özellik modele eklendiğinde, bir önceki adımla (temel NB modeliyle ve o özellik eklenmeden önceki özellikleri içeren modelle) karşılaştırarak test eder. b. Eğer modelin doğruluğunda hiçbir gelişme olmamış ise o özellik göz ardı edilir. NB predictors’ a girilen sayı kadar özellik denendiğinde durur. 4. (3) döngüsü bittiği anda, artık doğruluğu artırmayacak veya kullanıcının tercih ettiği kadar özellik işleme katılmış, bu özelliklerle model oluşturulmuş olur. Aynı zamanda modelin inşa zamanına sınırlama getirilebilir. Modeli oluşturmak için harcanan zaman kullanıcı tarafından belirlenen bu değeri aştığı anda modelin inşası o andaki işlemi tamamlayıp, bir sonraki en uygun noktada bitirilir. Single Feature Build yönteminde ise sınıflandırma modeli oluşturulmaz, sadece AI önem sıralamasında en üstteki özellik ile ilişkili kurallar oluşturulur. 4.3 Özelliklerin Önem Sıralaması (Attribute Importance- AI) ODM’ nin kullanıcılarına sunduğu AI, her özelliğin yani her tahmin edici sütunun sonuç sütunu üzerinde etkisini ölçerek elde edilen ölçüm değerlerine göre tahmin edici sütunları önem sırasına göre sıralayan bir uygulamadır. Sınıflandırma modellerinde, özellikle tahmin edici sütun sayısının çok fazla olduğu durumlarda, birçok sütunun hedef sütun üzerinde etkisi olmayabilir hatta bu sütunlar modelin doğruluğuna negatif etki edebilir. Negatif etkisi olan kolonların AI ile belirlenip modelden çıkarılması modelin doğruluğunu artırır. 53 5. UYGULAMA VE SONUÇLAR Bu bölümde bir finans kuruluşundan alınan kredi kayıtları üzerine yapılan modellemenin adımları anlatılmıştır. 2007 yılında açılan tüm kredileri içeren tablo, otomotiv kredileri ve dayanıklı tüketim kredileri olarak ayrılmıştır. Modellemenin öncelikle otomotiv kredileri üzerinde yapılmasına karar verilmiştir. Bu karar, otomotiv kredileri daha yüksek tutarlar içerdiğinden ve firmada sonraki yıllarda daha çok işlem gördüğünden ötürü verilmiştir. 40678 kayıt içeren tabloda müşteriler talep numaraları ile belirtilmiştir. Her bir kayıt için kredi tutarı, vade, taksit tutarı, kat edilen taksit sırası, görev, yaş, OG adedi, GO adedi, GA adedi, IT adedi, IT* adedi, KT adedi bilgileri bulunmaktadır. 5.1 Veri Tablosunun Hazırlanması Sınıflandırma probleminin daha iyi sonuç vermesi için sürekli değerler alan nümerik verilerin ayrık aralıklara bölünmesi gerekir. Bu durum göze alınarak tablodaki KREDI TUTARI ve YAS sütunlarındaki bilgiler hem ODM’de “Discretize” kullanılarak hem de kendi belirlediğimiz aralıklara göre gruplanmış, modellemede ikinci durum için daha iyi sonuç alındığı gözlenmiştir. Bu nedenle, modellemede ODM’nin “Discretize” özelliği kullanılmamış, veri tablosundaki bahsi geçen sütunlar belirlenen aralıklara göre gruplanarak üzerine model kurulmuştur. Belirlenen aralıklara göre gruplamalar aşağıdaki tablolarda gösterilmiştir. TAKSIT TUTARI sütunu modellemede kullanılmadığından gruplanmamıştır. 54 Tablo 5.1 : Kredi tutarlarına göre gruplama Kredi Tutarı Verilen Değer 0-5000 DDD 5000-20000 DD 20000-50000 D 50000-100000 Y 100000-500000 YY 500000 ve üstü YYY Tablo 5.2 : Yaşa göre gruplama Yaş Verilen Değer 18-25 G 25-45 O 45 ve üstü Y Boş veriler B ODM’nin işlem yapmasını kolaylaştırmak için uzun karakter dizilerinden oluşan GOREV sütunu alfabetik olarak sıralanıp boş olan kayıtlar da dahil olmak üzere numaralandırılmıştır. Ancak belirtmek gerekir ki bu numaralandırma, ODM tarafından nümerik olarak değil kategorik olarak algılanmaktadır ve GOREV sütunundaki hiçbir kaydın diğerine göre önem üstünlüğü yoktur. Sınıflandırma probleminde “Build” aktivitesinin uygulanacağı tablonun iyi ve kötü kayıtları eşit miktarda içermesi gerekmektedir. Burada iyi krediler KT olmayanlar, kötü krediler ise KT olanlar olarak seçilmiştir. Bir müşterinin KT olup olmadığının belirlenmesi için KT_ADET sütunundan yararlanarak 0 (KT olmamış) ve 1 (KT olmuş) değerlerini alan KT_OLUS sütunu oluşturulmuştur. Buna göre 40678 kayıt içerisinden 5869 kaydın KT olduğu görülmüştür. İyi ve kötü kayıt sayılarının eşit olmadığı tablo, ODM’ nin “Data Transform Split” özelliği kullanılarak %60 Build ve %40 Test olarak bölünmüştür. Daha sonra “Data Transform Stratified Sample” özelliği kullanılarak “Build” tablosundaki KT olan ve olmayan kayıtların sayısı eşitlenmiştir. Yine sınıflandırma probleminin özelliğinden dolayı test tablosunda bu şekilde bir eşitleme yapılmamalıdır. Yapılan işlemlerin adımları aşağıda gösterilmiştir. 55 Şekil 5.1 : Transformation, 1. aşama İlk aşamada, KT olan ve olmayan kayıtların sayılarının eşitleneceği tablo seçilir. Tabloda her kayıt için tek bir satır bulunduğundan “Single Record Per Case” seçenek düğmesi seçili halde bırakılmıştır. Şekil 5.2 : Transformation, 2. aşama 56 Sonraki aşamada, işlem sonunda oluşacak olan yeni tabloya isim verilir. Burada KT olan ve olmayan kayıtların sayıları eşitleneceği için “dengeli” anlamına gelmesi açısından tablo adının sonuna “d” eklenmiştir. Yapılan işlem sonunda görüntü (view) değil tablo oluşturulacağından “Tables” seçeneği işaretli halde bırakılmıştır. Şekil 5.3 : Transformation, 3. aşama Bir sonraki adımda, dengeleme işleminin hangi sütundaki veriler için yapılacağı seçilir. KT olan ve olmayan kayıtların sayıları eşitleneceği için KT_OLUS seçilmiştir. Eğer istenirse, seçilen sütunun içerdiği verilerin dağılımını görmek için “Histogram”a tıklanır ve Şekil 5.4’te görülen ekrandaki gibi bahsi geçen sütundaki her bir değerin sayısı ve dağılım içindeki yüzdesi görüntülenir. 57 Şekil 5.4 : KT_OLUS için histogram Şekil 5.5 : Transformation, 4. aşama Sonraki adıma geçildiğinde, sütunda farklı değer alan kayıtların sayısı eşitlenmek istendiği için “Equal Distribution” seçeneği seçilmiştir. 58 “Equal Distribution” seçildikten sonra, farklı değer alan kayıt sayılarının eşitlendiği görülür. Bu eşitleme, hangi değer için kayıt sayısı azsa o sayıya göre yapılır ve Şekil 5.6’daki gibi görüntülenir. Şekil 5.6 : Transformation, eşit değerlerle 4. aşama Eşitleme yapıldıktan sonra “Data Show Summary Single Record” yoluyla, değiştirilen tablo daha sonra KT_OLUS seçilip histograma tıklanarak değerler kontrol edilebilir. Şekil 5.7 : KT_OLUS için eşit değerlerle histogram 59 5.2 Model Oluşturma Veri tablosu üzerinde yapılan veri temizleme, gruplama ve dengeleme işlemleri sonrasında problemin yapısının sınıflandırma modeline uygun olduğu belirlenmiş ve bu bilgiler fonksiyon tipi olarak “Classification”, çözüm algoritması olarak da “Adaptive Bayes Network” seçilerek “O7_grpl_Bd” için model oluşturma aşamaları ekran çıktıları ile birlikte aşağıda verilmiştir. Şekil 5.8 : Fonksiyon tipi seçimi Şekil 5.9 : Algoritma seçimi 60 Şekil 5.10 : Model oluşturma, 1. aşama Model dengelenmiş tablo üzerinde oluşturulacağından “O7_grpl_Bd” isimli tablo seçilmiştir. “Unique Identifier” kısmı zorunlu olup, tabloda benzersiz değerlere sahip olan sütun “Single Key” olarak seçilir. Bu tabloda benzersiz değer TALEP_NO sütunudur. Bu modelde kullanılacak sütunlar KREDI_TUTARI, VADE, GOREV, YAS, OG_ADET, GO_ADET, GA_ADET, IT_ADET ve IT*_ADET olarak belirlenmiştir. Burada KAT_EDILEN_TAKSIT_SIRA ve KT_ADET sütunları sonucu etkilememeleri için modele dahil edilmemiş fakat yorumlama aşamasında kullanılmak üzere tablodan çıkarılmamıştır. yorumlama aşaması için saklanmıştır. 61 TAKSIT_TUTARI sütunu da Şekil 5.11 : Model oluşturma, 2. aşama Hedef sütun olarak KT_OLUS seçilmiş ve tahmin edici özellik olarak seçilmemesi gereken TALEP_NO ve KT_OLUS özellikleri girdi olarak alınmamıştır. Şekil 5.12 : Tercih edilen hedef değer seçimi Tercih edilen hedef değeri “1” yani KT olan müşteriler olarak seçilerek bir sonraki adımda modele ismi verilmiştir. Şekil 5.13 : Modelin ismini belirleme 62 Şekil 5.14 : Gelişmiş ayarlar, “Sample” sekmesi Son adımda yer alan “Advanced Settings” seçilerek model oluşturma aşamasında yürütülecek adımlar üzerinde gerekli ayarlar yapılmıştır. Tabloda çok fazla sayıda kayıt bulunduğu durumlarda kullanılan ve bu kayıtların içinden bir örneklem kümesi seçmeye yarayan “Sample” özelliği programda varsayılan olarak zaten seçili değildir ve aynı şekilde bırakılır. Şekil 5.15 : Gelişmiş ayarlar, “Discretize” sekmesi Bölüm 5.1’de anlatıldığı üzere çok fazla sayıda ve farklı değerler alan sütunları gruplandırmaya yarayan “Discretize” kalmamasına dikkat edilmiştir. 63 özelliği kullanılmayacağından seçili Şekil 5.16 : Gelişmiş ayarlar, “Split” sekmesi “Split” sekmesi, test için ayrılacak veri yüzdesini ayarlamak içindir. Bölüm 5.1’de de bahsedildiği gibi, veri tablosu, ODM’ nin “Data Transform Split” özelliği kullanılarak %60 Build ve %40 Test tabloları olarak bölünmüş olduğundan bu işlemi gerçekleştirmeye yarayan “Split” seçeneğini kaldırmak için kendinden seçili olan “Enable Step” butonuna tıklanıp çalışmaması sağlanmıştır. Yukarıdaki tanımlar çerçevesinde, bu uygulama için “Sample”, “Discretize” ve “Split” seçeneklerinin kullanılmaması gerektiği açıktır ve bu nedenle modelde bunların seçili olmamasına dikkat edilmiştir. Şekil 5.17a : Gelişmiş ayarlar, “Build General” sekmesi “Build” ayarları iki bölüme ayrılmıştır. “General” sekmesinde, modelin genel doğruluğu artırıcı yönde mi (“Maximum Overall Accuracy”), yoksa her bir hedef değer için yüksek tahminde bulunan ve ortalama doğruluğu artırıcı yönde mi (“Maximum Average Accuracy”) olacağı seçilir. Örneğin model, karlı olmayan müşteri tahminini yüksek doğrulukla yaparken karlı müşteri tahminini daha düşük doğrulukla yapıyor olabilir. Açıktır ki modelin hedef olarak seçilen sütundaki her bir 64 değeri yüksek doğrulukla tahmin etmesi istenecektir. Bu sebeple “Maximum Average Accuracy” seçeneği model kurulurken varsayılan olarak seçilidir ve o şekilde bırakılmıştır [11]. Şekil 5.17b : Gelişmiş ayarlar, “Build Algorithm Settings” sekmesi Model tipi için üç ayrı seçenek bulunmaktadır ve varsayılan seçenek “Single Feature”dır. Fakat modelde tahminleme yapmak için birden fazla özellik kullanılacağından burada “Multi Feature” seçeneği seçilmiştir. “Multi Feature” seçeneği seçildiğinde, Bölüm 4.4’ te anlatılan ve modelin arka planda gerçekleştirdiği “Attribute Importance” fonksiyonuna göre önem sıralaması yapılan sütunlar tahminlemeye katılmaya başlanır. Her bir özellik tahminlemeye katıldığında bir önceki adımla karşılaştırılır ve modelin doğruluğunda bir artış yapıp yapmadığına bakılır. Bu şekilde devam ederek yeni eklenen özelliğin modelin doğruluğunda bir artış yapmadığı görülünce model tamamlanmış olur [11]. Belirtmek gerekir ki bütün bu süreci, ODM arka planda gerçekleştirir, yani kullanıcıya sadece hangi model tipini seçeceğine karar vermek kalır. 65 Şekil 5.18a : Gelişmiş ayarlar, “Test Metrics” sekmesi “Test Metrics” sekmesinde bulunan “Cost Matrix” seçeneği de seçilmelidir, çünkü burada tahmin edilecek olan KT_OLUS sütununda 1 değerlerinin 0’a göre daha iyi tahmin edilmesi istenmektedir. “Use Cost Matrix” seçeneğinin altındaki “Edit” tuşuna basılarak modelde kullanılan cost matrix Şekil görüntülenebilir. Şekil 5.18b : “Cost Matrix”in görüntülenmesi 66 5.18b’deki gibi Modelde, yanlış-negatif tahminler engellenmek istendiği için matrisin sol alt köşesinde bulunan katsayının sağ üst köşesinde bulunan katsayıya göre daha büyük olması gerekmektedir. Örneğin, yanlış-negatif tahminin verdiği zarar, yanlış-pozitif bir tahminin verdiği zararın 6 katı olan bir cost matrix olsun. “Evet” tahminin olasılığının 0.8 olduğu kabul edilsin. Böylece yanlış-negatif bir tahminin vereceği zarar 0.2 * 6 = 1.2 olarak bulunurken, yanlış-pozitif bir tahminin vereceği zarar ise 0.8 * 1 = 0.8 olarak hesaplanır. Böylece model tarafından, düşük zararlı “Evet” tahmini yapılacaktır [12]. Böylece yanlış-negatif bir tahminin modele verdiği zarar, yanlış-pozitif bir tahminin modele verdiği zarardan daha büyük olarak hesaplanacak ve yanlış-negatif tahminler azalacaktır. Gelişmiş ayarlar yapıldıktan sonra model oluşturma süreci başlatılır. Bu sürecin tamamlanmış hali Şekil 5.19’da görüldüğü gibidir. Şekil 5.19 : Model oluşturma sürecinin son hali 5.3 Modelin Testi Burada ayrılmış olan test verisine, oluşturulan model uygulanmakta ve tahmin edilen değerler gerçek değerlerle karşılaştırılarak, kurulan model için bir güvenilirlik değeri hesaplanmaktadır. 67 Şekil 5.20 : Test aktivitesi 1. aşama, test edilecek modelin seçimi İlk aşamada, bir önceki bölümde oluşturmuş olduğumuz model test edilmek üzere seçilmiştir. Şekil 5.21 : Test aktivitesi 2. aşama, testin uygulanacağı tablonun seçimi Sonraki aşamada ise oluşturulan modelin, üzerinde test yapılacak tablo olarak “O7_grpl_T” belirlenmiştir. Bu tablo, “Data Transform Split” yoluyla oluşturulmuş olan ve bütün verinin %40’ ını içeren test tablosudur. Şekil 5.22 : Test aktivitesi 3. aşama, tercih edilen hedef değerinin seçimi 68 Üçüncü adımda, tercih edilen hedef değer aynı model oluşturulurken yapıldığı gibi “1” olarak seçilmiştir ve sonraki adımda Şekil 5.23’te görüldüğü gibi test aktivitesine isim verilmiştir. Şekil 5.23 : Test aktivitesi 4. aşama, aktivitenin isminin belirlenmesi Test aktivitesinin tamamlanmış hali aşağıdaki gibidir. Şekil 5.24 : Test aktivitesinin son hali Bu ekranda, “Test Metrics” bölümünün altında yer alan “Result” a tıklanarak test sonuçları aşağıdaki gibi görüntülenebilir. 69 Şekil 5.25 : Testin sonucu, “Predictive Confidance” sekmesi Şekil 5.25’te sonuç kısmının ilk sekmesi olan “Predictive Confidence” görüntülenmiştir. Bu sonuç modelin, bir insanın rastgele yapacağı tahmine karşı ne kadar etkili olduğunun görsel halidir. Örneğin, model kurulan tabloda hedef sütunundaki verilerin %40’ ı “1” değerine, %60’ı “0” değerine sahipse rastgele bir değer tahmini yapıldığında %40 oranında başarı beklenir. Fakat tahminlemede, oluşturulan model kullanılırsa başarı oranının yaklaşık %80.37 olacağı görülmüştür [11]. Şekil 5.26a : Testin sonucu, “Accuracy” sekmesi “Accuracy” sekmesine tıklandığında, modelin test tablosuna uygulandığında elde edilen sonucun doğruluk oranları görüntülenir. Tahmin edilmek istenen hedef sütunundaki gerçek değerler bilinmektedir, böylece modelin yaptığı tahminler gerçek 70 değerlerle karşılaştırılabilir. Modelde, KT_OLUS değeri “0” olan 14006 kişi vardır ve model bunların %81.07’ sini doğru olarak tahmin etmiştir. Aynı şekilde KT_OLUS değeri “1” olan 2427 kişiden %99.3’ ünün tahmini doğru olarak yapılmıştır. “Show Cost” butonuna tıklandığında, yanlış tahminin modele vereceği zarar aşağıdaki gibi görüntülenir. Düşük “Cost” değeri, modelin başarılı olduğu anlamına gelir [11]. Şekil 5.26b : Testin sonucu, “Accuracy”de cost’un görüntülenmesi 71 Şekil 5.26c : Testin sonucu, “Accuracy”de güvenilirlik matrisinin görüntülenmesi Sonraki adımda “More Detail” a tıklanarak güvenilirlik matrisi (Confusion Matrix) görüntülenmiştir. Bu matriste, hedef sütunundaki gerçek değerler ile modelin test tablosuna uygulanarak yapılan tahmin değerlerinin sayısı gösterilmektedir. Test tablosundaki KT_OLUS’un gerçek değerleri bilinmektedir ve bu değerler güvenilirlik matrisinin satırlarındaki değerlerdir. Matrisin sütunları ise modelin yapmış olduğu tahminleri göstermektedir. Örneğin, matrisin sol alt köşesinde yer alan 17 sayısı yanlış-negatif tahminleri, yani gerçek değer 1 iken 0 şeklinde tahmin edilen hedef sayısını gösterir. Buna benzer olarak sağ üst köşede bulunan 2651 sayısı ise yanlış-pozitif tahminleri, yani gerçek değer 0 iken 1 şeklinde tahmin edilen hedef sayısını göstermektedir [11]. Matrisin köşegenindeki sayılar ise doğru olarak yapılan tahmin sayılarıdır. Şekil 5.26d : Testin sonucu, “Accuracy”de detaylı güvenilirlik matrisinin görüntülenmesi 72 Son olarak, “Show Total and Cost”a tıklanarak güvenilirlik matrisinden elde edilen, kayıt sayıları, doğru tahmin yüzdesi, yanlış tahminin modele vereceği zarar gibi istatistiksel bilgiler görüntülenmiştir [11]. Şekil 5.27a : Testin sonucu, “ROC” sekmesi ROC sekmesine bakıldığında modelde yapılabilecek olası değişiklikler görülebilir. ROC grafiği, yapılan değişikliklerin nasıl sonuçlanacağının ve güvenilirlik matrisinin ne şekilde etkileneceğinin görülebilmesini sağlar [11]. Modelde istenilen, KT olan yani “1” değerini alan müşterilerin tahmininin mümkün olduğunca doğru yapılmasıdır. Bu yüzden güvenilirlik matrisinde ilgili alanda yer alan sayının yüksek olması gerekir. Ancak KT olarak firmayı zarara uğratma riski bulunan müşterilerin önceden saptanması adına, bazı müşterilerin KT olmayacakları halde olacaklarmış gibi tahmin edilmesi göz ardı edilebilir. Yani yanlış-pozitif tahmin sayısının artmasına izin verilebilir. Fakat yanlış-negatif tahminler firma için risk oluşturacağından bu tahminlerin mümkün olduğunca az olması gerekir. Kısacası burada amaç, güvenilirlik matrisinin sağ alt köşesinde bulunan sayıyı artırmak ve sol alt köşesindeki sayıyı azaltmaktır. 73 Şekil 5.27b : Testin sonucu, ayarlanmış ROC grafiği ROC grafiğindeki kırmızı dikey çizgi, grafiğin sağ alt köşesinde bulunan ok işaretlerine basılarak oynatılmış ve ekranın sağ üst köşesinde görüntülenen güvenilirlik matrisinde oluşan değişiklikler gözlenmiştir. Bu şekilde yanlış-negatif tahminlerin 13’e kadar azaltılırken doğru-pozitif tahminlerin ise 2414’e kadar artırılabildiği gözlenmiştir. 74 Şekil 5.28a : Testin sonucu, “Lift” sekmesi, Cumulative Lift Chart “Lift” sekmesinde, modelin lift hesaplarının iki farklı gösterilişi yer alır. “The Cumulative Positive Cases” grafiği genel olarak lift grafiği olarak düşünülür ve Şekil 5.28b’de gösterilmiştir. ODM modeli test tablosuna uygular ve kayıtların gerçek değerleri ile tahmini değerlerini bir araya getirir. Tahmin değerlerini, olasılıklarına göre azalan şekilde sıraladıktan sonra bu sıralı listeyi eşit parçalara böler (varsayılan olarak 10 parça) ve her bir parçada yer alan doğru tahminleri sayar [11]. Bu test sonucu, hangi yüzdelik dilimdeki müşterilerin KT_OLUS değerlerinin daha iyi tahmin edildiğini göstermektedir. Örneğin ilk %20’lik dilim için lift değeri 3.72’dir. Yani model, bu aralıkta kalan hedef değerlerini, veriden alınacak rastgele bir gruba göre 3.72 kat daha iyi ve doğru tahmin etmektedir. Lift grafiği, modelin etkinliğinin önemli bir ölçüsüdür. 75 Şekil 5.28b : Testin sonucu, “Lift” sekmesi, Cumulative Positive Cases Chart “Test Settings” bölümünde, Şekil 5.29’da görüldüğü gibi modelle ilgili bilgiler yer almaktadır. Buradan cost matrix de görüntülenebilir. Şekil 5.29 : Testin sonucu, “Test Settings” sekmesi 76 “Task” sekmesinde modelin adı, oluşturulma tarihi, kullanılan tablo gibi bilgiler aşağıdaki gibi görüntülenmektedir. Şekil 5.30 : Testin sonucu, “Task” sekmesi. 5.4 Modelin Uygulanması Bu aşamada önceki adımda oluşturulan modelin, Build tablosuyla aynı formatta hazırlanan 2008 otomotiv kredileri tablosuna uygulanması ayrıntılı olarak anlatılmaktadır. Şekil 5.31 : Uygulama 1. aşama, uygulama yapılacak modelin seçimi 77 Uygulama için listelenen modellerden, bir önceki aşamada oluşturulan O7_grpl_Bd_BA modeli seçilmiştir ve bir sonraki adımda modelin uygulanacağı tablo Şekil5.32a’daki gibi görüntülenmiştir. Şekil 5.32a : Uygulama 2. aşama, uygulama yapılacak tablonun seçimi Uygulama sonucunda görüntülenmek istenen sütunlar seçilerek bir sonraki adıma geçilmiştir. Şekil 5.32b : Seçili tablonun “Apply Data” altında gösterimi 78 Şekil 5.33 : Uygulama 3. aşama, sonuç tablosunda gösterilecek sütunların seçimi Şekil 5.34 : Uygulama 4. aşama, tahmini yapacak aktivitenin seçimi. Her bir kayıt için en yüksek olasılığa sahip hedef değerler (0 veya 1) görüntülenmek istendiğinden “Most Probable Target Value or Lowest Cost” seçeneği seçilmiştir. Bize vereceği değer, her bir kayıtta 0 ya da 1 değerleri için hangi olasılık değeri daha yüksekse sonuç olarak o değer “Prediction” sütununda görüntülenir. 79 Şekil 5.35 : Uygulama 5. aşama, tahmin yönteminin seçimi Son adımda uygulamaya isim verilerek uygulama süreci başlatılmıştır. Şekil 5.36 : Uygulama 6. aşama, aktivitenin isminin belirlenmesi 80 Şekil 5.37 : Uygulama sürecinin son hali Süreç tamamlandıktan sonra “Result” yolundan istenen olasılık ve tahminler görüntülenebilmektedir. 5.5 Sonuçlar ve Yorumlar Aşağıda sonuç olarak verilen tüm ekran çıktılarında, tahminleri “Prediction” sütununda, tahminlerin olma olasılığı ise “Probability” sütununda görülmektedir. Diğer sütunlar ise girdi verilerinde de bulunan ve karşılaştırma için buraya da dahil edilen sütunlardır. 81 Şekil 5.38a : Uygulama sonucu Uygulama sonucu, sayfanın sağ üst köşesinde yer alan “Export” tuşuna basılarak dışarı aktarılıp Excel tablosuna dönüştürülerek incelenmiştir. Bölüm 5.2’de “Lift” sekmesinde anlatıldığı gibi bu tablo PROBABILITY sütununa göre en yüksek olasılık değerinden başlayarak azalan şekilde sıralanmıştır. Ardından bu tablo, 10 eşit parçaya bölünerek inceleme kolaylığı sağlanmıştır. Buna göre ilk %60’lık bölümde, belirgin bir şekilde KT olmayan müşterilerin tahminine ağırlık verildiği gözlemlenmiştir. İlk %60’lık kısımda KT olmayan müşterilerin tahmininin doğruluğu yaklaşık olarak %100’dür. Bahsi geçen dilimdeki en yüksek olasılık değeri 0.9999, en düşük olasılık değeri 0.9928’dir. Bu değerler, Şekil 5.38a’da gösterilmiştir. Bu dilimin güvenilirlik matrisi Tablo 5.3’te verilmiştir. Tablo 5.3 : İlk %60 için güvenilirlik matrisi 0 1 0 17234 3 1 12 0 Uygulama sonucunun son %40’lık dilimi incelendiğinde ise KT olan müşterilerin tahminine ağırlık verildiği gözlemlenmiştir. Son %40’lık dilimde KT olan 82 müşterilerin tahmininin doğruluğu %100’dür. Bahsi geçen dilimdeki en yüksek olasılık değeri 0.9928, en düşük olasılık değeri 0.7213’tür. Bu değerler Şekil 5.38b ve Şekil 5.38c’de gösterilmiştir. Bu dilimin güvenilirlik matrisi Tablo 5.4’te verilmiştir. Tablo 5.4 : Son %40 için güvenilirlik matrisi 0 1 0 1599 4940 1 0 4957 Yukarıdaki güvenilirlik matrisinden de görüleceği üzere, gerçekte 1 değerini alıp da 0 olarak tahmin edilen kayda rastlanmamıştır. Yani aslında riskli olup model tarafından risksiz olarak tahmin edilen müşterilerin olmadığı sonucuna varılabilir. Ayrıca KT olan 4957 kişinin ve KT olmayan 1599 kişinin tahmini doğru olarak yapılmıştır. Bununla beraber, gerçekte 0 değerini alan 4940 müşteri, model tarafından 1 olarak tahmin edilmiştir. Bu da demektir ki, kuruluş için risk taşımayan 4940 kişiye model tarafından riskli gözüyle bakılmaktadır. Bu hata payı yüksek gibi görünse de bu müşterilere temkinli yaklaşılması açısından faydalı bir sonuç olabilir. Şekil 5.38b : Uygulama sonucu 83 Şekil 5.38c : Uygulama sonucu Uygulama sonuçlarının tamamına göre hazırlanan güvenilirlik matrisi ise aşağıda gösterilmiştir. Tablo 5.5 : Güvenilirlik matrisi 0 1 0 18833 4943 1 12 4957 Burada satırlar gerçek değerleri, sütunlarsa tahmin edilen değerleri göstermektedir. Bu matristen genel doğruluk aşağıdaki şekilde %83 olarak hesaplanır. Modelde asıl amaçlanan KT’ ye giden müşterilerin doğru tahmin edilmesidir. KT’ lerin tahmininin doğruluğu yine güvenilirlik matrisinden %99 olarak hesaplanır. Modelde istenen şekilde KT’ ye giden müşteriler yüksek doğrulukla tahmin edilmiştir.gruplama,gelir,bayiekle 84 KAYNAKLAR [1] Akgüç Ö., 1991. Kredi taleplerinin değerlendirilmesi, p. 1 [2] Frawley W. J., Shapiro G. P., Matheus C. J., 1992. Discovery in Databases: An Overview, AI Magazine, 13-3, 57-70. [3] Berry J. A., Linoff G., 1997. Data mining techniques for marketing, sales and customer support, John Wiley & Sons Inc., New York. [4] Holshemier M., Siebes A., 1994. Data mining <http://www.pcc.qub.ac.uk> [5] Cabena P., Hadjnian P., Stadler R., 1998. Discovering data mining from concept to implementation, Prentice Hall PTR, NJ. [6] Aldana, W. A., Data Mining Industry: Emerging Trends and New Opportunities, p.11. [7] Özkan, Y., Veri Madenciliği Yöntemleri, p.41. [8] Url-1 <http://www.oracle.com/global/tr/solutions/business_intelligence/datamining.html>, alındığı tarih 27.04.2010. [9] Url-2 27.04.2010. <http://www.infora.com.tr/veri_temizleme.html>, alındığı tarih [10] Kırış A., Demiryürek U., 2005. Malzeme Talep ve Sarf Miktarlarının Veri Madenciliği Yöntemleri ile Öngörülmesi, p. 23. [11] ORACLE CORPORATION, 2006. Tutorial, pp. 78, 81, 82, 83, 84, 85, 86, 96. Oracle 10g Release 2 Data Mining [12] Taft M., Krishnan R., Hornick M., Muhkin D., Tang G., Thomas S., Stengard P., 2005. Oracle Data Mining Concepts, 10g Release 2, p. 14, Oracle Corporation, CA. 85 86