25 Ocak 2018 Perşembe

Veri Madenciliği (Data Mining) - Titanic Analizi



Titanic Gemisindeki Kişilerin Bazı Fiziksel Ve Kişisel Özelliklerine Göre Karar acının Oluşturulması Ve Benzer Olayda Hangi Özellikteki Kişilerin Hayatta Kalacağının Tespit Edilmesi





ÖZET


Titanic isimli gemi 15 Nisan 1912 tarihinde buz dağına çarparak batmıştır ve mürettebatlar da dahil olmak üzere çok sayıda yolcuda hayatını bu kazada kaybetmiştir. Ancak kayıtlara göre bazı kurtulan yolcular bulunmaktadır. Bu kurtulan yolcuların , ölen yolcular ile arasındaki fiziksel ve kişisel bazı özelliklerini referans alarak benzer bir olayda kimlerin hayatta kalabileceğinin tahmin edilmesini sağlayan bir karar ağacı oluşturulmaya çalışılacaktır. Elimizdeki datasetimizden uygun olan kayıtlardan eleme yapılarak yolcuların yaş,cinsiyet, kabin sınıfı gibi bilgileri kullanılacaktır.

Sonuçların gösterimi ve analizi için Weka 3.8 programı bilgisayar ortamında kullanılacak olup J48 sınıflandırma algoritması kullanılacaktır. Ayrıca Naive Bayes algortimasıda kullanılıp sonuçlar doğrulanmaya çalışılacaktır.

Anahtar Kelimeler : J48 Algoritması, Karar Ağaçları, ID3 Algoritması, C4.5 Algoritması, Naive Bayes, Kurtulma Ora




ABSTRACT


The Titanic named ship sank into the iceberg on April 15, 1912 and lost many lives in this accident, including crew members. However, according to records there are some survivors. With reference to some physical and personal characteristics between these survivor passengers and the deceased passengers, a decision tree will be sought to predict who will survive in a similar event. We will use information such as age, gender, cabin class of passengers by eliminating the appropriate records from our dataset.
For demonstration and analysis of results, Weka 3.8 program will be used in computer environment and J48 classification algorithm will be used. We will also use the Naive Bayes algorithm to verify the results.

Keywords: J48 Algorithm, Decision Trees, ID3 Algorithm, C4.5 Algorithm, Naïve Bayes, Survival Rate


1.     RİŞ


Günlük yaşantımızda ulaşım amaçlı kullandığımız bir çok araç bulunmaktadır. Bunlardan bazıları, kara yolu arları , deniz yolu araçları ve hava yolu arları olmak üzere 3 gruba ayırabiliriz. Farklı ulaşım yollarında farklı boyutlarda kazalar da yaşanabilmekte ve bir kara yolundaki kaza blançosu ile deniz yolu kullanılarak yaşanan kaza bilançosu farklıdır. Kullanılan yolun araç(uçak,gemi,otomobil,otobüs) özelliklerine göre de yine bu oran değişiklik göstermektedir.

Yapmış olduğumuz çalışmada önceki yıllarda batan ve çok sayıda insanın yaşamını yitirdiği bununla birlikte kurtulan kişilerin de olduğu gemi kazasında benzer bir olayda kimlerin hayatta kalabileceği analiz edilmiştir. Kullanılan dataset de toplam 891 adet veri bulunmaktadır. Bu veriler içinden kullanılabilir durumda olan 200 adet veri üzerinde algoritmalar uygulanmıştır. Bu algoritmalar J48, Naive Bayes, Apriori algoritmalarıdır.



2.     VERİ MADENCİLİĞİ


Veri madenciliği, günümüz bilgi çağında en güncel teknolojilerden birisidir. Bilgisayar sistemlerinin her geçen gün hem daha ucuzluyor olması, hem de güçlerinin artıyor olması, bilgisayarlarda daha büyük miktarlarda verinin saklanabilmesine imkan vermektedir. Bu yüzden, büyük miktardaki verileri işleyebilen teknikleri kullanabilmek, büyük önem kazanmaktadır. Veri madenciliği bu gibi durumlarda kullanılan, büyük miktardaki veri setlerinde saklı durumda bulunan örüntü ve eğilimleri keşfetme işlemidir. [1]

3.     SINIFLAMA


Sınıflama ile ilgili olarak literatürde, farklı bir yaklaşım da söz konusudur. Bu yaklaşıma göre sınıflama; tam sınıflama ve kısmi sınıflama olmak üzere ikiye ayrılmaktadır. Buradaki tam sınıflama kavramı veri içindeki tüm sınıflar ve örnekleri kapsayan modeller ile ilgilidir. Bunlara örnek olarak, yapay sinir ağları, C&RT, CHAID, C4.5, C5.0 ve diğer karar ağlagibi akıllı teknikler ile diskriminant analizi gibi istatistiksel arlar verilebilir. Kısmi sınıflamada, tam sınıflamada olduğu gibi veri sınıflarının özellikleri gösterilmektedir. Ancak kısmi sınıflandırma modellerinde tüm sınıflar veya verilen sınıfın tüm örnekleri kapsanmayabilir. Bu modellerden biri olarak birliktelik kuralları verilebilir (Bloemer vd., 2003; 119-120).

3.1 Karar Ağaçları Ve aç mevarımı

En önemli sınıflama araçlarından biri olan karar ağaçlarında, öğrenme algoritması basittir.
Ortaya konan özbilginin gösterimi kolaylıkla anlaşılabilir. Karar ağla yalnızca kararlagöstermezler, ayzamanda kararların açıklamasını da erirler. Karar ağacını oluşturan eğitim süreci tümevamdır. Bir eğitim nesneleri kümesinden karar ağacı oluşturma yordamı, ağaç tümevarımı (tree induction) olarak adlandırılır. aç tümevarımı yöntemi özbilgi keşfinin en yaygın yöntemlerinden biridir. Sınıflama veya tahmin için kullanılabilecek ağaç
benzeri örüntüleri keşfetme için bir yöntemdir. Karar ağaçları bilgi keşfi sırasında pek çok test gerçekleştirerek, hedefi tahmin etmede en iyi sırayı bulmaya çalışırlar. Her bir test karar ağacındaki dalları oluşturur ve bu dallar da diğer testlerin geekleşmesine neden olur. Bu durum, test işleminin bir yaprak düğümünde (leaf node) sonlanmasına kadar devam eder. Kökten hedef yaprağa kadar olan yol, hedefi sınıflandıran kural” olarak adlandırılır. Kurallar eğer-sonra” (if-then) yapısındadır (Bounsaythip ve Esa, 2001, 18-19).


4.     KARAR AĞLARI VE KARAR AĞACI ALGORİTMALARI



Karar ağaçları, sınıflandırma ve tahmin için sıkça kullanılan bir veri madenciliği yaklaşımıdır. Sinir ağları gibi diğer metodolojilerin de sınıflandırma için kullanılabilmesine rağmen, karar ağları, kolay yorumu ve anlaşılabilirliği açısından karar vericiler için avantaj
sağlamaktadır [4].

Karar ağaçları;
  Düşük maliyetli olması,
  Anlaşılmasının, yorumlanmasının ve veri tabanları ile entegrasyonun kolaylığı,
  Güvenilirliklerinin iyi olmagibi nedenlerden ötürü en yaygın kullanılan sınıflandırma tekniklerinden biridir.

Karar ağacı tekniğini kullanarak verinin sınıflanması, öğrenme ve sınıflama olmak üzere iki basamaklı bir işlemdir. Öğrenme basamağında önceden bilinen bir eğitim verisi, model oluşturmak amacıyla sınıflama algoritması tarafından analiz edilir. Öğrenilen model,sınıflama kuralları veya karar ağacı olarak gösterilir. Sınıflama basamağında ise test verisi, sınıflama kurallarının veya karar ağacının doğruluğunu belirlemek amacıyla kullanılır. Eğer doğruluk kabul edilebilir oranda ise kurallar, yeni verilerin sınıflanması amacıyla kullanılır. Eğitim verisindeki hangi alanların hangi sırada kullanılarak ağacın oluşturulacağı belirlenmelidir. Bu amaçla en yaygın olarak kullanılan ölçüm, Entropi ölçümüdür. Entropi ölçüsü ne kadar
fazla ise o alan kullanılarak ortaya konulan sonuçlar da o oranda belirsiz ve kararsızdır. Bu nedenle, karar ağacının kökünde Entropi ölçüsü en az olan alanlar kullanılır. Verilen bir Ak alanının Entropi ölçüsünü bulan formüller şu şekildedir [5]:


Bu formülde; E(C\Ak) = Ak alanının sınıflama özelliğinin Entropi ölçüsü, p(ak,j) = ak alanının j değerinde olma olasılığı,
p(ci \ ak, j) = ak alanı j. değerindeyken sınıf değerinin ci olma olasılığı, Mk= ak alanının içerdiği değerlerin sayısı; j= 1, 2,., Mk,
N = farklı sınıfların sayısı; i = 1, 2,..., N, K = alanların sayısı; k = 1,2,..., K.

Eğer bir S kümesindeki elemanlar, kategorik olarak C1, C2, C3, . . . , Ci sınıflarına ayrıştırılırlarsa, S kümesindeki bir elemanın sınıfını belirlemek için gereken bilgi şu formülle hesaplanmaktadır:



Bu formülde pi, Ci sınıfına ayrılma olasılığıdır. Entropi denklemi şu şekilde de ifade edilebilir:




Bu durumda A alanı kullanılarak yapılacak dallanma işleminde, bilgi kazancı şu formülle hesaplanmaktadır:



Başka bir deyişle Kazanç (A), A alanının değerini bilmekten kaynaklanan entropideki azalmadır. Karar ağlarında kullanılan birçok algoritma mevcuttur. ID3, C4.5, C5.0, CART, CHAID ve QUEST bunlara örnek olarak gösterilebilir.

Bizler bu çalışmamızda ID3 ve C4.5 algoritmalarını kullandık. Ek olarak Naive Bayes algoritmasıda sonuçların doğruluğunu ispat etmek için kullanıldı.



Tablo1. Bazı Karar Ağacı Algoritmaları ve Özellikleri [6]

Kara Ağacı Algoritma                                                Özellikleri





C&RT
Gini’ye dayalı ikili bölme işlemi mevcuttur. Son
veya uç olmayan her bir
ğümde iki adet dal bulunmaktadır. Budama işlemi ağacın karmaşıklık
ölçüsüne dayanır. nıflandırma ve regresyonu destekleyici bir yapıdadır.
Sürekli hedef değkenleri ile çalışır. Verinin hazırlanmasına gereksinim
duyar.




C4.5 ve C5.0 (ID3 karar ağacı algoritmasının ileri versiyonları)
Her ğümden çıkan çoklu dallar ile ağ
oluşturur. Dalların sayısı
tahmin edicinin kategori sayısına eşittir. Tek bir sınıflayıcı da birden
çok karar ağacını birleştirir. Ayırma işlemi in bilgi kazancı kullanır.
Budama işlemi her yapraktaki hata orana
dayanır.

CHAID (Chi-Squared Automatic Interaction Detector)
Ki-kare testleri kullanarak bölme işlemini
gerçekleştirir. Dalların sayı
iki ile tahmin edicinin kategori sayısı arasında değişir.

SLIQ (Supervised Learning in Quest)
Hız ölçeklenebilir bir sınıflayıcıdır. Hız ağ
budama algoritması mevcuttur.


ID3 Algoritması Sözde Kodu [7]


ID3 (Örnekler, Hedef_Attribute, Özellikler) Ağaç için bir kök ğüm oluşturun
Tüm örnekler pozitifse, tek ğümlü ağKök dizinine = + etiketli dönün. Tüm örnekler negatifse, etiketli = - olan tek ğüm ağkökünü döndürün. Tahmini niteliklerin sayı boşsa, tekli ğüm ağacı Kök olarak döndürün, Etiket = örneklerde hedef özniteliğin en yaygın değeri.
Aksi halde Başla
A Örnekleri en iyi sınıflandıran Özellik. Kök in Karar Ağacı özniteliği = A.
Her ola değer için vi, A'nın,
Kökün altına, A = vi testine karşılık gelen yeni bir ağaç dal ekleyin. Örnekler (vi), A için vi değeri olan örneklerin alt kümesi olsun Örnekler (vi) boşsa
Daha sonra bu yeni şubenin altında, örneklerde label = en genel hedef değeri olan bir yaprak ğüm ekleyin
Bu yeni kolun altındaki diğer kısımda ID3 alt klasörü eklendi (Örnekler (vi),
Hedef_Attribute, Öznitelikler - {A}) Son
Kök Getir

Bu algoritmalara ek olarak çalışmamızda Naive Bayes algoritmasıda kullanılmış olup aşağıdaki tanımlandığı şekilde bu algoritma da Weka prograaracılığı ile kullanılmıştır.

Naive Bayes (NB)

Klasik Naïve Bayes algoritması genelde kelimelerin ve sınıfların birlesik olasılıkla
ile bir dokümanın sınıfının belirlenmesinde kullanılır. Bizim çalısmamızda ise özellikler kelimelerin frekansları degildir ve rekli dagılımlara sahip olduklarından klasik Naïve Bayes yerine George’un [8] çalısmasında önerilen Naïve Bayes versiyonu kullanılmıstır.


5.     VERİLER


Yaptığımız çalışmamız için ilgili dataset i ık kaynak kodlu bir platform olan Github sitesinden elde edilmiştir. Elimizdeki dataset te 891 adet veri bulunmaktadır. Bu veriler çalışmamızda referans alğımız Titanic isimli batan gemiden kurtulan ve yaşamını kaybeden yolcuların kişisel ve gemide hangi sınıfta yolculuk yaptığı ile ilgili bilgiler bulunmaktadır.Bu bilgileri sırasıyla şunlardır ;

PassengerId :
Yolcunun Dataset deki ID si
Ticket : Bilet No
Survived :
Yolcunun Kurtulup , Kurtulmadığı Bilgisi. Kurtulanlar 1 , Kurtulamayanlar 0 dır.
Fare : Ücret
Pclass :
Yolcunun Seyahat Ettiği Sınıf (first class,
second class, third class)
Cabin : Kabin
Name : Yolcu A
Embarked : Gemiye Binip Binmediği
Sex : Yolcunun Cinsiyeti
Age : Yolcunun Yaşı
Tablo2. Veri Başlıla Ve Anlamları


Bu bilgiler veri madenciliği teknikleri kullanılarak bazı eleme işlemlerinden geçirilip bizlere uygun olan bilgiler sadece alınmıştır. Yaptığımız çalışmada benzer bir olayda kimlerin hayatta kalacağına karar veren bir karar ağacı oluşturmak olduğu için bizler çalışmamızda Yolcunun cinsiyeti, yaşı, hangi sınıfta yolculuk ettiği ve kurtulup kurtulmadı bilgilerine göre analiz yapılmıştır.

Dataset içinde bazı veri kayıpları olduğundan dolayı ilgili kayıt satırla yok sayılıp işleme tabi tutulmamıştır. Ayrıca elimizdeki 891 adet veriden uygun olmayan kayıtların çıkarılmasıyla toplam 200 adet eğitim ve test verisi ayrıştırılmıştır.

Ek olarak yolcuların yaşlafarklı ve sayısal nitelikte olduğu için yaş sınıflandırmayapılmıştır. Yaş sınıflandırma tablosu genel olarak yapılan araştırmalardan elde edilen ifadelerdir.

Yaş Aralığı
nıfı
0 - 14
Çocuk
15 - 30
Ge
30 - 65
Orta
65 yaş ve üstü
Yaşlı
Tablo3. YSınıflandırma

Son olarak elde edilen ve kullanılan yeni bir dataset tipi oluşturuldu tabi bu dataset bir önceki verilerin kullanılabilir veri içeren ve sayısal verilerin sözel bir şekilde ifade edilmesiyle oluşturulmuştur.

yasi
cinsiyet
sinif
kurtuldu
genc
erkek
second
hayır
orta
kadın
first
evet
genc
kadın
third
evet
orta
kadın
first
evet
orta
erkek
third
hayır
...
...
...
...
Tablo4. Datasetin son hali



6.     UYGULAMA


Bu çalışmada yapılan analiz için Weka 3.8 yazılımı kullanılmıştır. Weka yazılımının içinde entegre olan bir çok sınıflandırma algoritmaları ve karar ağacı oluşturmak için bir çok farkalgoritma vardır. Bunlardan J48 ve Naive Bayes algoritma çalışmamızda kullanılmıştır.

Öncelikle programımıza datasetimizin seçimini yaparak başlıyoruz.

Datasetimiz de 4 adet nitelik bulunduğunu Veriler bölümündeıklamıştık. Weka programından dataset i stikten sonra Classify sekmesinden Choose butonu ile önce J48 algoritmasını sip karar ağlarını oluşturuldu.







7.     SONUÇ

 Naive Bayes Algoritması Sonuçları Weka 3.8



Yapmış olduğumuz çalışmada ilgili dataset içindeki verilerden çalışmamızın konusu olan bir gemi kazasında kimlerin hayatta kalabileceği farklı algoritmalar kullanılarak analiz edilmeye çalışılmıştır. J48 sınıflandırma algoritmasının uygulanması sonucu farklı nitelik değerleri baz alınarak ağlar oluşturulmuştur. İlk ağaç yapısı Şekil1 de belirtildiği gibi olup dataset in kurtulup / kurtulmama niteliğine göre ağaç oluşturulmuş olup kadın yolcuların hayatta kalma şansının erkek yolculara oranla çok daha fazla olduğu anlaşılmaktadır. Yine bu sonucu Naive Bayes algoritma sonucunun sayısal verilerine bakıldığında görülmektedir. Bunun nedeni olarak ise Titanic gemi kazasında olduğu gibi diğer acil durumlarda önceliğin kadın,çocuk ve yaşlılara tanınması olarak gösterebiliriz.

Elde edilen diğer bir dikkat çekici sonuç ise yolcuların kabin sınıflarına bağlı olarak ta yine kurtulma oranları dikkat çekmektedir. First Class(1.sınıf) ta yolculuk yapan yolcuların kurtulma oranı diğer sınıflara oranla daha fazladır. Bu sonuca bağlı olarak ilk sonucu göz önüne aldığımızda yani kadınlara ve çocuklara öncelik verilmesi durumunda First Class taki kadın,çocuk ve yaşlıların büyük bir bölümünün kurtulduğu yine karar ağacından görülmektedir.

En az kurtulma oranı ise Third Class (3.sınıf) yolcularının olduğunu görülmektedir. Class türlerine göre farklı kurtulma oranlarının olmasının en büyük nedenlerinden biri Titanic adlı geminin First Class ve Second Class yolcu bölümlerinin kurtarma filikalarına ve acil çıkış kapılarına daha yakın olması , Third Class yolcularının ilgili bölümlerinin bu filikalara uzak olması sınıflardaki kurtulma oranlarını büyük ölçüde değiştirmiştir.


Son olarak ise yaş niteliği baz alınarak yapılan Şekil2 deki karar ağacına bakıldığında daha çok orta yaş sınıfına ait yolcuların First Class ta yolculuk yaptığı , genç ve çocukların 2. Veya 3.sınıf kabinleri tercih ettiği bilgisine ulaşılmıştır.

Tüm bu sonuçla göz önüne aldığımızda benzer bir gemi kazasında kurtulma oranının kadınların, çocukların ve yaşlıların orta ve genç sınıfına tabi erkeklerden fazla olduğuna ulaşılmıştır. Ayca geminin acil çıkış yollarının ve kurtarma filikalarının geminin yolcu kabinlerine uzaklığı gibi etmenler de kurtulma oranını etkileyen faktörler arasında olduğu tespit edilmiştir.



8.  KAYNAKÇA



1.      ÖZEKES, Serhat. Veri madenciliği modelleri ve uygulama alanları. 2003.
2.      Bloemer, M. M. J., Brijs, T., Vanhoof, K. ve Swinnen, G. (2003); “Comparing
3.      Bounsaythip, C. ve Esa, R. R. (2001). Overview of Data Mining For Customer
4.      Chien, C. F., Chen, L. F. 2008. Data Mining to Improve Personnel Selection and Enhance Human Capital: A Case Study in High-Technology Industry,” Expert Systems with Applications, vol. 34, p. 280-290.

5.      Özekeş, S., Çamurcu, A. Y. 2002. Veri Madenciliğinde Sınıflama Ve Kestirim Uygulaması,” Marmara Üniversitesi Fen Bilimleri Dergisi, sayı 18, s. 1-17.
6.      Emel, Gül Gökay, and Çağatan TKIN. "VERİ MADENCİLİĞİNDE KARAR AĞAÇLARI VE BİR SATIŞ ANALİZİ UYGULAMASI." Sosyal Bilimler Dergisi 6.2 (2005).
7.      Wikipedia - ID3 Algorithm (https://en.wikipedia.org/wiki/ID3_algorithm)
8.      George H.: Estimating Continuous Distributions in Bayesian Classifiers. Proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence, pp. 338-345. Morgan Kaufmann, San Mateo (1995)

Öne Çıkan Yayın

NodeJS İle Basit Chat Uygulaması

Merhaba arkadaşlar bu yazımda sizelere nodejs ile genel olarak yapılan chat uygulamasından bahsedeceğim. NodeJs hakkında zaten internette fa...