ORACLE DATA MINER İLE KREDİ ÖDEMELERİ ÜZERİNE BİR

advertisement
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
 PB  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
Download