istanbul teknik üniversitesi fen edebiyat fakültesi matematik

advertisement
İSTANBUL TEKNİK ÜNİVERSİTESİ FEN EDEBİYAT FAKÜLTESİ
MATEMATİK MÜHENDİSLİĞİ PROGRAMI
ORACLE DATA MINER İLE SİGORTA SATIN ALAN
MÜŞTERİLERİN TAHMİNİ ÜZERİNE
BİR VERİ MADENCİLİĞİ UYGULAMASI
BİTİRME ÖDEVİ
Görkem KARAKAYA 090070004
Esra RASGELE 090070033 Tez Danışmanı: Yrd. Doç. Dr. Ahmet KIRIŞ
MAYIS 2012
ÖNSÖZ
Bu çalışmayı hazırlamamızda bize yol gösteren, bizden yardımını hiçbir zaman
esirgemeyen Sayın Hocamız Yrd. Doç. Dr. Ahmet KIRIŞ’a 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, 2012
Görkem KARAKAYA
Esra RASGELE
i
İÇİNDEKİLER
1. GİRİŞ
1
1.1. Uygulama Konusu ve Amacı
1
2. VERİ MADENCİLİĞİ
3
2.1. Tanım
3
2.2. Tarihsel Gelişim
4
2.3. Kullanım Alanları
5
2.4. Veri Madenciliği Modelleri
7
2.5. Veri Madenciliği Uygulamaları için Temel Adımlar
8
2.6. Temel Veri Madenciliği Problemleri ve Çözüm Yöntemleri
9
3. VERİNİN HAZIRLANMASI
14
3.1. Verinin Tanımı
14
3.2. Sütunların Düzenlenmesi
20
3.3. Etkili Sütunların Belirlenmesi
24
3.4. Sütunları Çarpma ve Toplama İşlemleri
24
3.5. Veriyi Bölme
24
4. TEMEL KAVRAMLAR VE MATEMATİKSEL ALTYAPI
4.1. Naivé Bayes Yöntemi
25
4.2. Özelliklerin Önem Sıralaması (Attribute Importance- AI)
35
5. ORACLE DATA MINER İLE UYGULAMA
36
5.1. Verilerin Oracle Data Miner’a Aktarılma İşlemi (Import)
36
5.2. Etkili Sütunların Bulunması (Attribute Importance)
41
5.3. Modelin Oluşturulması (Build)
45
5.4. Modelin Testi (Test)
50
5.5. Modelin Uygulanması (Apply)
54
5.6. Sonuçlar ve Yorumlar
58
KAYNAKLAR
25
59
ii
ÖZET
Bu çalışmada ‘Coil Challenge 2000: The Insurance Company Case’ yarışmasında
kullanılan sigorta şirketi verilerinden faydalanarak bir veri madenciliği uygulaması
yapılmıştır. Bu uygulama ile karavan sigortası satın alma potansiyeli olan
müşterilerin yüksek doğrulukla tahmin edilmesi ve ortak yönlerinin bulunması
amaçlanmaktadır. Bu müşterilerin tahmin edilmeye çalışılmasının nedeni, potansiyel
müşteriye reklam kampanyası yapmak ve firmanın gereksiz masrafını en aza
indirgemektir.
Yarışmada
müşterilerin
bireysel
ve
demografik
verilerini
içeren
tablolar
verilmiştir[1]. Bu veriler gerekli işlemler ile veri madenciliği sınıflandırma modeline
uygun hale getirilmiştir. Problemi çözmek için de sınıflandırma modelinin
algoritmalarından biri olan Naivé Bayes algoritması seçilmiştir.
Veri madenciliği uygulamasını gerçekleştirmek için Oracle veritabanının 11g 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
yorumlanmıştır.
iii
elde
edilmiş
ve
sonuçlar
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 veri birikiminin artarak devam etmesinin bir nedeni de yüksek
kapasiteli işlem yapabilme gücünün ucuzlamasıdır. Bu verilerden elde edilecek
bilgiler doğrultusunda iş dünyasında şirket stratejileri belirlenir. Bitirme projesinin
uygulamasında da bir sigorta şirketi müşterilerinin karavan sigorta poliçesi satın
almasının tahmin edilmesi amaçlanmıştır.
1.1 Uygulamanın Konusu ve Amacı
Bu çalışmada ‘Coil Challenge 2000: The Insurance Company Case’ yarışmasında
kullanılan sigorta şirketi verilerinden faydalanarak veri madenciliği uygulaması
yapılmıştır [1]. Firmalar potansiyel müşteri kitlelerine ürün veya hizmet
pazarlayabilmek için e-posta göndermeyi etkili bir yol olarak görebilirler; ancak bu
e-postalar çoğu kişinin “önemsiz e-posta kutusu”na düşer. Bu e-postalar müşterinin
dikkatini çekmez ve okunmadan silinirler; firmalar boş yere para harcamış olurlar.
Eğer firmalar potansiyel müşterilerini belirlemenin daha iyi bir yolunu bulabilirlerse,
kime e-posta göndereceklerini bilirler; böylece harcanan para miktarı azaltılmış olur.
2000 yılında düzenlenen sigorta şirketi yarışmasının temel amacı “Hangi müşteriler
karavan sigortası poliçesi almakla ilgilenir ve neden?” sorusunun cevabını bulmaktır.
Bu yarışma iki önemli görevden oluşmaktadır:
 Hangi müşterinin karavan sigortası poliçesi ile ilgilendiğini tahmin etmek
 Asıl ve potansiyel müşterileri tanımlamak ve bu müşterilerin neden karavan
poliçesi aldığını mümkün olduğunca açıklamak
Yarışmaya katılanların bu iki görevi de sağlayan çözümü bulmaları gerekmektedir.
1
Müşteri bilgileri, kişisel ve aynı posta koduna sahip bölgelerde oturan kişilerden elde
edilen nüfussal toplam 86 özelliği olan toplam 9822 veriden oluşur. Veriler “Sentient
Machine Research” veri madenciliği şirketinden sağlanmıştır ve gerçek bir iş hayatı
problemine dayanmaktadır. Model olarak kullanılacak veri karavan sigortasına sahip
olup olmadığı bilinen 5822 müşteri bilgisi, test verisi ise sadece hedef sütunu
olmayan 4000 müşteri bilgisi içermektedir. Bu verilerden faydalanarak müşterilerin
karavan sigorta poliçesiyle ilgilenip ilgilenmediği tahmin edilmek istenmektedir.
Temel problem belirli bir olasılığın üstünde kalan karavan sigortasına sahip
müşterilerin belirlenmesidir. Öncelikli amaç karavan sigortasına sahip olma olasılığı
en yüksek olan ilk 800 müşterinin tahmin edilmesi ve bu tahmin ile gerçekte kaç
müşterinin karavan sigortasına sahip olduğunun karşılaştırılmasıdır.
Yarışmada ikinci görevin amacı ise müşterilerin neden karavan sigortası poliçesi
yaptırdığını ve bu müşterilerin diğer müşterilerden hangi yönleriyle ayrıldığını açıkça
belirtmektir. Uygulama aşamasında karar ağaçları, regresyon yöntemleri, Naivé
bayes gibi yöntemlerden yararlanılabilir[1].
Ancak bu bitirme projesi kapsamında sadece birinci görev incelenmiş ve bu amaçla
kaç müşterinin karavan sigortası satın aldığını tahmin etmek için Oracle Data Miner
ile model oluşturulmuş ve modelin testi yapılmıştır.
2
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].
3
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].
4
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,
5

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ı,
6

Öğ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.
7
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.
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
8
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.
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
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.
9
-
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.
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 Naivé 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
10
durumlarını sınıflandırmak için de “Risksiz”, “Riskli”, “Çok Riskli” şeklinde
etiketlerle sınıflandırılabilir.
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
11
değerler olarak düşünülürken bazı durumlarda ise çok önemli bilgiler olarak
değerlendirilebilmektedir.
Ö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
12
sistemleri
gibi
teknolojiler
yapay
sinir
ağları
kullanılarak
geliştirilen
teknolojilerdendir.
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.
13
kurallarının
ortaya
çıkarılması
3. VERİNİN HAZIRLANMASI
3.1 Verinin Tanımı
Uygulamada kullanılan veriler, “CoIL Challenge 2000” adlı yarışmada kullanılmak
üzere Hollandalı bir veri madenciliği firması “Sentient Machine Research” tarafından
hazırlanan gerçeğe uygun verilerdir[7]. Yarışmanın sunduğu 3 çeşit veri seti vardır:

İlk veri seti 5822 farklı müşterinin kaydından oluşan ve model oluşturma
amaçlı kullanılacak olan kayıtlardır. Her kayıt 86 farklı özellikten oluşmaktadır.
İlk 43 özellik müşterinin oturduğu bölgedeki insanların ortalama verileridir. Bu
nüfussal veriler posta koduna dayanarak oluşturulmuştur. Diğer özellikler
müşterilere ait kayıtlardır. Bu veri seti tahmin için model kurmak ve veri
özelliklerinin önem derecelerini görebilmek için kullanılmaktadır. 86. sütun
hedef özelliğidir[7]. Burada 1 veya 0 değerleriyle müşterinin karavan sigortası
satın alıp almadığı görülmektedir.

İkincisi 85 özellikli ve 4000 farklı müşterinin kaydının bulunduğu test verisidir
ve birinci veriden farklı olarak hedef sütunu bulunmamaktadır. Oluşturulan
model, bu veri seti üzerine uygulanmakta ve 4000 müşterinin karavan sigortası
alıp almayacağı tahmin edilmeye çalışılmaktadır[7].

Üçüncü veri setinde ise sonucu tahmin edilmeye çalışılan 4000 müşterinin
gerçek sonuçları bulunmaktadır[7]. Burada “1” ler karavan sigortası satın
alanları, “0” lar ise satın almayanları göstermektedir.
Yukarıda belirtilen tüm verilerde bahsedilen toplam 86 özelliğin açıklaması aşağıdaki
veri sözlüğünde verilmektedir[7].
Veri Sözlüğü
No
Ad
Açıklama
Tanım Kümesi
1
MATIP
Müşteri Altkümesi Tipi
E0
2
EVS
Ev Sayısı
1-10
14
3
ORTEVHS
Ortalama Ev Halkı Sayısı
1-6
4
ORTYAS
Ortalama Yaş
E1
5
MTTIP
Müşteri Temel Tipi
E2
6
ROMKAT
Roman Katolikler
E3
7
PROTEST
Protestanler
…
8
DDINLER
Diğer Dinlerler
9
DINSIZ
Dinsizler
10
EVLI
Evliler
11
BERYAS
Beraber Yaşayanlar
12
DILISKI
Diğer İlişkiler
13
BEKAR
Bekarlar
14
EVHSCY
Çocuk sahibi olan haneler
15
EVHSC
Çocuk sahibi olmayan haneler
16
EGTYUK
Yüksek dereceli eğitimliler
17
EGTORT
Ortalama dereceli eğitimliler
18
EGTDUS
Düşük dereceli eğitimliler
19
VIP
Yüksek statüdekiler
20
ISADAMI
Girişimciler
21
CIFTCI
Çiftçiler
22
IDARECI
Ortalama durumdaki yöneticiler
23
VSLISCI
Vasıflı işçiler
24
VZISCI
Vasıfsız işçiler
25
SOSA
A sosyal sınıfındakiler
26
SOSB1
B1 sosyal sınıfındakiler
27
SOSB2
B2 sosyal sınıfındakiler
28
SOSB2
C sosyal sınıfındakiler
29
SOSD
D sosyal sınıfındakiler
30
KRLKEV
Kiralık evler
31
EVSHP
Ev sahipleri
32
OTO1
1 arabası olanlar
33
OTO2
2 arabası olanlar
34
OTOYOK
Arabası olmayanlar
35
ULSSGLKSER
Ulusal Sağlık Servisine Sahip Olanlar
36
OZSGLKSIG
Özel sağlık sigortasına sahip olanlar
37
GLR30
Geliri 30.000 den az olanlar
15
38
GLR3045
Geliri 30.000 ile 45.000 arasında olanlar
39
GLR4575
Geliri 45.000 ile 75.000 arasında olanlar
40
GLR75122
Geliri 75.000 ile 122.000 arasında olanlar
41
GLR123
Geliri 123.000 den fazla olanlar
42
ORTGLR
Ortalama gelirliler
43
ALIMGUCUSNF
44
OZ3PSGRK Bireysel üçüncü parti sigortasına katkı
45
SRK3PSGRK
Üçüncü parti sigortasına katkı (Firmalar) ...
46
TRM3PSGRK
Üçüncü parti sigortasına katkı (Tarım)
47
OTOSGRK
Araba poliçelerine katkı
48
KMYSGRK
Taşıma aracı poliçelerine katkı
49
MTRSGRK
Motorsiklet poliçelerine katkı
50
KAMSGRK
Kamyon poliçelerine katkı
51
RMKSGRK
Römork poliçelerine katkı
52
TRKSGRK
Traktör poliçilerine katkı
53
TRMMSGRK
Tarım makinaları poliçelerine katkı
54
MPDSGRK
Moped poliçilerine katkı
55
HYTSGRK
Hayat sigortasına katkı
56
FRDKZSGRK
Ferdi kaza sigortası poliçelerine katkı
57
AILEKZSGRK
Aile kazaları sigortası poliçelerine katkı
58
SKTSGRK
Sakat sigorta poliçelerine katkı
59
YNGSGRK
Yangın poliçelerine katkı
60
SURFSGRK
Sörf poliçelerine katkı
61
BOATSGRK
Bot poliçelerine katkı
62
BCYLSGRK
Bisiklet poliçelerine katkı
63
MLKSGRK
Mülk sigorta poliçelerine katkı
64
SSKSGRK
Sosyal güvenlik sigortası poliçelerine katkı
65
OZ3PSGRS
Özel üçüncü parti sigortası sayısı 1 - 12
66
SRK3PSGRS
Üçüncü parti sigorta sayısı (Firmalar) ...
67
TRM3PSGRS
Üçüncü parti sigorta sayısı (agriculture)
68
OTOSGRS
Araba Poliçeleri Sayısı
69
KMYSGRS
Taşıma aracı poliçeleri sayısı
70
MTRSGRS
Motorsiklet/scooter poliçeleri sayısı
71
KAMSGRS
Kamyon poliçeleri sayısı
72
RMKSGRS
Römork poliçeleri sayısı
Alim gücü sınıfındakiler
16
E4
73
TRKSGRS
Traktör poliçeleri sayısı
74
TRMMSGRS
Tarım makinaları poliçeleri sayısı
75
MPDSGRS
Moped poliçeleri sayısı
76
HYTSGRS
Hayat sigortaları sayısı
77
FRDKZSGRS
Ferdi kaza sigortası poliçeleri sayısı
78
AILEKZSGRS Aile kazaları sigortası sayısı
79
SKTSGRS
Sakat sigortası poliçeleri sayısı
80
YNGSGRS
Yangın poliçeleri sayısı
81
SURFSGRS
Surf poliçeleri sayısı
82
BOATSGRS
Bot poliçeleri sayısı
83
BCYLSGRS
Bisiklet poliçeleri sayısı
84
MLKSGRS
Mülk sigortası poliçeleri sayısı
85
SSKSGRS
Sosyal güvenlik sigorta poliçeleri sayısı
86
HDFCRVN
Karavan poliçesi sayısı
0–1
Bu sözlükte;
E0 Müşterinin ait olduğu alt kümeyi göstermektedir ve alabileceği değerler aşağıda
gösterilmiştir.
Değer Anlam
1
Yüksek gelir, masraflı çocuk sahibi
2
Zengin, mertebe sahibi taşralı
3
Yüksek mertebeli, kıdemli
4
Dairede yaşayan varlıklı kıdemliler
5
Karışık kıdemliler
6
Kariyer ve çocuk sahibi
7
Çocuksuz, çift gelirliler
8
Orta sınıf aileler
9
Modern, eksiksiz aileler
10
İstikrarlı aileler
11
Yeni kurulmuş aileler
12
Varlıklı genç aileler
13
Genç Amerikan ailesi
14
Kıdemsiz çok uluslular
15
Kıdemli çok uluslular
16
Dairede yaşayan öğrenciler
17
17
Şehrin üst düzeyleri
18
Bekar gençlik
19
Varoş gençlik
20
Etnik farklılar
21
Genç şehirliler
22
Karışık dairede ikamet edenler
23
Genç ve yükselen
24
Genç ve düşük eğitimli
25
Şehirdeki genç kıdemliler
26
Kendi evine sahip yaşlılar
27
Dairede yaşayan kıdemliler
28
İkamet eden yaşlılar
29
Bahçesiz ev sahipleri
30
Dindar ihtiyar yalnızlar
31
Düşük gelirli katolikler
32
Karışık kıdemliler
33
Düşük sınıf geniş aileler
34
Geniş, çalışan çocuklu aileler
35
Köylü aileler
36
Çocuklu evliler
37
Karışık küçük şehirde ikamet edenler
38
Geleneğe bağlı aileler
39
Geniş dindar aileler
40
Geniş çiftçi aileler
41
Karışık
E1 müşteri ortalama yaşını göstermektedir ve değerleri aşağıda verilmiştir;
1
20-30 yaş
2
30-40 yaş
3
40-50 yaş
4
50-60 yaş
5
60-70 yaş
6
70-80 yaş
18
E2 müşteri temel tipini göstermektedir, değerleri
1
Başarılı
2
Büyüme yolunda
3
Ortalama aile
4
Kariyer sahibi yalnız
5
İyi şartlarda yaşayan
6
Seyahat eden kıdemli
7
Emekli ve Dindar
8
Büyüyen aile
9
Mutahasıp aile
10 Çiftçi
olarak verilmektedir.
E3 o bölgede yaşayan insanların % kaçının bahsedilen özellikte olduğunu
göstermektedir.
0 %0
1
% 1 - 10
2
% 11 - 23
3
% 24 - 36
4
% 37 - 49
5
% 50 - 62
6
% 63 - 75
7
% 76 - 88
8
% 89 - 99
9
% 100
Son olarak E4 kişi başına poliçelere olan katkı miktarını göstermektedir ve değerleri
0 0f
1 1 – 49 f
2 50 – 99 f
3 100 – 199 f
4 200 – 499 f
5 500 – 999 f
6 1000 – 4999 f
7 5000 – 9999 f
19
8 10.000 - 19.999 f
9 20.000 - ? f
**f, Hollanda’nın 2002 yılında Avro’ya geçmeden önce kullandığı para birimi
Hollanda Guldeni’nin sembolüdür. [8]
3.2 Sütunların Düzenlenmesi
Yukarıda görüldüğü üzere nüfussal verilerden birbirleri ile ilişkili olan sütunlar
bulunmaktadır. Model oluştururken tek başına etkili olamayacağı düşünülen ilişkili
kolonlar kurallar ile bir araya getirilmektedir. Öncelikle 5822 ve 4000 veri içeren iki
ayrı tablo birleştirilip TICDATA2000A001.txt olarak kaydedilmektedir. Böylece tek
tablo elde edilmekte ve yapılan her işlem bu tabloda için uygulanmaktadır.
TICDATA2000A001.txt tablosuna sırasıyla aşağıdaki işlemler uygulanmaktadır.
1)
6ROMKAT , 7PROTEST, 8DDINLER, 9DINSIZ sütunlarından A1OLSDIN
sutünu oluşturulmaktadır. Bu dört sütundan yüzdesi en büyük olan kaçıncı sütun ise
yeni sütun o değeri almaktadır. Eğer en yüksek yüzde iki, üç veya dört sütunda aynı ise
aşağıdaki
değerler
kullanılmaktadır.
Yeni
A1OLSDIN
sütunlu
tablo
TICDATA2000A002.txt olarak kaydedilmektedir.
ROMKAT(R) 1
PROTEST(P) 2
DDINLER(D) 3
DINSIZ8(N) 4
RP
5
RD
6
RN
7
PD
8
PN
9
DN
10
Diğerleri
11
2)
(üç veya dört sütunda aynı ise)
10EVLI, 11BERYAS, 12DILISKI, 13BEKAR sütunlarından A2OLSMED
sutünu oluşturulmaktadır. Bu dört sütundan yüzdesi en büyük olan kaçıncı sütun ise
yeni sütun o değeri almaktadır. Eğer en yüksek yüzde iki, üç veya dört sütunda aynı ise
aşağıdaki
değerler
kullanılmaktadır.
Yeni
TICDATA2000A003.txt olarak kaydedilmektedir.
EVLI(E)
BERYAS(Y)
DILISKI(D)
BEKAR(B)
1
2
3
4
20
A2OLSMED
sütunlu
tablo
EB
ED
EB
BD
BB
DB
Diğerleri
3)
5
6
7
8
9
10
11
(üç veya dört sütunda aynı ise)
16EGTYUK, 17EGTORT, 18EGTDUS sütunlarından A3OLSEGT sutünu
oluşturulmaktadır. Bu üç sütundan yüzdesi en büyük olan kaçıncı sütun ise yeni sütun
o değeri almaktadır. Eğer en yüksek yüzde iki veya üç sütunda aynı ise aşağıdaki
değerler kullanılmaktadır. Yeni A3OLSEGT sütunlu tablo TICDATA2000A004.txt
olarak kaydedilmektedir.
EGTYUK(Y)
EGTORT(O)
EGTDUS(D)
YO
YD
OD
Diğerleri
4)
1
2
3
4
5
6
7
(üç veya dört sütunda aynı ise)
19VIP, 20ISADAMI, 21CIFTCI,
22IDARECI,
23VSLISCI,
24VSZISCI
sütunlarından A4OLSIS sutünu oluşturulmaktadır. Bu altı sütundan yüzdesi en büyük
olan kaçıncı sütun ise yeni sütun o değeri almaktadır. Eğer en yüksek yüzde iki, üç
veya dört sütunda aynı ise aşağıdaki değerler kullanılmaktadır. Yeni A4OLSIS sütunlu
tablo TICDATA2000A005.txt olarak kaydedilmektedir.
VIP(V)
ISADAMI(I)
CIFTCI(C)
IDARECI(D)
VSLISCI(L)
VSZISCI(Z)
VI
VC
VD
VL
VZ
IC
ID
IL
IZ
CD
CL
CZ
DL
DZ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
LZ
Diğerleri
5)
21
22
(üç veya dört sütunda aynı ise)
25SOSA, 26SOSB1, 27SOSB2, 28SOSC, 29SOSD sütunlarından A5OLSSO
sutünu oluşturulmaktadır. Bu beş sütundan yüzdesi en büyük olan kaçıncı sütun ise
yeni sütun o değeri almaktadır. Eğer en yüksek yüzde iki, üç veya dört sütunda aynı ise
aşağıdaki
değerler
kullanılmaktadır.
Yeni
A5OLSSO
sütunlu
tablo
A6OLSOTO
sutünu
TICDATA2000A006.txt olarak kaydedilmektedir.
SOSA(A)
SOSB1(B1)
SOSB2(B2)
SOSC(C)
SOSD(D)
AB1
AB2
AC
AD
B1B2
B1C
B1D
B2C
B2D
CD
Diğerleri
6)
32OTO1,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
33OTO2,
(üç veya dört sütunda aynı ise)
34OTOYOK
sütunlarından
oluşturulmaktadır. Bu altı sütundan yüzdesi en büyük olan kaçıncı sütun ise yeni sütun
o değeri almaktadır. Eğer en yüksek yüzde iki veya üç sütunda aynı ise aşağıdaki
değerler kullanılmaktadır. Yeni A6OLSOTO sütunlu tablo TICDATA2000A007.txt
olarak kaydedilmektedir.
OTO1(O1) 1
OTO2(O2) 2
OTOYOK(Y) 3
O1O2
4
O1Y
5
O2Y
6
Diğerleri
7
7)
(Üç sütunda aynı ise)
35ULSSGLKSER, 36OZSGLKSIG sütunlarından A7OLSIGDEVOZ sutünu
oluşturulmaktadır. Bu altı sütundan yüzdesi en büyük olan kaçıncı sütun ise yeni sütun
o değeri almaktadır. Eğer en yüksek yüzde iki sütunda aynı ise aşağıdaki değerler
22
kullanılmaktadır. Yeni A7OLSIGDEVOZ sütunlu tablo TICDATA2000A008.txt
olarak kaydedilmektedir.
ULSSGLKSER(U)
OZSGLKSIG(O)
UO
3
8)
1
2
37GLR30, 38GLR3045, 39GLR4575, 40GLR75122, 41GLR123 sütunlarından
A8OLSGLR sutünu oluşturulmaktadır. Bu altı sütundan yüzdesi en büyük olan kaçıncı
sütun ise yeni sütun o değeri almaktadır. Eğer en yüksek yüzde iki,üç veya dört
sütunda aynı ise aşağıdaki değerler kullanılmaktadır. Yeni A8OLSGLR sütunlu tablo
TICDATA2000A009.txt olarak kaydedilmektedir.
GLR30(G1)
GLR3045(G2)
GLR4575(G3)
GLR75122(G4)
GLR123(G5)
G1G2
G1G3
G1G4
G1G5
G2G3
G2G4
G2G5
G3G4
G3G5
G4G5
Diğerleri
9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(üç veya dört sütunda aynı ise)
30KRLKEV ve 31EVSHP sütunları excel üzerinden düzenlenmektedir. Yeni
A9OLSEV sütunu oluşturulmaktadır. Eğer 30KRLKEV nin değeri, 31EVSHP den
büyük ise A9OLSEV sütunu 1 değerini; yoksa 2 diğerini almaktadır. Yeni tablo
TICDATA2000A010.txt olarak kaydedilmektedir.
10)
TICDATA2000A010.txt’deki
14EVHSCY
ve
15EVHSC
sütunlarındaki
değerlerin toplamı 9 (%100) etmediği için anlamlı bulunmamaktadır. Bu sütunlar
TICDATA2000A010.txt’den silinmiştir.
11)
6ROMCAT,
12DILISKI,
7PROTEST,
13BEKAR,
8DDINLER,
14EVHSCY,
9DINSIZ,10EVLI,
15EVHSC,
16EGTYUK,
11BERYAS,
17EGTORT,
18EGTDUS, 19VIP, 20ISADAMI, 21CIFTCI, 22IDARECI, 23VSLISCI, 24VSZISCI,
25SOSA, 26SOSB1, 27SOSB2, 28SOSC, 29SOSD, 30KRLKEV, 31EVSHP,
32OTO1, 33OTO2, 34OTOYOK, 35ULSSGLKSER, 36OZSGLKSIG, 37GLR30,
23
38GLR3045,
39GLR4575,
40GLR75122,
41GLR123
sütunları
da
artık
kullanılmayacağı için silinmiştir.
12)
60SURFKSGRK ve 81SURFSGRS sütunları 0 sütunu oldukları için modele bir
katkıları olmayacaktır, bu yüzden bu sütunlar da silinmiştir.
13)
En son olarak tabloya id sütunu eklenmiştir. 1den 9822 e kadar değer
almaktadır. Excel tablosu TICDATA2000A011.txt olarak kaydedilmiştir. 5822 ve 4000
olarak ikiye ayrılıp model oluşturmak için hazırlanmıştır.
3.3 Etkili Sütunların Belirlenmesi
5822 verili tablo Oracle Data Miner’a aktarılmakta ve model oluşturulmadan önce
Attribute Importance özelliği kullanılmaktadır. Böylece modelde etkili olacak sütunlar
belirlenecektir. Bu konunun uygulaması 4.bölümde yapılacaktır.
3.4. Sütunları Çarpma ve Toplama İşlemleri
Daha iyi sonuç elde etmek için satın alınması lüks olarak sayılabilecek sigortalar için
işlem yapılmıştır. 47OTOSGRK - 68OTOSGRS, 49MTRSGRK - 70MTRSGRS,
54MPDSGRK - 75MPDSGRS, 55HYTSGRK - 76HYTSGRS, 56FRDKZSGRK 77FRDKZSGRS, 58SKTSGRK - 79SKTSGRS, 61BOATSGRK - 82BOATSGRS,
62BCYLSGRK - 83BCYLSGRS, 63MLKSGRK - 84MLKSGRS sütunları sigortalara
katkıları ve sigorta poliçelerinin sayılarını vermektedir. Bu sütunlar kendi aralarında
çarpılıp
yeni
sütunlar
(47*68OTO,
49*70MTR,
54*75MPD,
55*76HYT,
56*77FRDKZ, 58*79SKT, 61*82BOAT, 62*83BCYL, 63*84MLK ) oluşturulmuştur
ve kullanılan sütunlar silinmiştir. Daha sonra yeni oluşturulan sütunlar kendi aralarında
toplanıp
LUKSSGR
sütunu
oluşturulmuştur.
TICDATA2000A011.txt
olarak
kaydedilmiştir.
3.5 Veriyi Bölme
9822 veri içeren tablo TICDATA2000A011,
TICDATA2000A011_5822.txt ve
TICDATA2000A011_4000.txt olarak ikiye ayrılıp kaydedilmiştir.
TICDATA2000A011_5822.txt model oluşturmak için, TICDATA2000A011_4000.txt
oluşturulan modeli uygulayabilmek için kullanılacaktır.
24
4. TEMEL KAVRAMLAR VE MATEMATİKSEL ALTYAPI
Bu bölümde veri kümesine uygulamak üzere seçilen sınıflandırma türü olarak
kullanılan Naivé Bayes Algoritması anlatılmıştır.
4.1 Naivé Bayes Yöntemi
Sınıflandırma problemlerinin çözümünde kullanılan Naivé 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.
25
Şekil 4.1 : Bir veri kaydı örneği
4.1.2 Teori
Naivé 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
bağlı
P ( B  b j | Ai  aik ,...(i  1,..., m)) , olasılıkları hesaplanır,
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ığı
26
P ( A, B )  P ( A)  P ( B )
(4.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)
(4.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 )
(4.3)
ile verilir. Dolayısıyla buradan (4.2) ve (4.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)
(4.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ı (4.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  )
(4.5)
şeklinde verilir. Bu ifade, (4.4)’ te kullanılırsa,
P( B | A) 
P( B) P( A | B)
P ( B) P( A | B )  P( B  ) P( A | B  )
(4.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. (4.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;
27
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 ) 
(4.7)
elde edilir. (4.7) ifadesi (4.4)’ te yerine yazıldığında ise,
P  ( B  b j ) | ( A  ak )  
P  B  b j  P  ( A  ak ) | ( B  b j ) 
(4.8)
s
 P  B  b  P  A | (B  b )
k
k 1
k
elde edilir. (4.8) ifadesinin A ve B olaylarının ikiden fazla değer alabildikleri durum
için (4.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 (4.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
(4.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
(4.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

(4.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.
28
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 (4.8) ifadesi kullanılarak;
P ( Ev  E | Gelir  D ) 
P ( Ev  E ) P (G  D | Ev  E )
P ( Ev  E ) P (G  D | Ev  E )  P ( Ev  H ) P (G  D | Ev  H )
540 200
1000 540

540 200 460 130

1000 540 1000 460
P ( Ev  E | Gelir  D )  0.6061
P ( Ev  H | Gelir  D )  1 
20 13

 0.3939
33 33
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;
29
P( Ev  E | Gelir  O )  0.3125
P( Ev  H | Gelir  O )  1  0.3125  0.6875
13
P( Ev  E | Gelir  İ ) 
 0.5652
23
13
P( Ev  H | Gelir  İ )  1   0.4348
23
11
P( Ev  E | Gelir  Y ) 
 0.9167
12
11
P( Ev  H | Gelir  Y )  1   0.0833
12
yazılabilir.
Yukarıdaki hesaplamaların ODM’ nin elde ettiği sonuçlarla karşılaştırılabilmesi için
Naivé 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.
30
Şekil 4.2 : Örnek 1’in ekran çıktıları
ODM, Naivé 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 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
.
.
.
.
31
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
420  220
 0.66
440  100  240  220
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.
Şekil 4.3 : Örnek 1’in ODM ile güvenilirliği
32
Ö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
İ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 (4.10) ifadesiyle belirlenmeye çalışılmıştır. Burada iki belirleyici
özellik olduğundan (4.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.
(4.10) ifadesi örneğe uygulandığında,
33
P ( S  0| T  K , O  D , C  Y ) 
P (T  I ) P (G  D | T  I ) P ( E  H | T  I )
P ( S  I ) P (G  D | T  I ) P ( E  H | T  I )
 P (T  A) P (G  D | T  A) P ( E  H | T  A)
 P (T  Ç ) P (G  D | T  Ç ) P ( E  H | T  Ç )
12 6 6
100 12 12

 0,3885
12 6 6 61 9 30 27 2 4


100 12 12 100 61 61 100 27 27
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  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  Y , E  Evet )  0 .0744
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.
34
Şekil 4.4 : Örnek 2’nin ekran çıktıları
4.2 Ö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.
35
5. ORACLE DATA MINER İLE UYGULAMA
Bu bölümde, Oracle Data Miner ile bölüm 3 de hazırlanan verilerin uygulaması
yapılmaktadır.
5.1 Verilerin Oracle Data Miner’a Aktarılma İşlemi (Import)
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 5.1 : ODM’ye veri aktarımı
36
Şekil 5.2 : ODM’ye veri aktarımı, aktarılacak tablonun seçimi
Şekil 5.2.1 : ODM’ye veri aktarımı, aktarılacak tablonun seçimi
37
Şekil 5.3 : ODM’ye veri aktarımı, tabloda ayracın belirlenmesi
Şekil 5. 4: ODM’ye aktarılan verini ön izlemesi
38
Şekil 5.5 : ODM’ye veri aktarımı, veri tiplerinin belirlenmesi
Şekil 5.6 : ODM’ye veri aktarımı, veri tiplerinin belirlenmiş hali
39
Şekil 5.7 : ODM’ye aktarılan tabloya isim verilmesi
Şekil 5.7 : ODM’ye aktarılan veri
40
5.2. Etkili Sütunların Bulunması (Attribute Importance)
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.
Uygulamada ise karavan sigortası satın alan müşterilerin, ortak olan hangi sütunlarının
satın alımda etkili olduğunu ortaya çıkarmaktır.
Şekil 5.8 : Etkili sütunların bulunması işlemi
41
Şekil 5.9 : Fonksiyon tipi “Classification”, algoritma “Attribute Importance”
Şekil 5.10 : İşlemin uygulanacağı tablonun, “Unique Identifier” değerin ve işlemin
sonucunda görünmesi istenen sütunların seçilmesi
42
Şekil 5.11 : İşleme girecek sütunların ve hedefin belirlenmesi
“ID” sütunu, ”unique identifier” seçildiği için girdi olarak alınmamıştır. Hedef sütunu
da girdi olarak alınmaz.
Daha sonra aktiviteye bir isim verilmekte ve ilerleyince “Advanced Settings”
(gelişmiş ayarlar) seçilmektedir. Burada “Sample“, “Discretize” ve “Build” sekmeleri
bulunmaktadır. “Sample” ve “Discretize” seçenekleri kullanılmayacaktır, “Enable Step”
seçeneğinin işaretli olmaması gerekir.
43
Şekil 5.12 : Attribute Importance işlemi sonucu
Şekil 5.13: Sütunların önem dereceleri
İsim
Önem
59YNGSGRK
0.007840804
LUKSSGR
0.004007715
65OZ3PSGRS0.003684561
44OZ3PSGRK
0.003113909
44
A9OLSEV
0.001099444
85SSKSGRS
0.0009814310
80YNGSGRS
0.0000615480
Önem değeri pozitif olan sütunların etkili sütun olduğu kabul edilmektedir. Yani bu
tahmin edici sütunlar hedef sütunun tahmin edilmesinde daha çok etkilidir.
5.3 Modelin Oluşturulması (Build)
Veri tablosu üzerinde yapılan veri temizleme ve gruplama 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 “Naivé Bayes”
seçilerek “TICDATA2000A011_5822” tablosu için model oluşturma aşamaları ekran
çıktıları ile birlikte aşağıda verilmiştir.
Şekil 5.14 : Modelin oluşturma başlangıcı
45
Şekil 5.15 : Modelin fonksiyon tipinin ve algoritmasının seçilmesi
Şekil 5.16 : Modelin uygulanacağı tablonun seçilmesi
Burada modeli oluşturmak için kullanılacak tablo TICDATA2000A011 dir. “Unique
Identifier” kısmı zorunlu olup, tabloda benzersiz değerlere sahip olan sütun “Single
Key” olarak seçilir. Bu tabloda benzersiz değer ID sütunudur. Ayrıca her sütunun
modelde görülmesi istendiği için tüm sütunlar aşağıda seçili olacaktır.
46
Şekil 5.16 : Modeli oluşturacak girdilerin ve hedefin seçilmesi
Hedef sütun olarak 86HDFCRVN seçilmiş ve tahmin edici özellik olarak seçilmemesi
gereken ID ve 86HDFCRVN özellikleri girdi olarak alınmamıştır. Diğer tüm sütunlar
tahmin edici özellik olarak kullanılacağı için girdi olarak alınmıştır.
Şekil 5.17 : Tercih edilen hedef değerinin “1” olarak seçilmesi
Daha sonra modele isim verilmiş ve sonraki adımda “Advanced Settings” seçilerek
47
model oluşturma aşamasında yürütülecek adımlar üzerinde gerekli ayarlar yapılmıştır.
Şekil 5.18 : “Advanced Settings” in “Sample” sekmesi
İlk sekme “Sample” dı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.19 : “Advanced Settings” in “Discretize” sekmesi
“Discretize” özelliği çok fazla sayıda ve farklı değerler alan sütunları gruplandırmaya
yaramaktadır. Ancak veri hazırlama aşamasında gruplandırmalar yapıldığı için bu
48
özelliğin kullanılmasına gerek yoktur. Varsayılan olarak etkin gelen “Split” özelliğinin
etkinliği kaldırılacaktır.
Şekil 5.20 : “Advanced Settings” in “Split” sekmesi
Verinin hepsi modelde kullanılmayacaksa bu seçenekle yüzde kaçının ya da kaç
tanesinin kullanılacağı seçilebilir. Geri kalanı da test için ayrılır. Ancak yaptığımız
uygulamanın böyle bir işleme ihtiyacı yoktur, veri ayrılmadan tamamen model işlemine
sokulacaktır. “Split” işleminin etkinliği kaldırılacaktır.
Şekil 5.21 : “Advanced Settings” in “Build” 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
49
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, karavan sigortası satın almayan
müşteri tahminini yüksek doğrulukla yaparken satın alan müşteri tahminini daha düşük
doğrulukla yapıyor olabilir. Açıktır ki modelin hedef olarak seçilen sütundaki her bir
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[10].
Gelişmiş ayarlar tamamlandıktan sonra model oluşturma süreci başlatılır.
Şekil 5.22 : Model oluşturma işleminin sonucu
5.4 Modelin Testi (Test)
Modeli test etmek için veri ayrılmamıştır, çünkü tahmin etmek istenilen sütunun gerçek
değerleri mevcuttur. Bu yüzden modelin, modeli oluşturan veri ile test edilmesi
yeterlidir. Bu işlem ODM ekranından Activity  Test seçilerek yapılabilir. Diğer
yandan “Build” işleminde model oluşurken ODM oluşturan tabloyla modeli test
etmiştir. Ayrıca bir test tablosu kullanılmayacağı için Şekil 5.22’ deki “Test Metrics”
aşamasındaki “Result”a tıklayarak test sonuçları elde edilir.
50
Şekil 5.23 : Testin sonucu, “Predictive” sekmesi
“Predictive Confidence” tahmin edicinin güvenilirliğini vermektedir. Yani modelin “1”
verme olasılığı %38.34 tür.
Şekil 5.24 : Testin sonucu, “Accuracy” sekmesi
“Accuracy” sekmesinde, 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 değerlerle
karşılaştırılabilir. Burada hedefteki “0” ve “1” değerlerinin gerçek sayılarının tahminleri
%72.44 ve %65.9 dur.
51
Şekil 5.25 : Testin sonucu, “Accuracy” sekmesi,”Show Cost” seçeneği
“Show Cost” seçeneğine 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 [10].
Şekil 5.26 : Testin sonucu, “Accuracy” sekmesi,”Show Cost” seçeneğinin detayı
“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 ID’nin gerçek
52
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 118 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 1492 sayısı ise yanlış-pozitif tahminleri, yani gerçek değer 0 iken 1
şeklinde tahmin edilen hedef sayısını göstermektedir [10]. Matrisin köşegenindeki
sayılar ise doğru olarak yapılan tahmin sayılarıdır.
53
4.4 Modelin Uygulanması (Apply)
Bir önceki aşamada oluşturulan model bu aşamada yeni müşteri tablosuna
uygulanacaktır. Yeni müşteri tablosu, daha veri hazırlama işleminde bahsedilen
TICDATA2000A011_4000 .txt nin ODM’ye aktarılmış halidir. Bu tablonun hedef
değerleri tabloda mevcut değildir ama gerçek değerleri bilinmektedir. Bu işlemde amaç
gerçekte karavan sigortası satın alan müşteri sayısına en yakın sayıda değer bulmaktır.
Şekil 5.27 : Uygulama işleminin seçilmesi
Şekil 5.28 : Kullanılacak modelin seçilmesi
Uygulama
için
listelenen
modellerden,
bir
TICDATA2000A011_5822_B modeli seçilmiştir.
54
önceki
aşamada
oluşturulan
Şekil 5.29 :“Select” ile modelin uygulanacağı tablonun seçilmesi
Şekil 5.30 : Modelin uygulanacağı TICDATA2000A011_4000 tablosu
55
Şekil 5.31 : Uygulama işlemi sonucunda görülmesi istenen sütunların seçilmesi
Şekil 5.32 : Tercih edilen test sonucu
56
Şekil 5.33 :Uygulama işlemi seçeneği
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. 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.
Şekil 5.34 : Uygulama işleminin sonu
57
En son olarak uygulamaya isim verilerek uygulama işlemi tamamlanmış olur. Süreç
tamamlandıktan
sonra
“Result”
yolundan
istenen
olasılık
ve
tahminler
görüntülenebilmektedir.
5.4 Sonuçlar ve Yorumlar
Aşağıda sonuç olarak verilen ekran çıktısında, tahminler “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.
Şekil 5.35 : Modelin TICDATA2000A011_4000 üzerindeki 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. Excele aktarılan sonucun
“PREDICTION” sütununda 1206 tane “1” olduğu görülmüştür. Gerçekte ise 238 tane 1
vardır. Tahmini küçültebilmek için “1” olma olasılığı en yüksek 800 satır seçilmek
istenmiş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.
Tahimini değerleri içeren “PREDICTION” ve gerçek değerleri içeren “GRCKDGR“
sütunları karşılaştırılmış, her ikisi de “1” değeri alan satırlar 110 tane bulunmuştur.
Yani gerçekte 4000 tane müşteriden 238 tanesi karavan sigortası satın almıştır ancak
yapılan tahminleme uygulaması ile 110 tanesi elde edilebilmiştir.
58
KAYNAKLAR
[1] <http://www.liacs.nl/~putten/library/cc2000/problem.html>,16.05.2012
[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] <http://www.liacs.nl/~putten/library/cc2000/data.html>16.05.2012
[8] <http://tr.wikipedia.org/wiki/Hollanda_guldeni>,16.05.2012
[9] Yapıcı A.,Özel A.,Ayça C., 2010. Oracle Data Miner İle Kredi Ödemeleri Üzerine
Bir Veri Madenciliği Uygulaması, pp. 42-52
[10] ORACLE CORPORATION, 2006.
Oracle 10g Release 2 Data Mining
Tutorial, pp. 78, 81, 82, 83, 84, 85, 86, 96.
[11] 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.
59
Download