İ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 PB 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