MESLEK YÜKSEKOKULU ÖĞRENCİLERİNİN BAŞARI DURUMLARINI ETKİLEYEN FAKTÖRLERİN VERİ MADENCİLİĞİ KÜMELEME TEKNİKLERİ KULLANILARAK ANALİZİ: AĞRI MESLEK YÜKSEKOKULU ÖRNEĞİ Gaffari ÇELİK Yüksek Lisans Tezi Bilgisayar Mühendisliği Ana Bilim Dalı Yrd. Doç. Dr. Tolga AYDIN 2013 Her hakkı saklıdır ATATÜRK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ MESLEK YÜKSEKOKULU ÖĞRENCİLERİNİN BAŞARI DURUMLARINI ETKİLEYEN FAKTÖRLERİN VERİ MADENCİLİĞİ KÜMELEME TEKNİKLERİ KULLANILARAK ANALİZİ: AĞRI MESLEK YÜKSEKOKULU ÖRNEĞİ Gaffari ÇELİK BİLGİSAYAR MÜHENDİSLİĞİ ANA BİLİM DALI ERZURUM 2013 Her Haklı Saklıdır T.C. ATATÜRK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ TEZ ONAY FORMU MESLEK YÜKSEKOKULU ÖĞRENCİLERİNİN BAŞARI DURUMLARINI ETKİLEYEN FAKTÖRLERİN VERİ MADENCİLİĞİ KÜMELEME TEKNİKLERİ KULLANILARAK ANALİZİ: AĞRI MESLEK YÜKSEKOKULU ÖRNEĞİ Yrd. Doç. Dr. Tolga AYDIN danışmanlığında, Gaffari ÇELİK tarafından hazırlanan bu çalışma 09/09/2013 tarihinde aşağıdaki jüri tarafından Bilgisayar Mühendisliği Anabilim Dalı’nda Yüksek Lisans tezi olarak oybirliği/oy çokluğu (…/…) ile kabul edilmiştir. Başkan : Yrd. Doç. Dr. Tolga AYDIN İmza : Üye : Yrd. Doç. Dr. Deniz DAL İmza : Üye : Yrd.Doç. Dr. İ. Yücel ÖZBEK İmza : Yukarıdaki sonucu onaylıyorum Prof. Dr. İhsan EFEOĞLU Enstitü Müdürü Not: Bu tezde kullanılan özgün ve başka kaynaklardan yapılan bildirişlerin, çizelge, şekil ve fotoğrafların kaynak olarak kullanımı, 5846 sayılı Fikir ve Sanat Eserleri Kanunundaki hükümlere tabidir. ÖZET Yüksek Lisans Tezi MESLEK YÜKSEKOKULU ÖĞRENCİLERİNİN BAŞARI DURUMLARINI ETKİLEYEN FAKTÖRLERİN VERİ MADENCİLİĞİ KÜMELEME TEKNİKLERİ KULLANILARAK ANALİZİ: AĞRI MESLEK YÜKSEKOKULU ÖRNEĞİ Gaffari ÇELİK Atatürk Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı Danışman: Yrd. Doç. Dr. Tolga AYDIN Veri madenciliği, veri ambarlarında biriken ham veriyi kullanarak önceden bilinmeyen faydalı bilgilerin çeşitli yöntemlerle elde edilmesini sağlayan bir bilim dalıdır. Veri madenciliği çok hızlı bir şekilde gelişmekte ve kullanım alanı yaygınlaşmaktadır. Eğitim alanı da söz konusu kullanım alanlarından birisidir. Bu çalışmada veri madenciliği ve süreçleri incelenmiş, Ağrı İbrahim Çeçen Üniversitesi Meslek Yüksekokulunda eğitim gören öğrencilere ilişkin veriler toplanarak, bu verilere WEKA programı yardımı ile veri madenciliği yöntemlerinden kümeleme algoritmaları uygulanmıştır. Algoritma çalışma sonuçları incelenerek öğrenci başarılarını etkileyen faktörler tespit edilmiş ve eldeki veriye en uygun kümeleme algoritmaları belirtilmiştir. 2013, 89 Sayfa Anahtar Kelimeler: Veri Madenciliği, Veri Madenciliği Süreci, Kümeleme Algoritmaları, K-Means, DBScan, OPTICS, Meslek Yüksekokulu i ABSTRACT MS Thesis ANALYSIS OF THE FACTORS AFFECTING THE SUCCESS OF VOCATIONAL HIGH SCHOOL STUDENTS BY USING THE CLUSTERİNG TECHNIQUES OF DATA MINING: AĞRI VOCATIONAL HIGH SCHOOL CASE Gaffari ÇELİK Atatürk University Graduate Schoool of Natural and Applied Sciences Department of Computer Engineering Supervisor: Asst. Prof. Dr. Tolga AYDIN Data mining is a field that aims to obtain previously-unknown, useful knowledge from raw data at data warehouses by applying several methods. Data mining is developing very rapidly, and its area of usage is becoming widespread. Educational area is one of those areas mentioned. In this study, data mining and its processes were investigated. Data regarding the students enrolled in the Vocational High School of Ağrı İbrahim Çeçen University was collected, and the clustering algorithms of data mining were applied to this data by using WEKA software. The analysis of algorithmic study results helped us to identify the factors affecting the success of the students, and also helped us to state the clustering algorithms that best suit to the obtained data. 2013, 89 Pages Keywords: Data Mining, Data Mining Process, Clustering Algorithms, K-Means, DBScan, OPTICS, Vocational High School ii TEŞEKKÜR Bu tezin hazırlanmasında desteklerini benden esirgemeyen danışman hocam Sayın Yrd. Doç. Dr. Tolga AYDIN’a teşekkürü bir borç bilirim. Yüksek lisans eğitimimde emeği geçen hocalarım Sayın Doç. Dr. A. Samet HAŞILOĞLU’ na ve Sayın Yrd. Doç. Dr. Deniz DAL’ a teşekkürlerimi sunarım. Yardımlarından dolayı Ağrı İbrahim Çeçen Üniversitesi Rektörü Sayın Prof. Dr. İrfan ASLAN’a ve Ağrı Meslek Yüksekokulu Müdürü Sayın Yrd. Doç. Dr. Aydın ZOR’a; yardımlarını esirgemeyen mesai arkadaşım Sayın Öğr. Gör. M. Mehdi KARAKOÇ’a teşekkürlerimi sunarım. Ayrıca çalışmam süresince bana destek olan, maddi ve manevi olarak yanımda olan çok değerli eşim ve çocuğuma sonsuz teşekkürlerimi sunarım. Gaffari ÇELİK Eylül, 2013 iii İÇİNDEKİLER ÖZET.................................................................................................................................. i ABSTRACT ...................................................................................................................... ii TEŞEKKÜR .....................................................................................................................iii SİMGELER ve KISALTMALAR DİZİNİ ..................................................................... vii ŞEKİLLER DİZİNİ.......................................................................................................... ix ÇİZELGELER DİZİNİ .................................................................................................... xi 1. GİRİŞ ....................................................................................................................... 1 2. KAYNAK ÖZETLERİ .......................................................................................... 3 2.1. Veri Madenciliği Süreci ........................................................................................ 7 2.1.1. Problemin tanımlanması ..................................................................................... 8 2.1.2. Verilerin hazırlanması ........................................................................................ 8 2.1.2.a. Veri toplama .................................................................................................... 9 2.1.2.b. Değer biçme .................................................................................................... 9 2.1.2.c. Veri birleştirme .............................................................................................. 10 2.1.2.d. Veri temizleme .............................................................................................. 10 2.1.2.e. Veri seçimi ..................................................................................................... 11 2.1.2.f. Veri dönüştürme ............................................................................................ 11 2.1.3. Modelleme ........................................................................................................ 13 2.1.3.a. Modelleme tekniğinin seçilmesi .................................................................... 14 2.1.3.b. Test tasarımı .................................................................................................. 14 2.1.3.c. Modelin oluşturulması ................................................................................... 14 2.1.3.d. Modelin değerlendirilmesi ............................................................................ 14 2.1.4. Modelin kullanılması ........................................................................................ 15 2.1.5. Modelin izlenmesi ............................................................................................ 15 2.2. Veri Madenciliği Modelleri ................................................................................. 15 2.2.1. Tahmin edici modeller...................................................................................... 15 2.2.1.a. Sınıflandırma modeli ..................................................................................... 16 2.2.1.b. Regresyon ...................................................................................................... 20 iv 2.2.2. Tanımlayıcı modeller ....................................................................................... 21 2.2.2.a. Kümeleme analizi .......................................................................................... 21 2.2.2.b. Birliktelik kuralları ........................................................................................ 22 2.3. Veri Madenciliği Kümeleme Algoritmaları ........................................................ 23 2.3.1. Uzaklık ölçüleri ................................................................................................ 26 2.3.2. Bölümlemeli yöntemler .................................................................................... 31 2.3.2.a. K-Means algoritması ..................................................................................... 31 2.3.2.b. EM (Expectation Maximization) algoritması ................................................ 34 2.3.2.c. K-Medoids algoritması .................................................................................. 35 2.3.2.d. Clara algoritması ........................................................................................... 36 2.3.2.e. Clarans algoritması ........................................................................................ 37 2.3.3. Hiyerarşik yöntemler ........................................................................................ 38 2.3.3.a. En yakın komşu algoritması .......................................................................... 38 2.3.3.b. En uzak komşu algoritması ........................................................................... 39 2.3.4. Yoğunluk tabanlı yöntemler ............................................................................. 40 2.3.4.a. DBSCAN algoritması .................................................................................... 40 2.3.4.b. OPTICS algoritması ...................................................................................... 43 2.3.4.c. DENCLUE algoritması.................................................................................. 43 2.3.5. Izgara tabanlı yöntemler ................................................................................... 44 2.3.5.a. Sting algoritması ............................................................................................ 44 2.3.5.b. Dalga kümeleme metodu ............................................................................... 45 2.3.5.c. CLIQUE algoritması...................................................................................... 46 3. MATERYAL ve YÖNTEM ................................................................................. 48 3.1. Materyal............................................................................................................... 48 3.1.1. Problemin tanımlanması ................................................................................... 48 3.1.2. Verinin hazırlanması ........................................................................................ 48 3.1.3. Verinin temizlenmesi ....................................................................................... 51 3.1.4. Veri birleştirme ve dönüştürme ........................................................................ 53 3.2. Yöntem ................................................................................................................ 61 4. ARAŞTIRMA BULGULARI ve TARTIŞMA ................................................... 68 5. SONUÇ ................................................................................................................. 81 v KAYNAKLAR ............................................................................................................... 83 EKLER ............................................................................................................................ 87 EK 1 ............................................................................................................................ 87 EK 2. ........................................................................................................................... 88 EK 3. ........................................................................................................................... 89 ÖZGEÇMİŞ .................................................................................................................... 90 vi SİMGELER ve KISALTMALAR DİZİNİ Dağıtım Hücrelerin nitel dağılımlarındaki dağılım tipi (normal, üstel gibi) Enb Hücre içerisindeki nitelik en büyük değeri Enk Hücre içerisindeki nitelik en küçük değeri m Hücredeki tüm değerlerin toplamı Max Bir verinin alabileceği en yüksek değer Min Bir verinin alabileceği en düşük değer MinNs Minimum nesne sayısı NoktaSys Veri setinde bulunan nokta sayısı ort Veri tabanındaki ilgili alanın ortalaması s Hücrede bulunan sayısal değerlerin standart sapması Verinin normalize edilmiş hali Verinin orijinal hali Veri tabanındaki ilgili alanın standart sapması Küme yarıçapı Kısaltmalar ARFF Attribute Related Format CLARA Clustering Large Applications CLARANS Clustering Large Applications Based Upon Randomized Search CLIQUE Clustering High-Dimensional Space DBSCAN Density-Based Spatial Clustering of Applications with Noise DENCLUE Density-based Clustering EM Expectation Maximization KPSS Kamu Personeli Seçme Sınavı MSSQLServer-2008 Microsoft SQL Server 2008 OPTICS Ordering Points To Identify the Clustering Structure PAM Partitioning Around Medoids vii SQL Structured Query Language STING Statistical Information Grid T-SQL Transact SQL VTBK Veri Tabanlarında Bilgi Keşfi WEKA Waikato Environment for Knowledge Analysis viii ŞEKİLLER DİZİNİ Şekil 2.1. Veri madenciliğinde bilgi keşfi ....................................................................... 4 Şekil 2.2. VTBK süreci aşamaları ................................................................................... 7 Şekil 2.3. Bir kredi kartı kampanyasında yeni bir örneğin sınıflandırılması .................. 18 Şekil 2.4. Kümeleme ...................................................................................................... 23 Şekil 2.5. İki nokta arasındaki uzaklık ........................................................................... 27 Şekil 2.6. K-Means algoritmasına örnek ....................................................................... 33 Şekil 2.7. K-Medoids algoritması ile kümeleme .......................................................... 35 Şekil 2.8. En yakın komşu algoritmasında iki kümenin birbirine olan uzaklığı ............ 39 Şekil 2.9. En uzak komşu algoritmasında iki kümenin birbirine olan uzaklığı ............. 40 Şekil 3.1. Öğrenci bilgilerinin Delphi programı ile MSSQLSERVER-2008 veri tabanına aktarılmasını sağlayan programın ara yüzü .................................... 49 Şekil 3.2. MSSQLSERVER-2008 ara yüzü, oluşturulan veri tabanı (MYOOgrenci) ve oluşturulan tablolar ................................................................................... 51 Şekil 3.3. WEKA kullanıcı arayüzü ................................................................................ 62 Şekil 3.4. Verinin Excel2Arf Converter programı yardımı ile ARFF formatına dönüştürülmesi .............................................................................................. 63 Şekil 3.5. ARFF formatına dönüştürülmüş veri .............................................................. 64 Şekil 3.6. Explorer modülünün kullanıcı arayüzü ......................................................... 65 Şekil 3.7. Niteliklere göre istatistiki bilgiler ................................................................... 67 Şekil 4.1. K-Means algoritmasının WEKA çıktısı ......................................................... 69 Şekil 4.2. Lise türüne göre kayıtların kümelere dağılımı................................................ 71 Şekil 4.3. Doğum yerine göre kayıtların kümelere dağılımı ........................................... 72 Şekil 4.4. Aylık gelire göre kayıtların kümelere dağılımı .............................................. 72 Şekil 4.5. Kaldığı yere göre kayıtların kümelere dağılımı .............................................. 73 Şekil 4.6. Kardeş sayısına göre kayıtların kümelere dağılımı ........................................ 73 Şekil 4.7. Yaşa göre kayıtların kümelere dağılımı.......................................................... 74 Şekil 4.8. Babanın mesleğine göre kayıtların kümelere dağılımı ................................... 75 Şekil 4.9. Cinsiyete göre kayıtların kümelere dağılımı................................................... 75 Şekil 4.10. Sağlık sorununa göre kayıtların kümelere dağılımı ...................................... 76 ix Şekil 4.11. Annenin çalışma durumuna göre kayıtların kümelere dağılımı ................... 77 Şekil 4.12. Annenin hayatta olma durumuna göre kayıtların kümelere dağılımı ........... 78 Şekil 4.13. Babanın hayatta olma durumuna göre kayıtların kümelere dağılımı............ 78 Şekil 4.14. DBScan algoritmasının WEKA çıktısı ......................................................... 79 Şekil 4.15. OPTICS algoritmasının WEKA çıktısı......................................................... 80 x ÇİZELGELER DİZİNİ Çizelge 2.1. Onur ve yüksek onur öğrencileri listesi ...................................................... 17 Çizelge 2.2. Farklı kümeleme tekniklerinin karşılaştırılması ......................................... 25 Çizelge 2.3. Üç özelliğe ait gözlenen değerler ............................................................... 28 Çizelge 2.4. Öklid uzaklığına göre benzerlik matrisi ..................................................... 29 Çizelge 2.5. Manhattan uzaklığına göre benzerlik matrisi ............................................. 30 Çizelge 2.6. Minkowski uzaklığına göre benzerlik matrisi ............................................ 31 Çizelge 3.1. Veri dönüşüm aşamasında bazı niteliklerin aldığı değerler ........................ 61 Çizelge 4.1. K-Means algoritmasının sonucu ve özeti ................................................... 70 xi 1 1. GİRİŞ Teknolojinin yoğun olarak kullanıldığı günümüzde bilgilerin elektronik ortamlarda tutulmasıyla birlikte veri ambarlarında çok büyük miktarda veri birikimi meydana gelmiş, gün geçtikte veri birikimi inanılmaz boyutlara ulaşmıştır. Veri ambarlarında yığın halinde depolanan veri, veri madenciliği teknikleri ile anlamlı, kullanılabilir bilgiler haline getirilerek bu bilgi doğrultusunda tahminler yapılması veya çeşitli kararlar alınması sağlanabilir. Veri madenciliği ile yapılan uygulamaların olumlu sonuçlar üretmesi iş dünyasında ve akademik çevrede yoğun bir ilgi görmüş, bu sebeple veri madenciliği ile ilgili çeşitli algoritmalar üretilmiş, bulunan algoritmalarla ilgili yazılımlar yazılmış, konuya yönelik en iyi sonucu veren algoritmalar araştırılmış ve yeni teknikler geliştirilmiştir. Uygulamaya yönelik en iyi sonucu veren algoritmalar araştırılırken akademisyen ve araştırmacılar tarafından algoritmaların avantajları ve dezavantajları karşılaştırılmış ve hangisinin daha iyi olduğu kararlaştırılmıştır. Veri madenciliği teknikleri ile elde edilen sonuçların önceden bilinmemesi bu tekniklerin diğer yöntemlerden farklılığını ortaya koyar (Silahtaroğlu 2008). Veri madenciliği bankacılık, sağlık, sigortacılık, tıp, eğitim, pazarlama ve satış alanında, hedef pazarların tespitinde, müşteri ilişkilerinin yönetiminde, risk analizi ve dolandırıcılık saptamada, web analizi gibi birçok alanda uygulanmaktadır. Eğitim alanında, öğrencilerden alınan veriler analiz edilerek öğrencilerin başarılarını etkileyen faktörler bulunabilir, eğitim kalitesi artırılabilir. Aynı zamanda öğrencinin mezun olduğu lisans programı ile KPSS (Kamu Personel Seçme Sınavı)’deki başarı durumunun analizi, bölümlere göre başarının tespit edilmesi, üniversite giriş puanları ile okul başarısı arasında bir ilişkinin olup olmadığı, mezun olduğu lise türü ile okul başarısı arasında bir ilişkinin olup olmadığı gibi soruların cevabı bulunabilir. 2 Bu tez çalışmasında ilk önce veri madenciliği ile ilgili gerekli literatür taraması yapılıp temel kavramlar açıklanmış, uygulamada kullanılan bilgisayar yazılımları ve verinin toplanması, düzenlenmesi süreci anlatılmıştır. Daha sonra, hazırlanan veri setine WEKA yazılımı kullanılarak kümeleme algoritmalarından K-Means, DBScan ve OPTICS algoritmaları uygulanarak elde edilen sonuçlar verilmiştir. Son olarak Meslek Yüksekokulunda eğitim gören öğrencilerin başarılarını etkileyen faktörler ve veri setimize hangi kümeleme algoritmalarının uygun olduğu belirtilmiştir. 3 2. KAYNAK ÖZETLERİ Veri madenciliği önceden bilinmeyen, geçerli ve uygulanabilir bilgilerin çok büyük veri ambarlarından sağlanması ve bu bilgilerin işletme kararları alınırken kullanılmasıdır (Silahtaroğlu 2008). Larose (2006)’a göre veri madenciliği, yeni yöntemlerle veriler arasında gizli ilişkileri ortaya koyan bir bilim dalıdır. Başka bir tanıma göre veri madenciliği, veri tabanları içerisinde kritik kararlar almak, uygulanabilir ve anlamlı bilgilerin çıkarılmasına verilen addır. Varılması istenen bilgilerin, daha önceden bilinmeyen ancak potansiyel olarak kullanışlı, anlamlı ve kritik bilgiler olması gerekir (Argüden ve Erşahin 2008). Çok büyük veri ambarlarının incelendiği, veriler arasındaki ilişkileri, eğilimleri ve ilginç örüntüleri keşfetmede kullanılan bir süreçtir (Akın 2008). Bu süreç Şekil 2.1’de gösterilmiştir. Veri ambarları, daha sonradan kullanılmak üzere verilerin sorgulanabildiği ve analiz edildiği depolardır (Şentürk 2006). Veri ambarları elde edilen verinin, eksikleri giderildikten sonra işletme uygulamasına yönelik olarak dönüştürülmesi, özetlenmesi ve bir veri tabanına aktarılmasını içerir (Gürsoy 2009). 4 Şekil 2.1. Veri madenciliğinde bilgi keşfi (Baykasoğlu 2005) Veri madenciliği istatistiksel yöntemler serisi olarak görülse de, istatistikten birkaç yönden farklılık gösterir. Veri madenciliğinde amaç, kolaylıkla mantıksal kurallara ya da görsel sunumlara çevrilebilecek nitel modellerin bulunmasıdır (Baykasoğlu 2005). Veri madenciliğinin amaçları müşteri analizi örneği için aşağıdaki başlıklar altında verilebilir (Çoban 2006): Öngörü: Ürünlerin satışları ile ilgili tahminlerde bulunmak. Tanıma: Bir müşteriyi aldığı ürünlerden tanımak. 5 Sınıflandırma: Birçok parametrenin kullanılarak ürünleri ve müşterileri sınıflandırmak. En iyileme: Belirli kısıtlamalar çerçevesinde zaman, yer, para veya ham madde gibi sınırlı kaynakların kullanımı ile üretimi, satış miktarını veya kazancı artırmak. Veri madenciliği bankacılık, sağlık, sigortacılık, pazarlama ve satış alanında, hedef pazarların tespitinde, müşteri ilişkilerinin yönetiminde, risk analizi ve dolandırıcılık saptamada, web analizi gibi birçok alanda uygulanmaktadır. Bu uygulama alanların bazıları şöyle verilebilir: Pazarlama: Bu alan incelendiğinde en önemli uygulamaların, farklı müşteri gruplarını tanımlamak ve bu müşteri gruplarının davranışlarını tahmin etmeye yönelik olarak yapıldığı görülmektedir (Fayyad et al. 1996). Ayrıca, müşterilerin satın alma özelliklerinin belirlenmesi, mevcut müşterileri kaybetmeden yeni müşteriler kazanmada, müşteri ilişkileri yönetiminde ve satış tahmininde bulunmasında, pazar sepeti analizinde, kampanya ürünleri belirlenmesinde kullanılabilir (Dinçer 2006). Banka ve Sigortacılık: Bu alanlarda, kredi kartı dolandırıcılıklarının tespitinde, kredi kartı harcamalarına göre müşteri gruplarının belirlenmesinde, kredi taleplerinin değerlendirilmesinde, yeni poliçe talep edecek müşterilerin tahmin edilmesinde, sigorta dolandırıcılıklarının tespitinde, riskli müşterilerin özelliklerinin belirlenmesinde kullanılabilir (Baykal 2006). Eğitim: Öğrenci verileri analiz edilerek öğrencilerin başarılarını etkileyen faktörler, üniversite giriş puanları ile okul başarısı arasında bir ilişkinin olup olmadığı gibi uygulamalarda kullanılarak eğitim kalitesi arttırılabilir (Akgöbek ve Çakır 2009). Biyoloji, Tıp ve Genetik: Bitki türleri ıslah edilmesinde, gen haritasının analizinde ve genetik hastalıkların tespitinde, kanserli hücrelerin tespitinde, yeni virüs türlerinin keşfi ve sınıflandırılmasında, fizyolojik parametrelerin analizi ve değerlendirilmesinde kullanılmaktadır. 6 Kimya: Yeni kimyasal moleküllerin keşfi ve sınıflandırılmasında, yeni ilaç türlerinin keşfinde kullanılmaktadır. Yüzey Analizi ve Coğrafi Bilgi Sistemleri: Bölgelerin coğrafi özelliklerine göre sınıflandırılmasında, kentlerde yerleşim yerleri belirlenmesinde, kentlerde suç oranı, zenginlik-yoksulluk, köken belirleme, kentlere yerleştirilecek posta kutusu belirlemede, otomatik para makinaları ve otobüs durakları gibi hizmetlerin konumlarının tespitinde kullanılmaktadır. Görüntü Tanıma ve Robot Görüş Sistemleri: Çeşitli algılayıcılar aracılığı ile tespit edilen görüntülerden yola çıkarak yol tanıma, yüz tanıma, parmak izi tanıma gibi tekniklerde kullanılmaktadır. Uzay Bilimleri ve Teknolojisi: Gezegen yüzey şekillerinin ve gezegen yerleşimlerinin belirlenmesinde, yeni galaksiler keşfi ve yıldızların konumlarına göre gruplandırılmasında kullanılmaktadır. Meteoroloji ve Atmosfer Bilimleri: Bölgesel iklim, yağış haritaları oluşturulmasında, hava tahminleri, ozon tabası deliklerinin tespitinde ve çeşitli okyanus hareketlerinin belirlenmesinde kullanılmaktadır. Sosyal Bilimler ve Davranış Bilimleri: Kamuoyu yoklamaları incelenmesinde, seçim tahminlerinin yapılmasında kullanılmaktadır. Metin Madenciliği: Çok büyük ve anlamsız metin yığınları arasından anlamlı ilişkiler belirlemede kullanılmaktadır (Dinçer 2006). Veri madenciliğinde kullanılan verinin eksik veri içermesi ve verinin konu ile uyumsuzluğu durumunda sorunlar meydana gelmektedir (Akgöbek ve Çakır 2009). Aynı zamanda verinin sınırlı bilgi içermesi, gürültü ve eksik değerlere sahip olması, 7 verinin boyutu, verideki güncellemeler ve konu dışı değerler veri madenciliği için problem teşkil eder (Vahaplar ve İnceoğlu 2001). 2.1. Veri Madenciliği Süreci Veri madenciliği daha çok, veri tabanlarında bilgi keşfi (VTBK) şeklinde daha geniş kapsamda incelenmektedir. Veri madenciliği sürecinde, özellikle veri ambarlarında tutulan çok çeşitli veriler kullanılarak, keşfedilmemiş, anlamlı ve yararlı bilgiler keşfedilir ve bu bilgiler karar verme işlemlerinde kullanılır (Dondurmacı 2011). VTBK, veri ambarlarındaki veriye erişerek analiz edilmesi ve sonuçlar üretilmesi üzerine odaklanmıştır. VTBK süreci, veri ambarı oluşturulması ve bu verilere dayanarak veri madenciliği işlemlerinin yerine getirilmesi aşamalarından oluşur (Mitra ve Acharya 2003). Bu süreç Şekil 2.2’de ki gibi gösterilmiştir. Şekil 2.2. VTBK süreci aşamaları (Fayyad et al. 1996) Veri madenciliği süreci genellikle tekrar eden adımlardan oluşur. Gerek görülmesi durumunda önceki adımlara dönülüp elde edilen bilgiler ışığı altında dinamik bir akış sağlanabilir (Babadağ 2006). 8 Şekil 2.2’ye göre VTBK keşfi aşamaları şöyle açıklanabilir (Sever ve Oğuz 2002): Veri Seçimi (Data Selection): Bu adımda birkaç veri kümesi birleştirilerek, uygun örneklem kümesi oluşturulur. Veri Temizleme ve Önişleme (Data Cleaning & Preprocessing): Seçilen örneklemde, hatalı bilginin çıkarıldığı, eksik nitelik değerleri yerine yeni değerlerin konulduğu adımdır. Bu adım keşfedilecek bilginin kalitesini artırır. Veri İndirgeme (Data Reduction): Uygulama için seçilen örneklemden ilgisiz niteliklerin atıldığı ve tekrarlı verinin ayıklandığı adımdır. Veri Madenciliği (Data Mining): Belirli bir veri madenciliği tekniğinin (sınıflama gibi) işletilme adımıdır. Değerlendirme (Evaluation): Keşfedilen bilginin geçerliliğinin, yenilik durumunun, faydalı olup olmadığının değerlendirilmesi aşamasıdır. Veri madenciliği süreci daha detaylı bir biçimde ise şöyle tanımlanabilir: 2.1.1. Problemin tanımlanması İlk adım veri madenciliği çalışmasının hangi amaç için yapılacağının ortaya konulmasıdır. Cevabı aranan problemin net bir şekilde ifade edilerek sonuçlarının değerlendirme şartlarının tanımlanmasını yapmaktır (Argüden ve Erşahin 2008). Aynı zamanda bulunacak sonuçların başarı düzeylerinin nasıl ölçüleceği belirtilmelidir. Ayrıca yanlış tahmin sonucunda katlanılacak olan maliyetlere ve doğru tahminler sonucunda kazanılacak faydalara ilişkin tahminler de bu adımda değinilmelidir (Akpınar 2000). 2.1.2. Verilerin hazırlanması Verilerin hazırlanması aşamasında veri tabanlarındaki verilerde hatalı değerlerin onarılmasını ya da düzeltilmesini içeren ön hazırlık işlemleri yapılır (Han ve Kamber 9 2006). Veri madenciliği öncesinde verinin hazırlanması süreci olarak da kabul edilen bu adımda özellikle veri tabanındaki hatalı değerleri ve veriler arasındaki tutarsızlıkları kaldırma amaçlanmaktadır (Dondurmacı 2011). Veri hazırlama aşamasında aşağıdaki durumlara dikkat edilmelidir (Özmen 2003): Gereksiz veri alanları varsa silinmelidir. Hatalı ölçülen ve/veya hatalı girilmiş veri varsa çıkarılmalıdır. Eksik verilerin, sonucu etkileyip etkilemeyeceği kontrol edilmelidir. Birbirine eşdeğer veri alanları ayıklanmalıdır. Verilerin hazırlanması aşaması; toplama, değer biçme, birleştirme ve temizleme, seçme ve dönüştürme adımlarından meydana gelmektedir (Akpınar 2000). 2.1.2.a. Veri toplama Belirtilen uygulama için gerekli verilerin ve veri kaynaklarının belirlenmesi aşamasıdır. Verilerin toplanmasında kuruluşun kendi veri kaynaklarının dışında diğer veri tabanlarından da faydalanılabilir (Akpınar 2000). 2.1.2.b. Değer biçme Tanımlanan problem için kullanılacak verinin farklı kaynaklardan toplanması, veri uyumsuzluklarına neden olabilir. Bu uyumsuzluklar, farklı veri tabanlarındaki kodlama farklılıkları (örneğin bir veri tabanında cinsiyet özelliğinin E/K, diğer bir veri tabanında 0/1 olarak girilmesi), verinin farklı zamanlara ait olması ve farklı ölçü birimlerinin kullanılmasından kaynaklanabilir. Toplanan verilerden iyi sonuç alabilmek için, toplanan verilerin ne ölçüde değerlendirilmelidir (Akpınar 2000). uyumlu oldukları bu aşamada incelenerek 10 2.1.2.c. Veri birleştirme Veri madenciliğinde sıklıkla farklı veri tabanlarındaki verilerin tek bir veri tabanında (genellikle bir veri ambarında) birleştirilmesi gerekebilir. Fakat böyle bir durumda alan isimlerinin ve/veya türlerinin farklılığından kaynaklı hatalar meydana gelebilmektedir. Bu hatalara şema birleştirme hataları (schema integration errors) denir. Örneğin, bir veri tabanında müşteri numarası için “müşteri_no” tanımlanmışken, diğer veri tabanında “müşteri_numarasi” şeklinde tanımlanmış olabilir. Böyle hatalardan kaçınmak için verilerin tutulduğu tablolara ait bilgileri içeren bir meta veriye ihtiyaç duyulmaktadır. Veri birleştirmede önemli bir konu da indirgemedir. Birleştirme işleminden sonra, elde edilen veri kümesinde fazlalıklara sebep olabilecek, aynı anlam veya işleve sahip ya da aralarındaki korelasyonun yüksek olduğu alanlardan biri çıkarılabilir (Oğuzlar 2003). 2.1.2.d. Veri temizleme Veri temizleme, eksik verilerin tamamlanması, hatalı ve aykırı değerlerin teşhis edilmesi amacıyla gürültünün düzeltilmesi, verilerdeki tutarsızlıkların giderilmesi gibi işlemlerin yapıldığı aşamadır (Oğuzlar 2003). Bu aşamada gürültülü ve tutarsız veriler çıkarılarak verinin kalitesi arttırılır ve yanlış girişten veya istisnalardan kaynaklanan veriler, değerlendirmeden alıkonulabilir. Verileri temizlemek sadece veriyi çıkarmak değildir. Bazı durumlarda eksik veriyi tamamlamak için modellemeler de yapılmalıdır (Argüden ve Erşahin 2008). Roiger et al. (2003)’a göre herhangi bir değişkene ilişkin eksik değerlerin doldurulması için farklı metotlar vardır. Bunlar (Oğuzlar 2003): Eksik veri içeren kayıtlar çıkarılabilir. Değişkenin ortalaması, eksik değerlerin yerine kullanılabilir. Eksik veri içeren değişkenler, var olan verilere göre en uygun değer ile doldurulabilir. 11 2.1.2.e. Veri seçimi Veri seçim aşamasında kurulacak modele bağlı olarak veri seçimi yapılır. Örneğin tahmin edici bir model için, bu adım bağımlı ve bağımsız değişkenlerin ve modelin eğitiminde kullanılacak veri kümesinin seçilmesi anlamına gelmektedir. Sıra numarası, kimlik numarası gibi anlamlı olmayan ve diğer değişkenlerin modeldeki ağırlığının azalmasına da neden olabilecek değişkenlerin modele girmemesi gerekir. Bazı veri madenciliği algoritmaları konu ile ilgisi olmayan bu tip değişkenleri otomatik olarak elese de, pratikte bu işlemin kullanılan yazılıma bırakılmaması daha yararlı olacaktır. Verilerin görselleştirilmesine olanak sağlayan grafik araçlar ve bunların sunduğu ilişkiler, bağımsız değişkenlerin seçilmesinde önemli faydalar sağlayabilir. Genellikle yanlış veri girişinden veya bir kereye mahsus bir olayın gerçekleşmesinden kaynaklanan verilerin, önemli bir uyarıcı enformasyon içerip içermediği kontrol edildikten sonra veri kümesinden çıkarılması tercih edilir. Modelde kullanılan veri tabanının çok büyük olması durumunda tesadüfleri bozmayacak şekilde örnekleme yapılması uygun olabilir (Akpınar 2000). 2.1.2.f. Veri dönüştürme Veri dönüştürme işlemi, verilerin seçilen veri madenciliği modeli için uygun formlara dönüştürülmesi aşamasıdır (Zaïane 1999). Bu aşamada, toplanan veriler, işlenmek için uygun formlara dönüştürülür (Han and Kamber 2006). Veri madenciliği çalışmasında kullanılacak model, teknik ve algoritmalar bazı veri türleriyle çalıştığı halde bazı veri türleri ile çalışmayabilir. Bazı algoritmalar sayısal değerlerle çalışırken bazıları 0 ve 1’lerden oluşan değerlerle, bazıları ise kategorik değerlerle çalışabilir. Bu durumda toplanan veriler çalışılacak algoritmaya göre uygun formata dönüştürülmelidir (Silahtaroğlu 2008). Örneğin bir uygulamada yapay sinir ağı algoritması kullanılıyorsa kategorik değişken değerlerinin evet/hayır olması; karar ağacı algoritması kullanılıyorsa değişken değerlerinin yüksek/orta/düşük gibi gruplanmış olması modelin verimliliğini artıracaktır (Akpınar 2000). 12 Veri dönüştürme aşamasında normalizasyon tekniği kullanılır. Eldeki verilerin 0-1 aralığına indirilmesi işlemine normalizasyon denir (Han and Kamber 2006). Verilerin normalize edilmesi, birden fazla nesneye ait veriyi orta bir yol bularak, bir tabloda saklanabilir hale geliştirilmesi işlemidir (Gözüdeli 2012). Normalleştirme; yapay sinir ağları, kümeleme ve sınıflandırma gibi uzaklık ölçümleri içeren algoritmalar için özellikle yararlıdır. Normalizasyon işlemi için çeşitli yöntemler vardır; min-max normalizasyonu, sıfır-ortalama normalizasyonu ve ondalık normalizasyonu bu yöntemlerden bazılarıdır (Han and Kamber 2006). Min-max normalizasyon yöntemi, verileri doğrusal olarak normalize eder. Min bir verinin alabileceği en düşük değer iken, max verinin alabileceği en yüksek değeri ifade eder. Bir veriyi 0–1 aralığına indirgemek için min-max yöntemi aşağıdaki formülü kullanır. Burada verinin normalize edilmiş halini, ise orijinal halini göstermektedir. Örneğin en yüksek değer 89, en düşük değerin 18 olduğu yaş verileri normalize edildiğinde 37 değeri; olacaktır. Eğer normalizasyon aralığı 0-1’den farklı bir aralık ise, bu durumda formül: ( ) 13 37 değerini 1-5 aralığında yukarıdaki formüle göre normalize edecek olursak, yeni değer: ( ) Sıfır-ortalama yönteminde ise ortalama ve standart sapma değeri kullanılır. Burada ort veri tabanındaki ilgili alanın ortalamasını, ise o alanın standart sapmasını ifade etmektedir. Yukarıdaki 37 yaş örneği için ort=48.96 ve kabul edilirse, 37 sayısının normalize edilmiş değeri: olacaktır. Normalizasyon dışında verilerin boyutunun indirgenmesi de gerekebilir. Boyutun indirgenmesi değişken sayısının azaltılmasıdır. Gereksiz yere tutulan bir değişkenin değerlendirmeden çıkarılması indirgeme işlemine örnek olarak verilebilecek olsa da indirgeme işlemi daha çok birden fazla değişkenin birleştirilerek tek bir değişken ile ifade edilmesi şeklindedir (Silahtaroğlu 2008). 2.1.3. Modelleme Modelleme aşamasında verilerden bilgi çekmek için ileri çözümleme yöntemleri kullanıldığından veri madenciliği sürecinin en önemli aşamasıdır. Bu aşama uygun modelleme tekniğinin seçimi, model geliştirme ve tahmin işlemlerini içermektedir. Veri madenciliği uygulamaya göre farklı yöntemler içerebilir. Bazı yöntemler, her veri tipi için uygun olmayabilir ve özel tanımlamalar gerektirebilir. Bu nedenle veri tipi 14 dönüşümü gerekli olduğunda veri hazırlama aşamasına geri dönülür (Albayrak ve Yılmaz 2009). 2.1.3.a. Modelleme tekniğinin seçilmesi Modellemenin birinci aşaması, kullanılacak olan modelleme tekniğinin seçilmesidir (Chapman et al. 2000). Modelleme teknikleri tahmin edici (Predictive) ve tanımlayıcı (Descriptive) modeller olarak iki başlık altında incelenmektedir. Sınıflama ve regresyon modelleri tahmin edici; birliktelik kuralları ve kümeleme modelleri ise tanımlayıcı modellerdir. Modelleme teknikleri “Veri Madenciliği Modelleri” bölümünde daha detaylı bir şekilde değinilmiştir. 2.1.3.b. Test tasarımı Modelin yapılandırılmasından önce, kalite ve geçerliliğini test etmek amacıyla bir yordam veya mekanizmanın oluşturulması gerekmektedir (Chapman et al. 2000). Modelde yanlış olarak sınıflanan olay sayısının, tüm olay sayısına bölünmesi ile hata oranı, doğru olarak sınıflanan olay sayısının tüm olay sayısına bölünmesi ile ise doğruluk oranı bulunur (Argüden ve Erşahin 2008). 2.1.3.c. Modelin oluşturulması Hazırlanan veri seti üzerinde bir veya daha fazla model üretmek üzere modelleme aracının çalıştırılması aşamasına model oluşturma denir (Chapman et al. 2000). 2.1.3.d. Modelin değerlendirilmesi Modelin değerlendirilmesi; başarı kriterlerine, edinilmiş tecrübelere ve test sonuçlarına göre modelin değerlendirilmesi aşamasıdır. Amaç, tüm projenin değerlendirilmesinden çok modelin teknik yönden değerlendirilmesidir (Argüden ve Erşahin 2008). 15 2.1.4. Modelin kullanılması Kurulan ve geçerliliği kabul edilen model doğrudan bir uygulama olabileceği gibi, bir başka uygulamanın parçası olarak da kullanılabilir. Kurulan modeller; risk analizi, kredi değerlendirme, dolandırıcılık tespiti gibi işletme uygulamalarında doğrudan kullanılabilir. Aynı zamanda promosyon planlaması simülasyonuna gömülebilir veya tahmin edilen envanter düzeyleri yeniden sipariş noktasının altına düştüğünde, otomatik olarak sipariş verilmesini sağlayacak bir uygulamanın içine entegre edilebilir (Akpınar 2000). 2.1.5. Modelin izlenmesi Zaman içerisinde bütün sistemlerin özelliklerinde ve dolayısıyla ürettikleri verilerde meydana gelecek değişiklikler, kurulan modellerin sürekli olarak izlenmesini ve yeniden düzenlenmesini gerektirebilir. Tahmin edilen ve gözlenen değişkenler arasındaki farklılığı gösteren grafikler, model sonuçlarının izlenmesinde kullanılan yararlı bir yöntemdir (Akpınar 2000). 2.2. Veri Madenciliği Modelleri Veri madenciliğinde kullanılan modeller, tahmin edici (Predictive) ve tanımlayıcı (Descriptive) modeller olarak iki başlık altında incelenmektedir. Sınıflama ve regresyon modelleri tahmin edici; birliktelik kuralları ve kümeleme modelleri ise tanımlayıcı modellerdir. 2.2.1. Tahmin edici modeller Tahmin modellerinde, sonuçları bilinen verilerden hareket edilerek bir model geliştirilmesi ve oluşan modellerin yardımıyla bilinmeyen bir değerin önceden tahmin edilmesi amaçlanır. Ya da değişkenler arasında etkileşim olup olmadığı; varsa nasıl ve 16 hangi seviyede bir etkileşim olduğu belirlenmeye çalışılır (Babadağ 2006). Örneğin bir bankanın önceki dönemlerde vermiş olduğu kredilere ilişkin verilerden kurulan model, daha sonraki kredi taleplerinde müşteri özelliklerine göre verilecek olan kredinin geri ödenip ödenmeyeceğinin tahmininde kullanılabilmektedir (Özekes 2003). 2.2.1.a. Sınıflandırma modeli Sınıflandırma modeli, temel olarak, veri tabanındaki gizli örüntülerin ortaya çıkarılması yani verinin ortak özelliklerine göre ayrıştırılması için kullanılan modeldir (Tapkan, Özbakır ve Baykasoğlu 2011). Sınıflanma modeli iki aşamadan oluşur. İlk aşamada gözlemlenmiş verilerden sınıflandırma algoritması kullanılarak sınıflandırma kuralları oluşturulur. İkinci aşamada ise bu kurallar kullanılarak veriler sınıflandırılır (Kaya vd 2001). Böylece bütün kayıtlar birer sınıfa atanmış olur. Bu modeldeki uygulama alanlarına örnek olarak potansiyel müşteriler için düzenlenen kampanyalara dönüşler, mevcut müşterilerin belirli bir hizmeti almaktan vazgeçme olasılıkları, kredi başvurularının risk seviyeleri, çeşitli belirtilere göre hastalık ihtimallerin tespiti vb. uygulamalar verilebilir (Argüden ve Erşahin 2008). Örnek olarak Çizelge 2.1’de her bir öğrencinin onur, yüksek onur veya ödülsüz (N/A) durumları verilmiştir. Bu tabloda öğrencilerin hangi kriterler dahilinde onur ve yüksek onur ödüllerini aldıkları da gizlidir. İşte sınıflandırma algoritmaları, bu gizli kalmış kuralları ortaya çıkararak, veri tabanında kaydı bulunmayan, ancak verileri sonradan girilen bir öğrencinin onur veya yüksek onur öğrencisi olup olmadığına karar verir (Silahtaroğlu 2008). 17 Çizelge 2.1. Onur ve yüksek onur öğrencileri listesi (Silahtaroğlu 2008) Öğrenci Adı 1. 2. 3. Spor Disiplin Ödül Durumu Yıl Ort. Yıl Ort. Yıl Ort. Durumu Aysel … 2.5 3.5 2.8 *** ***** Onur Sevim … 2.8 3.9 2.9 **** ***** Yüksek Onur . . . Ayhan … 3.2 2.4 3.0 ** ***** Onur Can … 4.0 3.5 2.6 ** **** N/A Sınıflandırma modellerinde kullanılan başlıca teknikler: Karar Ağaçları Yapay Sinir Ağları İstatistiğe Dayalı Algoritmalar Mesafeye Dayalı Algoritmalar 18 Karar ağaçları Karar ağaçları ile sınıflandırma temel olarak bir karar ağacının oluşturulması, veri tabanındaki her kaydın bu ağaca uygulanması ve çıkan sonuca göre kaydın sınıflandırılması adımlarından oluşur. Diğer yöntemlerle karşılaştırıldığında karar ağaçlarının oluşturulması ve anlaşılması daha kolaydır. Karar ağacı oluşturulurken kullanılan algoritmaya göre ağacın şekli değişmekte ve değişik ağaç yapıları farklı sınıflandırma sonuçları verebilmektedir. Karar ağaçlarına bağlı olarak geliştirilen birçok algoritma vardır ve bu algoritmalar kök, düğüm ve dallanma kriteri seçimlerinde izledikleri yol açısından farklılık gösterirler (Tapkan, Özbakır ve Baykasoğlu 2011). Örneğin, bir veri seti incelenerek müşterilerin kredi durumunu tahmin edecek bir karar ağacı modeli oluşturulabilir. Bu modele ait bir sınıflama kuralı aşağıda verilmiştir: IF yas = "41...50" AND gelir = yüksek THEN kredidurumu = mükemmel Bu kural kullanılarak yaşı 41 ile 50 arasında olan ve gelir düzeyi yüksek bir kişinin kredi geri ödemesinde problem yaratmayacağı sonucu elde edilebilir. Oluşturulan bu modelin doğruluğu, test verileri aracılığı ile onaylandıktan sonra model, sınıfı belli olmayan yeni bir veriye uygulanabilir ve yeni verinin sınıfı belirlenebilir (Özekes 2003). Şekil 2.3. Bir kredi kartı kampanyasında yeni bir örneğin sınıflandırılması (Çankırı vd 2011) 19 Bir kredi kartı kampanyasına hangi özellikteki müşterilerin yanıt verip vermeyeceğini karar ağacı modeli kullanarak bulmaya çalışan yukarıdaki örneği incelediğimizde yüksek geliri olan X adındaki bayanın kampanyaya yanıt vermediği görülebilir. Bu durumda aşağıdaki sınıflama kuralı verilebilir (Çankırı vd 2011): IF Gelir=Yüksek AND Cinsiyet=Bayan THEN Kampanya=Yanıtlamaz En yaygın kullanılan karar ağaçları algoritmaları şunlardır: ID3 C4.5 ve C5 CART SLIQ SPRINT Yapay sinir ağları Yapay sinir ağları ile sınıflandırmanın işleyiş yapısı, çıktı katmanına ulaşabilmek için ağırlıkların hesaplanmasına dayanır. Eğitim veri kümesi üzerinde hesaplanan ağırlıklar, test veri kümesi üzerinde kullanılarak öğrenmenin ne kadar gerçekleştiği belirlenir. Elde edilen ağırlıkların etkinliği doğrulanamazsa ağırlıklar üzerinde düzeltme ve yeniden hesaplama işlemleri yapılır. Öğrenme süreci bittiğinde ağırlıklar yardımıyla yeni bir verinin hangi sınıfa ait olduğu belirlenebilir. Yapay sinir ağlarında öğrenme süreci uzun sürse de oldukça duyarlı sınıflandırmalar yapılabilmektedir (Tapkan vd 2011). İstatistiğe dayalı algoritmalar İstatistiğe dayalı algoritmalar, verilerin daha önceden belirtilen sınıflara göre ayrılması, gelecekte varılacak sonuçların tahmin edilmesidir. Regresyon, lojistik regresyon, zaman 20 serileri analizi ve Bayes yaklaşımı gibi istatiksel yöntemler kullanılarak bu sınıflandırma işlemi gerçekleştirilebilir (Silahtaroğlu 2008). Mesafeye dayalı algoritmalar Verilerin birbirlerine olan uzaklıkları ve benzerliklerine dayalı bu tür algoritmaların en yaygın kullanılanı k-en yakın komşu algoritmasıdır. Bu algoritmanın amacı, sınıfları belli olan bir örnek kümedeki gözlem değerlerini kullanarak yeni gözlemlerin hangi sınıfa ait olduğunu tespit etmektir. Örnek kümedeki gözlemlerin her birinin, sonradan belirlenen bir gözlem değerine olan uzaklıklarının hesaplanması ve en küçük uzaklığa sahip k sayıda gözlemin seçilmesi esasına dayanan algoritmalardır (Tapkan vd 2011). 2.2.1.b. Regresyon Süreklilik gösteren değerleri tahmin etmek için kullanılan modeldir. Amaç girdiler ile çıktıyı ilişkilendirecek modeli oluşturup, en iyi tahmine ulaşmaktır. Sonuç değeri, “bağımlı değişken”; girdiler ise “bağımsız değişken” olarak tanımlanır. Sonucun alacağı değer genellikle bir güvenlik aralığı içinde belirtilir. Girdiler, çözülecek probleme göre bir veya birden fazla olabilir. Örnek olarak; bir inşaat firması konut satışlarının, faaliyet gösterdiği bölgede elde edilen toplam gelir ile ilişkili olduğunu düşünüyorsa, sadece bölgesel gelire dayalı bir model oluşturarak, bölgesel gelirdeki değişime göre satacağı ev sayısını tahmin edebilir. Finansal tahminler, zaman serisi tahminleri, biyomedikal ve ilaç reaksiyonları, konut fiyatı değerlendirmeleri, müşterinin yaşam çevrimi boyunca yarattığı değer, atmosferdeki CO2 oranı tahmini gibi alanlarda uygulanabilir (Argüden ve Erşahin 2008). 21 2.2.2. Tanımlayıcı modeller Tanımlayıcı modellerde amaç, karar vermeye yardımcı olacak mevcut veri setindeki örüntüleri bulmaktır (Kavurkacı vd 2011). Tanımlayıcı modellerin amacı belirli bir hedefi tahmin etmek değil veri setinde yer alan veriler arasındaki ilişkileri, bağlantıları ve davranışları bulmaktır. Var olan verileri yorumlayarak davranış biçimleri ile ilgili tespitler yapmayı ve bu davranış biçimini gösteren alt veri setlerinin özelliklerini tanımlamayı amaçlar (Argüden ve Erşahin 2008). Geliri [X-Z] aralığında ve iki veya daha fazla arabası olan çocuklu aileler ile çocuğu olmayan ve geliri [X-Y] aralığından düşük olan ailelerin satın alma eğilimlerinin birbirlerine benzerlik gösterdiğinin belirlenmesi örnek verilebilir (Akpınar 2000). Aynı zamanda 25 yaş altı bekâr kişiler ile 25 yaş üstü evli kişiler üzerinde yapılan ve ödeme performanslarını gösteren bir analiz, tanımlayıcı modellere örnek olarak verilebilir (Çankırı vd 2011). 2.2.2.a. Kümeleme analizi Kendi içinde benzer özellik taşıyan; fakat diğer gruplardakine benzemeyen nesneler içeren her gruba küme adı verilir. Kümeleme, veri nesnelerinin gruplara ayrılması işlemidir. Kümeleme analizi, veri setinin içinde bulunan anlamlı veya kullanışlı grupları bulma sürecidir. (Işık ve Çamurcu 2008). Büyük miktardaki veri niceliklerinin analizindeki ortak ihtiyaç; nesneler gruplandırılırken nesnelerin özelliklerinin küme içindeki benzerliğin yüksek, diğer kümelerle olan benzerliğinin ise düşük olmasıdır (Giannotti and Pedreschi 2008). İnsanoğlu için beş ya da altı niteliğe sahip bir nesneler topluluğunu, niteliklerdeki benzerliklere bakarak gruplamak mümkünken bu sayının çok daha fazla olması durumunda gruplamak olanaksız hale gelmektedir. Bu noktada tanımlayıcı bir veri madenciliği yöntemi olan kümeleme yöntemiyle veri çeşitli tekniklerle önceden sayısı bilinmeyen kümelere ayrılabilmektedir (Bozkır vd 2009). 22 Kümeleme algoritmaları ile sınıflandırma algoritmaları arasındaki en önemli fark, kümelemenin önceden tanımlanmış girdilere dayanmamasıdır. Sınıflandırma algoritmalarında tanımlı girdiler ve bunların geçmişte aldıkları değerler temel modeli oluştururken, kümeleme algoritmalarında önceden tanımlanmış girdiler ve örnekler yoktur. Veriler kendi içlerindeki benzer özelliklere göre gruplanırlar. Benzerliği tanımlayacak değerler ve özellikler modeli kuran tarafından öngörülür (Argüden ve Erşahin 2008). 2.2.2.b. Birliktelik kuralları Birliktelik kuralları olayların birlikte gerçekleşme durumlarını inceleyen bir yöntemdir. Bu yöntem ile müşterilerin satın alma eğilimleri belirlenebilir. Teorik olarak, kullanıcı tarafından belirlenen en küçük destek ve en küçük güven seviyelerinin üstünde destek ve güven seviyesine sahip kuralların belirlenmesidir (Tapkan vd 2011). Bir müşterinin yaptığı tüm alışverişlerdeki ürünler arasındaki ilişkiler bulunarak satın alma alışkanlıkları tespit edilebilir. Market yöneticileri bu bilgiler doğrultusunda etkin satış stratejileri geliştirebilir(Kavurkacı vd 2011). Birliktelik kuralları, eş zamanlı olarak gerçekleşen ilişkilerin tanımlanmasında kullanılır. Örnek olarak: Müşteriler bira satın aldığında, %75 olasılıkla patates cipsi de alırlar, Düşük yağlı peynir ve yağsız yoğurt alan müşteriler, %85 olasılıkla diyet süt de satın alırlar. Aynı zamanda birbirleri ile ilişkisi olan ancak birbirini izleyen dönemlerde gerçekleşen ilişkilerin tanımlanmasında da kullanılır. Örnek olarak: X ameliyatı yapıldığında, 15 gün içinde %45 olasılıkla Y enfeksiyonu oluşacaktır, 23 İMKB endeksi düşerken A hisse senedinin değeri %15’den daha fazla artacak olursa, üç iş günü içerisinde B hisse senedinin değeri %60 olasılıkla artacaktır, Çekiç satın alan bir müşteri, ilk üç ay içerisinde %15, bu dönemi izleyen üç ay içerisinde %10 olasılıkla çivi satın alacaktır (Çankırı vd 2011). Yaygın olarak kullanılan birliktelik kuralları algoritmaları şunlardır: AIS SETM Apriori AprioriTid Apriori-Hybrid OCD 2.3. Veri Madenciliği Kümeleme Algoritmaları Kümeleme analizi, Şekil 2.4’de görüldüğü gibi bir veri setindeki verileri benzer özelliklerine göre kümelere bölme işlemidir. Küme elemanlarının kendi kümesindeki elemanlarla benzerliğinin fazla, diğer kümedeki elemanlarla benzerliğinin az olması amaçlanır. Şekil 2.4. Kümeleme (Akpınar 2000) 24 Kümeleme analizi, veri tabanlarındaki verileri gruplayarak, benzer özelliklere sahip nesnelerin bir araya gelmesini sağlayan bir veri madenciliği yöntemidir (Yılmaz ve Patır 2011). Kümeleme analizi için algoritmalar iki başlık altında toplanmıştır. Bunlardan ilki, hiyerarşik kümeleme teknikleri, diğeri ise hiyerarşik olmayan kümeleme teknikleridir. Her iki teknikte de amaç kümeler arasındaki farklılıkları ve kümeler içi benzerlikleri en yüksek seviyeye çıkarmaktır. Yani, küme içi homojenlik arttırılırken kümeler arası homojenlik ise azaltılmaktadır. Hangi tekniğin kullanılacağı küme sayısına bağlı olmakla birlikte her iki tekniğin beraber kullanılması çok daha yararlıdır. Böylece hem sonuçları hem de iki teknikten hangisinin daha uygun sonuçlar verdiğini karşılaştırmak mümkün olacaktır (Akın 2008). tekniklerinin karşılaştırılması verilmiştir. . Çizelge 2.2’de farklı kümeleme 25 Çizelge 2.2. Farklı kümeleme tekniklerinin karşılaştırılması (Kuo et al. 2002) Kümeleme Yöntemi Yapay Sinir Avantajları Dezavantajları Ağları - Büyük hacimli veriler (Örn: Kohonen Ağları) Hiyerarşik Yöntemler - Eğitim parametrelerinin üzerinde çalışabilme ayarlanmasının zor olması - Küme sayısını - belirleyebilmesi farklı sonuçlar vermesi - Küme sayısını - Büyük hacimli veriler belirleyebilmesi üzerinde çalışma zorluğu Farklı parametrelerin (Örn: Ward’ın Minimum Varyans Yöntemi) Hiyerarşik Olmayan - Başlangıç noktası ve küme - Başlangıç noktasının ve sayısı verildiğinde daha iyi küme Yöntemler (Örn: K- sonuçlar alınabilmekte sayısının rastgele olarak seçilmesi. Means Yöntemi) - Büyük hacimli veriler üzerinde çalışabilmekte Kümeleme analizinin kullanıldığı alanlar şu şekilde sıralanabilir: Pazarlama: Kümeleme analizi, müşterilerin satın alma özelliklerine göre kümelere ayrılmasını sağlar. Biyoloji: Bitki ve hayvan gruplarından benzer özellik gösteren genlerin kategorize edilmesinde kullanılmaktadır. 26 Coğrafya: Konumsal verilerden yararlanarak bölgeler arasındaki benzerliklere göre, buralara götürülecek mal ve hizmetler için ideal yerler belirlemede kullanılır. İnternet: Web üzerindeki belgelerin gruplandırılmasında kullanılmaktadır. Şehir Planlaması: Konumlarına, özelliklerine göre binaların gruplandırılmasında kullanılmaktadır. Deprem Araştırmaları: Sürekli fay hatları belirlenerek deprem merkezlerinin gruplara ayrılmasında kullanılmaktadır. Önceden elde edilmiş kümeler üzerinde sınıflama yapma ve kategorize etme gibi işlemler yapan diğer algoritmalar için bir ön işlem adımını sağlar (Erdoğan 2004). Kümeleme işleminde izlenecek adımlar şunlardır (Durmuş ve İplikçi 2007): Örneklerin sunulması Örneklerin uzaklık ölçümlerinin veri tabanına uygun olarak tanımlanması Kümeleme veya gruplama Veri ayıklama (gerekli olduğu durumlarda yapılmaktadır) 2.3.1. Uzaklık ölçüleri Kümeleme algoritmalarında kullanılan uzaklık ölçülerinden en yaygın kullanılan üç tanesi aşağıda verilmiştir (Özkan 2013): Öklid Uzaklığı: Uygulamalarda en çok kullanılan uzaklık ölçüsüdür. Bu uzaklık Şekil 2.5’de görüldüğü gibi Pisagor teoreminin bir uygulamasıdır. 27 Şekil 2.5. İki nokta arasındaki uzaklık (Özkan 2013) A ve B noktaları arasındaki Öklid uzaklığı şu şekilde bulunur: ) d (A,B)=√( P boyutlu d( ( ) için Öklid uzaklığı: ve ( )=√∑ ) şeklinde bulunur. Manhattan Uzaklığı: Bu uzaklık ölçüsü, noktalar (nesneler) arasındaki mutlak uzaklık toplamı alınarak hesaplanır. P boyutlu d( )= ∑ için Manhattan uzaklığı: ve ( ) 28 Minkowski Uzaklığı: Minkowski uzaklığı şu şekilde bulunur. d( )= [∑ ( ) ] : veri kümesindeki özellik sayısı Örnek: Ö1, Ö2 ve Ö3 gibi üç özellikten oluşan aşağıdaki gözlemler göz önüne alarak bu gözlem noktalarının her birinin birbirine olan uzaklığını Öklid, Manhattan, Minkowski uzaklık yöntemleri ile hesaplayalım. Çizelge 2.3. Üç özelliğe ait gözlenen değerler Öklid Uzaklığı: oluşmaktadır. Gözlem Ö1 Ö2 Ö3 1 2 3 1 2 4 1 3 3 5 7 3 4 4 8 2 5 3 9 5 Örneğimiz 5 gözlemden, her bir gözlemimiz 3 özellikten numaralı gözlem noktaları arasındaki uzaklık şu şekilde ve bulunur: d( )= √( ) ( ) ( ) Üçüncü gözlem ile birinci gözlem arasındaki uzaklığı hesaplamak istersek: d( )= √( ) ( ) ( ) 29 =√( ) ( ) ( ) =5.39 Benzer şekilde her bir gözlem değeri arasındaki Öklid uzaklıkları hesaplanarak aşağıdaki matris oluşturulur. Çizelge 2.4. Öklid uzaklığına göre benzerlik matrisi Gözlem 1 1 0 2 3.46 0 3 5.39 4.08 0 4 5.48 7.07 1.73 0 5 7.28 8.31 3.46 3.32 2 Manhattan Uzaklığı: Üç özellikli ve 3 4 5 0 noktaları için Manhattan uzaklık bağıntısı şu şekildedir: d( | )=| | | | | Bu bağıntı yardımı ile ikinci gözlem ile birinci gözlem arasındaki Manhattan uzaklığı: d( )= =|4-2|+|1-3|+|3-1|=6 olarak bulunur. Benzer biçimde diğer tüm gözlemlerin birbirine göre olan uzaklığı, Manhattan uzaklık yöntemi ile hesaplanırsa aşağıdaki matris oluşturulur: 30 Çizelge 2.5. Manhattan uzaklığına göre benzerlik matrisi Gözlem 1 1 0 2 6 0 3 9 7 0 4 8 8 3 0 5 11 11 6 5 Minkowski Uzaklığı: Üç özellikli 2 ve 3 4 5 0 noktaları için Minkowski uzaklık bağıntısı şu şekildedir: d( ] )=[ Bu bağıntıdan yararlanarak m=3 varsayımı altında ikinci ve birinci gözlem noktaları arasındaki Minkowski uzaklığı aşağıdaki gibidir: d( =[ )= [ ] ] =2.88 Benzer biçimde diğer tüm gözlemlerin birbirine göre olan uzaklığı Minkowski uzaklık yöntemi ile hesaplanırsa aşağıdaki matris oluşturulur: 31 Çizelge 2.6. Minkowski uzaklığına göre benzerlik matrisi Gözlem 1 1 0 2 2.88 0 3 4.63 6.01 0 4 5.12 7.01 1.44 0 5 6.55 8.05 2.88 3.07 2 3 4 5 0 2.3.2. Bölümlemeli yöntemler Bölümlemeli kümeleme teknikleri, n adet nesneden oluşan veri setini başlangıçta belirlenen k (k<n) sayıda kümeye ayırırlar. Bu işlem sonucunda elde edilen kümelerde, küme içi benzerlik en yüksek, kümeler arası benzerlik en düşük olmalıdır (Han ve Kamber 2006). K-Means, K-Medoids, Clara (Clustering Large Applications) ve Clarans (Clustering Large Applications Based Upon Randomized Search) algoritmaları bölünmeli kümeleme algoritmalarına örnek olarak verilebilir. 2.3.2.a. K-Means algoritması K-Means algoritması, n adet nesneden oluşan bir veri setini, giriş parametresi olarak verilen k sayıda kümeye böler. Küme benzerliği, kümenin ağırlık merkezi olarak belirlenen bir nesne ile kümedeki diğer nesneler arasındaki uzaklıkların ortalama değeri hesaplanarak ölçülmektedir (Han and Kamber 2006). K-Means algoritmasında küme sayısı başlangıçta k parametresi ile verilir. Veri setinde bulunan her bir nesne, kendisi ile küme ortalaması arasındaki uzaklığa göre kendisine en yakın kümeye atanır. Daha sonra her bir küme için yeni küme ortalamaları hesaplanır. Kriter fonksiyonu küme elemanları sabitleninceye kadar devam eder (Han ve Kamber 2006). 32 K-Means algoritmasının işlem adımları aşağıdaki gibidir (Demiralay ve Çamurcu 2005): 1. Küme merkezleri belirlenir. Bunun için nesneler arasından küme sayısı olan k adet rastgele nokta seçilir 2. Veri setindeki nesnelerin seçilen merkez noktalara olan uzaklığı bulunur. Bulunan sonuçlara göre tüm nesneler k adet kümeden kendilerine en yakın olan kümeye atanır. 3. Oluşan kümelerin yeni merkez noktaları o kümedeki tüm nesnelerin ortalama değeri ile değiştirilir. 4. Merkez noktalar değişmeyene kadar 2. ve 3. adımlar tekrar edilir. Şekil 2.6’da K-Means algoritmasına bir örnek verilmiştir. 33 Örnek veri kümesi 1. Yukarıda verilen örnek veri kümesi için iki adet hedef kümesi tanımlanır. 2. Verilen nesnelerin belirtilen merkezlere olan uzaklığı (öklid uzaklığı) hesaplanır. 3. Oluşan kümeleri ayırmak için aşağıdaki gibi bir hat çizilir. 4. Daha önceden kümelendirilen örneklerin merkezleri yeniden bulunur. Şekil 2.6. K-Means algoritmasına örnek (Şeker 2008) 34 K-Means algoritmasının zayıf yönleri: K-Means algoritmasının en büyük eksikliği k değerinin kullanıcı tarafından girilmesidir. Bundan dolayı daha başarılı bir kümeleme oluşturmak için farklı k değerleri denenmesi gerekmektedir (Demiralay ve Çamurcu 2005). K-Means algoritması, sadece sayısal değerlerde kullanılabilir. Bu durumda kategorik (metinsel) değer içeren verilerin kümelenmesinde farklı bir algoritmanın kullanılması veya kategorik alanların sayısal karşılıklarına dönüştürülmesi gerekmektedir (Dinçer 2006). 2.3.2.b. EM (Expectation Maximization) algoritması EM algoritmasının genel amacı; araştırmalarda ortaya çıkan kayıp veri problemleri gibi durumlarda en çok olabilirlik tahminini en iyi şekilde elde etmektir. EM algoritması, verilen örneklerdeki (fonksiyon çok karmaşık ise) olasılık dağılımının en çok olabilirlik tahmininin direkt hesaplanamadığı durumlarda kullanılmaktadır. Genel olarak EM algoritması aşağıdaki gibidir: Tahmin edilmiş değerleri kayıp verilerin yerine koyar. Bu kayıp verileri kullanarak parametre tahmini yapar. Algoritma uygun parametre buluncaya kadar aynı işlemler devam eder. EM algoritması iki adımdan oluşur; bunlar, E-adımı (beklenen adımı) ve M-adımı (en büyükleme) dır. E-adımı (Beklenen adımı): Gözlenemeyen verinin veya kayıp verinin yerinin doldurulması adımıdır. 35 M-adımı (En büyükleme adımı): Tahmin edilen kayıp veri değerini kabul ederek oluşan veri modeli üzerinden, bilinen en çok olabilirlik tahmini hesaplanarak M-adımı sonucunda ortaya çıkan tahminler ile EM algoritmasının çıktısının oluşturulması adımıdır(Yazıcı 2005). 2.3.2.c. K-Medoids algoritması K-Means yöntemi, kümenin ortalaması tanımlandığı durumlarda kullanılabilir ve dışarıda kalan nesnelere karşı duyarlıdır. Çok büyük değere sahip bir nesne, ait olacağı kümenin ortalamasını yani bir sonraki adımdaki merkez noktasını büyük oranda etkileyerek değiştirmektedir. Bu durum kümenin hassasiyetini bozabilir. Bu sorunu gidermek için kümedeki nesnelerin ortalamasını almak yerine, kümede ortaya en yakın noktada konumlanmış olan nesne anlamındaki medoid kullanılır. Bu işlem K-Medoids algoritması ile gerçekleştirilir (Albayrak 2008). K-Medoids algoritmasında kümeyi temsil edecek nokta, kümedeki verilerin ortalaması ile belirlenmemektedir. Kümenin en merkezinde bulunan eleman küme merkezi olarak alınmaktadır. Bu şekilde verilerin küme merkezinin kenarlara doğru kayması engellenir. Giriş değeri olarak K-Medoids algoritmasına k küme sayının verilmesi, haliyle kullanıcının sürekli denetleme yaparak iyi bir tahminde bulunması gerekmektedir (Erdoğan 2004). Şekil 2.7’de K-Medoids algoritması ile kümeleme işlemi görülmektedir. Şekil 2.7. K-Medoids algoritması ile kümeleme (Çalışkan 2008) 36 K-Medoids algoritmasının adımları aşağıdaki gibidir (Han ve Kamber 2006): Adım 1: k adet nesne seç (medoid) Adım 2: Tekrarla Adım 3: Nesneleri onlara en yakın medoidlere ata Adım 4: Medoid olmayan rasgele bir nesne seç Adım 5: Bu nesne bir medoidmiş gibi alıp toplam performans hesapla Adım 6: Eğer daha iyi sonuç elde ediliyorsa diğeri yerine yeni medoid olarak bu nesneyi ata (yer değiştirilir) Adım 7: Değişiklik olmayana dek dön. K-Medoids algoritmaları içerisinde ilk olarak ortaya atılanlardan bir tanesi PAM (Partitioning Around Medoids) algoritmasıdır. PAM, ilk olarak seçtiği k adet sayıyı küme merkezi olarak kabul eder. PAM algoritması küçük veri tabanlarında çok iyi sonuç verirken büyük veri tabanların iyi sonuç vermemektedir. Büyük veri tabanları için CLARA ve CLARANS algoritmaları geliştirilmiştir (Dinçer 2006). 2.3.2.d. Clara algoritması CLARA algoritmasında, tüm veri seti işlem sürecine alınmaz. Bunun yerine içerisinden küçük bir kısmı seçilerek tüm veriyi temsil ediyormuş gibi kabul ederek işlem yapılır. Daha sonra seçilen bu örnekleme PAM algoritması uygulanır. Örnek ne kadar rastgele seçilirse, orijinal veri kümesini temsil etme gücü o kadar yüksek olur. Bu şekilde CLARA algoritması ile veri tabanında birçok farklı örneklem elde edilir ve her örneklem üzerinde PAM algoritması uygulanır. En iyi sonucu veren örneklemden elde edilen sonuç çıktı olarak kabul edilebilir (Han and Kamber 2006). CLARA algoritması aşağıdaki gibidir (Ng and Han 1994): Adım 1: 5 defa aşağıdaki adımları tekrarla. 37 Adım 2: Elimizdeki veri setinden tesadüfi olarak 40+2k(k seçilen medoid demek)’lık bir örnek çekilir ve çekilen bu örneğin k medoidini belirlemek için PAM algoritması uygulanır. Adım 3: Veri setinde bulunan her bir nesne için o nesneye en çok benzeyen medoidler belirlenir. Adım 4: Önceki adımda bulunan kümelerin ortalamaları hesaplanır. Bu değer mevcut minimum değerden daha küçük ise minimum değer olarak atanır ve Adım 2’de elde edilen k medoidleri en iyi medoid kümesi olarak kabul edilir. Adım 5: Bir sonraki iterasyona başlamak için Adım 1’e geri dönülür. 2.3.2.e. Clarans algoritması Bu algoritma, CLARA ile PAM algoritmalarının birleşiminden oluşur. CLARA algoritması kümeleme yaparken araştırma süresince sabit bir örneklem kullanmaktadır. Ancak CLARANS algoritması, araştırmanın her aşamasında tesadüfî bir örneklem oluşturur. Böylece orijinal veri setinin örneklem seçimi tarafsızca yapılmış olur. Bundan dolayı algoritmada kümeleme sürecini, k-medoidlerinin meydana getireceği bir grafiğin araştırılması olarak tanımlamak mümkündür. Ayrıca grafikteki her bir düğüm potansiyel bir çözüm olarak görülür. Elde edilen her bir küme mevcut kümelerin komşusu olarak tanımlanır. Bulunan her bir komşu belli bir maliyet oluşturmaktadır. CLARANS, maliyeti minimize eden komşunun düğümünü (k medoid kümesini) seçer. Algoritmanın devamlılığı için yapılan yenileme sonucunda elde edilen medoid kümesi, bir sonraki yenileme işlemi için örnek küme oluşturur (Doğan vd 2010). CLARANS algoritması aşağıdaki gibidir (Özdamar 2002): Adım 1: Rastgele k adet aday medoid seçilir. Adım 2: Rastgele seçilen noktalardan bir tanesinin seçilmemiş bir nokta ile değiştirilme durumu irdelenir. Adım 3: Eğer yeni durum daha iyi yani düşük maliyetli ise 2. adım yeni durum göz önüne alınarak tekrar edilir. 38 Adım 4: Yeni durum önceki durumdan daha kötü ise (maliyet yüksek ise) 2. adım var olan durumla tekrar edilir. Adım 5: En son elde edilen durum ile daha önceki durum karşılaştırılır. Adım 6: Adımda en iyi durum kararı alınmamışsa 1.adıma tekrar dönülür. 2.3.3. Hiyerarşik yöntemler 2.3.3.a. En yakın komşu algoritması En yakın komşu algoritmasında, başlangıçta tüm nesne değerleri birer küme olarak değerlendirilir. Adım adım bu kümeler birleştirilerek yeni kümeler oluşturulur. Bu yöntemde öncelikle nesneler arasındaki uzaklıkların belirlenmesi gereklidir. Bunun için de Öklid uzaklık bağlantısı kullanılır. Öklid uzaklık: d (xi,xj)=√∑ ( ) Tek bir nesneden oluşan kümeler arasındaki uzaklıklar, Öklid uzaklık formülü ile hesaplanabilir; ancak birden fazla nesne değerine sahip olan iki küme arasındaki uzaklığın belirlenmesi gerektiğinde farklı bir yol izlenir. Şekil 2.8’de belirtildiği gibi iki kümenin içerdiği nesneler arasında birbirine en yakın noktalar arasındaki mesafe, iki kümenin birbirine olan uzaklığı olarak kabul edilir (Özkan 2013). 39 Şekil 2.8. En yakın komşu algoritmasında iki kümenin birbirine olan uzaklığı (Özkan 2013) 2.3.3.b. En uzak komşu algoritması En uzak komşu algoritmasında, Şekil 2.9’da belirtildiği gibi iki kümenin birbirine en uzak olan elemanları arasındaki mesafe, kümeler arasındaki uzaklık olarak tayin edilir (Özkan 2013). 40 Şekil 2.9. En uzak komşu algoritmasında iki kümenin birbirine olan uzaklığı (Özkan 2013) 2.3.4. Yoğunluk tabanlı yöntemler 2.3.4.a. DBSCAN algoritması DBSCAN(Density-Based Spatial Clustering of Applications with Noise) algoritması Martin Ester ve arkadaşları tarafından geliştirilmiş bir algoritmadır. Algoritma değişik biçimlerdeki veri tabanlarının kümelenmesi amacıyla geliştirilmiştir. Algoritmada kullanılan bazı terimler aşağıda verilmiştir (Ester et al. 1996): Eps ( ): Kümelerde, iki nokta arasındaki en büyük mesafeyi belirtir. N (p) şeklinde gösterilir. N (p) = {q D | dist (p,q) ≤ } 41 MinNs: Kümelerde bulunması gereken minimum nokta sayısıdır. Directly density-reachable (Yoğunluğa doğrudan erişebilirlik): Aşağıdaki verilen denklemlerle koşullar sağlandığında herhangi bir p noktası başka bir q noktası sayesinde yoğunluğa doğrudan erişilebilir. Denklemler: 1. p N (q) 2. |N (q)|≥MinNs Density-reachable (Yoğunluğa erişebilirlik) : p1, p2,…pn şeklinde noktalar zinciri varsa p1=q, pn=p ise pi+1, pi vasıtasıyla yoğunluğa doğrudan ulaşılabilir. Bu şekilde ve MinNs koşullarını taşıdığı sürece q noktası üzerinde yoğunluğa erişilebilir. Density-connected (Yoğunluk Bağlantısallığı): Bir p noktası ile bir q noktasının, her ikisi için de yoğunluğa erişilebilirlik sağlayan bir nokta aracılığı ile birbirine bağlanmasına denir. Cluster(Küme): ve MinNs koşullarını taşıyan bir K kümesi, D noktalardan oluşan bir veri tabanın alt kümesidir. Noise(Gürültü): K1K2…Kn, D veri tabanındaki MinNs ve (i=1,2…n) sağlayan kümeler olsun. Bu durumda gürültü D veri tabanında Ki kümesine ait olmayan nokta veya noktalardır. DBSCAN, tüm veri setinde her nesneyi çekirdek nesne (bir kümede belirli olan bir nesne), sınır nesnesi (bir kümenin sınırındaki nesneler) ya da yayılma nesnesi (herhangi bir kümenin dışındaki belirli nesneler ) olarak inceler. Bu ilk adımdan sonra, birbirine yakın çekirdek nesneler bir kümede bir araya getirilir. Bu metotta, yoğunluk eşiği iki 42 parametre vasıtasıyla ifade edilir; her nesne etrafında bir maksimum yarıçapı ve minimum sayıdaki nesneyi içeren MinNs parametreleridir. Bir p noktasının yarıçaplı komşuluğu ( N p ) olarak gösterilen MinNs nesnelerini içerirse bu p nesnesi çekirdek nesne olarak tanımlanır. Çekirdek nesne koşulu kullanıldığında, girdi veri seti taranır ve her nesnenin konumu belirlenir. Bir küme hem çekirdek nesnelerle hem de bir çekirdek nesneye ulaşılabilir olan nesnelerle bulunur. Yani çekirdek nesne koşulunu sağlayan ancak bir çekirdek nesnenin komşuluğunda bulunan nesnelerle belirlenir. ‘‘ulaşılabilir’’ kavramı ulaşılabilirlik uzaklığı cinsinden ifade edilir. Bir veri seti için çekirdek ve sınır nesneleri kümesi verildiğinde, kümeler bir çekirdek noktasından başlayan tüm nesnelere dayanarak oluşturulur. Tek noktayla oluşturulan küme ulaşılabilir bir uzaklıkta bulunan diğer nesneler eklenerek genişletilir. İşlem yeni eklenen öğelerle tüm ulaşılabilir nesneler dâhil edilerek tekrarlanır. Kümenin büyümesi, kümenin tüm sınır noktaları ziyaret edildiğinde ve başka ulaşılabilir öğeler kalmadığında durur (Ester et al. 1996). Algoritma şu şekilde çalışmaktadır (Çelebi 2011): Adım 1: Seçilmemiş noktalardan rastgele bir nokta seçilir. Adım 2: Noktanın uzaklığı içerisindeki komşuları bulunur. Adım 3: Eğer komşu sayısı MinNs sayısına eşit ya da büyük ise bir küme oluşturulur; MinNs sayısından küçük ise bu nokta gürültü olarak işaretlenir. Fakat ileriki işlemlerde gürültü olarak işaretlenen bu nokta başka bir noktanın oluşturabileceği kümeye dahil edilebilir. Adım 4: Bir nokta bir kümeye dahil edildiğinde tüm komşuları da bu kümeye dahil edilir. Tabi ki bu eklenenler için de geçerlidir. Bu işlem eklenecek nokta kalmayana kadar devam ettirilir ve böylece kümelerin tamamı oluşturulmuş olur. Adım 5: Seçilmemiş bir nokta seçilir ve döngü tekrarlanır. Adım 6: Eğer herhangi bir kümeye atanmamış veri söz konusu ise bu nesneler gürültü olarak nitelendirilir. 43 2.3.4.b. OPTICS algoritması DBSCAN ve diğer kümeleme algoritmalarında giriş parametrelerini kullanıcıdan istemesi büyük bir sorundur. Bu parametrelerin değeri küme sayısı ve niteliği gibi hususları son derece etkileyecektir. Biraz farklı değerler çok farklı kümelerin oluşmasına neden olabilir. Bu tür olumsuzlukların üstesinden gelmek için OPTICS (Ordering Points To Identify the Clustering Structure) algoritması geliştirilmiştir (Han and Kamber 2006). OPTICS algoritması iki ayrı parametreden yararlanır (Ankerst et al. 1999). Bunlar iç mesafe (core-distance) ve ulaşılabilirlik mesafesi (reachability-distance) parametreleridir. İç mesafe; p noktası, veri tabanının bir elemanı ve , mesafe değeri olarak alınırsa p noktasının etrafında bulunan başka noktalarla olan minimum mesafesidir. Ulaşılabilirlik mesafesi ise p noktasını diğer noktalar üzerindeki yoğunluğa eriştirecek en küçük mesafe değeridir. OPTICS algoritması veri tabanındaki bütün noktalar için ulaşılabilirlik ve iç mesafe değerlerini tutar ve veri tabanını da bir sıralamaya ve düzene sokar. Bu bilgiler yardımıyla veri tabanındaki sıralamayı ve düzeni oluştururken kullanılan değerinden daha küçük tüm değerleri için değişik yoğunluğa dayalı kümeleme işlemi yapar (Han and Kamber 2006). 2.3.4.c. DENCLUE algoritması DENCLUE (Density-based Clustering) algoritması, Alexander Hinneburg ve Daniel A. Keim tarafından KDD’98 konferansında sunulmuştur (Hinneburg and Keim 1998). Bu algoritmada veri tabanında bulunan nesneleri kümelemek için yoğunluk dağılım fonksiyonlarından faydalanılır. DENCLUE algoritmasının DDBSCAN algoritmasına göre 45 kat daha hızlı olduğu deneysel olarak ispatlanmıştır. DENCLUE algoritması üç aşamadan oluşur: 44 1. Her bir veri nesnesinin kendi çevresi kapsamında etki fonksiyonu bulunur. Bu fonksiyon parabolik, kare dalga fonksiyonu veya Gauss fonksiyonu olabilir. Daha sonra bu fonksiyon veri tabanındaki bütün nesnelere uygulanır. 2. Hesaplanan etki fonksiyonların toplamı veri tabanının genel yoğunluğunu verir. 3. Matematiksel olarak yoğunluk çekicileri (density-attractors) yardımı ile kümeler tespit edilir. 2.3.5. Izgara tabanlı yöntemler 2.3.5.a. Sting algoritması Sting (Statistical Information Grid) algoritması, uzayı/alanı dikdörtgen hücrelere bölen ve hiyerarşik bir yapı oluşturan tekniktir. Bu hiyerarşik yapının köküne birinci seviye denilirse, alt seviyedekiler/çocuklar ikinci seviye, diğerleri üçüncü, dördüncü şeklinde sıralanacaktır. Herhangi bir i düzeyindeki bir hücre (i+1). seviyedeki çocukların birleşimine karşılık gelir. Her hücre yapraklar hariç toplamda 4 çocuğa sahiptir. Birinci seviyedeki kök hücre bütün alanı temsil eder. Yaprak düzey hücrelerin boyutu nesnelerin yoğunluğuna bağlıdır. Genel kural olarak, bu boyut birkaç düzineden, birkaç bin noktaya ulaşabilir. Her hücre içerisinde aşağıdaki parametreler tutulur: NoktaSys : Bulunan nokta sayısı m: Hücredeki tüm değerlerin toplamı s: Hücrede bulunan sayısal değerlerin standart sapması enk: Hücre içerisindeki nitelik en küçük değer enb: Hücre içerisindeki nitelik en büyük değeri dağıtım: Hücrelerin nitel dağılımlarındaki dağılım tipi (normal, üstel gibi). Veriler veri tabanına kaydedilirken, en alt seviyede hücrelerdeki NoktaSys, m, s, enk ve enb parametreleri doğrudan hesaplanır. Dağılım şekli eğer önceden biliniyorsa kullanıcı 45 tarafından girilir veya ki-kare testi gibi testler yardımıyla belirlenir. Üst seviyedeki hücrelerin parametreleri ise alt seviyedeki hücrelerden yararlanarak elde edilir. Eğer alt seviyedeki hücreler dağılım konusunda birbiriyle uyuşmuyorsa ve eşik seviyesi aşılamazsa üst seviyedeki hücrelerin dağılım tipi “hiçbiri” olur. İstatiksel bilgiler yukarıdan aşağıya gridlere bağlı kalmak şartıyla ilk önce, hiyerarşik yapıda içerisinde sorgulama başlatmak üzere bir seviye belirlenir. Bu katman genelde az sayıda hücre içerir. Katmandaki bütün hücreler için, bu hücrenin verilen sorguyu karşılayıp karşılamadığını belirlemek için güven aralığı hesaplanır. Belirlenen güven aralığı çerçevesinde uygun olan ve olmayan hücreler belirlenir. İlgisiz uygun olmayan hücreler ileriki adımlarda kullanılmamak üzere dışarıda tutulur. Bu işlem en alt seviyeye ulaşılana dek sürdürülür. Bu işlem sonunda çoğu kez sorguya cevap verecek yeteri kadar hücre elde edilir. Yeteri kadar hücre elde edilmediğinde işlem tekrar edilir (Wang et al. 1997). 2.3.5.b. Dalga kümeleme metodu Dalga kümeleme metodu, büyük miktarda veri içeren veri tabanlarının kümelenmesi için kullanılabileceği gibi değişik şekil ve biçimlerde kümeleme arz eden veri grupları için de kullanılabilir. Bu kümeleme yönteminin en büyük avantajlarından biri kullanıcının küme sayısını girmemesidir. Algoritmanın adımları şu şekilde verilebilir: Adım 1: Özellik uzayının sayısallaştırılması ve birimlere nesnelerin atanması Adım 2: Özellik uzayına dalga dönüşüm işleminin uygulanması Adım 3: Dönüştürülmüş özellik uzayının alt bantlarındaki birbirine bağlı kümelerin bulunması Adım 4: Birimlerin isimlendirilmesi Adım 5: Kontrol tablosunun yaratılması Adım 6: Nesnelerin Kümelere atanması 46 Bu yöntem denetimsiz kümeleme sağlar. Kümeleri belirlemek için şapka şeklinde filtreler kullanılır ve eşzamanlı olarak zayıf bilgileri kendi sınırları içerisinde bastırır. Böylece, orijinal özellik uzayındaki yoğun bölgeler, yakın noktalar için çekici gibi hareket ederken, uzaktaki noktalar için engelleyici görevi görürler. Bunun anlamı; ana veri grubu içindeki kümeler belirgin bir şekilde ortaya çıkarken bu kümenin etrafı temiz ve berrak bir hal alır. Yani kümeler hem belirginleşir hem de uç veriler bertaraf edilmiş olur (Silahtaroğlu 2008). 2.3.5.c. CLIQUE algoritması CLIQUE (Clustering High-Dimensional Space) algoritması, Agrawal, Gehrke, Gunopulos ve Raghavan tarafından SIGMOD’98 konferansında sunulmuştur (Agrawal et al. 1998). Çok boyutlu veri tabanlarında iyi sonuçlar vermektedir. CLIQUE algoritması aşağıdaki gibi özetlenebilir (Han and Kamber 2006): 1. Çok boyutlu veri içeren büyük veri tabanlarında, genellikle veriler düzenli dağılmamaktadır. CLIQUE algoritması veri uzayındaki seyrek ve kalabalık alanları tanımlayarak veri kümesinin genel dağılım desenlerini keşfeder. 2. Veri uzayında bulunan toplam veri noktalarının bir kısmı giriş modeli parametresini aşarsa o hücre yoğun olarak kabul edilmektedir. CLIQUE algoritması kümeye bağlı yoğun birimlerinin maksimum bir kümesi olarak tanımlanır. CLIQUE algoritması, çok boyutlu veri uzayının alt uzaylarında çalışır ve bu sayede daha iyi kümeleme gerçekleştirir. Aynı zamanda, veri uzayının dağınık ve birbirinden bağımsız veriler tarafından doldurulduğu kabul edilir. Algoritma birbirine yakın noktalardan oluşan bölgeleri (yoğun olan bölgeleri) diğer bölgelerden ayırır ve bu bölgelere “birim” ismi verilir (Silahtaroğlu 2008). Algoritma çok boyutlu kümelemeyi gerçekleştirmek için genel olarak üç adımda tanımlanır (Agrawal et al. 1998): 47 Adım 1: Kümeleri içinde bulunduran alt uzayların tanımlanması Adım 2: Kümelerin tanımlanması Adım 3: Kümeler için minimum tanımının genelleştirilmesi 48 3. MATERYAL ve YÖNTEM 3.1. Materyal 3.1.1. Problemin tanımlanması Teknolojinin gelişmesi ile birlikte nitelikli ara eleman ihtiyacı da artmıştır. Eğitimli ve kaliteli ara eleman yetiştirmek için meslek yüksekokullarına da büyük görev düşmektedir. Bu tez çalışmasındaki amaç, meslek yüksekokullarında eğitim-öğretim gören öğrencilerin başarılarını etkileyen faktörleri, veri madenciliği kümeleme teknikleri ile analiz etmektir. 3.1.2. Verinin hazırlanması Bu çalışmada kullanılan veriler, Ağrı İbrahim Çeçen Üniversitesi Meslek Yüksekokulu’nda 2011-2012 eğitim öğretim dönemi ve öncesine ait olup üniversitenin Bilgi İşlem Daire Başkanlığından Microsoft Excel formatında alınmıştır. Veri madenciliğinin en önemli unsurlarından biri olan ve güvenilirliğini arttıran veri kalitesini yükseltmek için Excel formatında alınan veriler çeşitli işlemlerden geçirilmek üzere Microsoft SQL Server 2008 (MSSQLServer-2008) veri tabanına aktarılmıştır. MSSQLServer-2008 veri tabanının seçilmesinin nedeni, veriler üzerinde temizleme, birleştirme, dönüştürme işlemlerinin kolay bir şekilde yapılabilmesidir. Üniversiteden alınan bilgiler dışında, öğrencilerin başarısını etkileyebilecek diğer faktörler Nisan 2012’de Meslek Yüksekokulu Müdürlüğünün izni ile öğrencilere sunulan bir form üzerinden alınmıştır. Öğrencilere doldurtulan bilgi formu EK 1’de verilmiştir. Öğrencilerden alınan bilgiler Delphi programlama dili yardımı ile MSSQLServer-2008 veri tabanına aktarılmıştır. Yazılan programın ara yüzü Şekil 3.1’de verilmiştir. 49 Şekil 3.1. Öğrenci bilgilerinin Delphi programı ile MSSQLSERVER-2008 veri tabanına aktarılmasını sağlayan programın ara yüzü Aşağıda bu çalışmaya ait MSSQLSERVER-2008’de oluşturulan veri tabanı (MYOOgrenci), MYOOgrenci veri tabanında oluşturulan tablolar ve bu tablolara eklenen niteliklerin açıklamaları verilmiştir. Şekil 3.2’de MSSQLSERVER-2008 ara yüzü, oluşturulan veri tabanı (MYOOgrenci) ve oluşturulan tablolar görülmektedir. MYOOgrenci : MSSQLSERVER-2008’de oluşturulan veri tabanı ismi. OgrenciTanim: Öğrenciye ait öğrenci numarası (ogrno), okuduğu bölüm (bolum), okuduğu program ismi (program), öğrencinin cinsiyeti (cinsiyeti), mezun olduğu lise (lise), mezun olduğu lise türü (liseturu), mezun olduğu lise diploma ortalaması (lisdiplomaort), engel durumu var mı yok mu (engeldurumu), öğrencinin meslek yüksekokulundaki not ortalaması (sonagno), MYO’dan mezun olmuş mu olmamış mı (durumu), MYO mezuniyet tarihi (mezuntarihi), MYO’ya yerleşme puanı (yerlesmepuan), doğum yeri (dogumyeri) ve MYO’ya kayıt tarihi (kayittarihi) 50 bilgilerinin tutulduğu tablodur. Bu tabloda 1801 kayıt bulunmaktadır ve MYO’nun aktif, mezun olmuş ve okuldan kaydını silen öğrencileri bilgilerinden oluşmaktadır. Dersler: Öğrencinin MYO’da aldığı dersleri ve bu derslere ait bilgileri içermektedir. Öğrencinin numarası (ogrencino), dersin dönemi (donem), dersin kodu (derskoduadi), dersin kredisi (kredisi), öğrencinin bu dersten aldığı not (alinannot), aldığı notun harf notu karşılığı (harfnotu) bilgileri bu tabloda tutulmaktadır. Tabloda 37682 kayıt bulunmaktadır. OgrenciBilgileri: Öğrenci numarası (ogrencino), bölümü (bolumu), sınıfı (sınıf), mezun olduğu lise (mznlise), yaşı (yasi), kronik bir sağlık sorunu olup olmadığı (sagliksorunu), kiminle kaldığı (kaldigiyer), ailesinin aylık geliri (aylikgelir), kardeş sayısı (kardessayisi), babasının mesleği (babameslegi), annesinin çalışıp çalışmadığı (annecalismadurumu), anne ve babasının beraber olup olmadığı (annebababerabermi), annesinin hayatta olup olmadığı (anneyasiyormu), babasının hayatta olup olmadığı (babayasiyormu) bilgilerinin tutulduğu tablodur. Bu tabloda MYO’daki aktif öğrenci sayısı olan 627 kayıt bulunmaktadır. 51 Şekil 3.2. MSSQLSERVER-2008 ara yüzü, oluşturulan veri tabanı (MYOOgrenci) ve oluşturulan tablolar 3.1.3. Verinin temizlenmesi Veri temizleme, veri madenciliğinin en önemli adımlarından biridir. Çünkü kaliteli veri kaliteli sonuçlar doğurur. Eksik veya temizlenmemiş veri yanlış sonuçlar doğurabilir. Veri temizleme aşamasında yapılması gereken işlemler aşağıda verilmiştir (Dener vd 2009): Bir niteliğe ait verilerin büyük bir çoğunluğu eksikse yani null değer içeriyorsa bu nitelik tablodan çıkarılmalıdır. Bir niteliğe ait veriler yüksek oranlarda kayıp değer içeriyorsa, kayıp değer problemini çözmek için kayıp değeri bir değerle kodlama yöntemi kullanılır. Bu yönteme göre, kayıp değerli alana “u” gibi bir sabit bir değer atanır (u, İngilizcede bilinmeyen anlamına gelen unknown kelimesinin baş harfi olduğu için seçilmiştir). 52 Sayısal (nümerik) veri alanlarındaki kayıp değer sorununu çözmek için aşağıdaki yöntemler kullanılmalıdır (Dener vd 2009): Kayıp değerli alanlara, o nitelikle ilgili tüm kayıtların ortalaması alınarak kayıp değerli alanlara atanır. Bu yöntem, basit olmakla birlikte verinin dağılımı üzerinde büyük bir etkiye sahiptir. Bu nedenle, verinin dağılımını minimum düzeyde etkileyecek durumlarda kullanılmalıdır. Var olan değerler kullanılarak verinin dağılımı elde edilir ve kayıp değerli alanlara bu dağılıma uygun olarak değer atanır. Bu yöntem, verinin dağılımını çok fazla değiştirmez. Ancak kurulan modelde değer atanan alan çok önemli ise veri madenciliği sonuçları etkilenir. Bu yöntemler göz önünde bulundurularak uygulamada kullanılacak veriler üzerinde, kayıp değer problemini çözmek için Structured Query Language (SQL) komutları ve Transact SQL (T-SQL) komutları kullanılmıştır. T-SQL, SQL komutlarının kullanımının yanı sıra programlamada kullanılan akış kontrollerini, döngüleri, mantıksal karşılaştırma ve değişken kullanımına olanak sağlayan veri tabanı programlama dilidir (Özseven 2010). Öğrenci başarısını ölçmede öğrencinin son not ortalaması (son agnosu) önemli olduğu için sonagno alanı null ve 0 değer içeren kayıtlar OgrenciTanim tablosundan silinmiştir. Söz konusu kayıp değerlere sahip kayıtlar, aşağıdaki SQL komutları ile silinmiştir: Delete from OgrenciTanim where (sonagno=0) or (sonagno is null) OgrenciTanim tablosunda veri temizleme sonucunda 1801 kayıttan 446 kayıt silinmiş 1355 kayıt kalmıştır. 53 3.1.4. Veri birleştirme ve dönüştürme Veri Birleştirme aşamasında öğrencilerin tüm özelliklerini tek tabloda (OgrenciGenelBilgileri) göstermek için T-SQL kodları yardımı ile OgrenciTanim ve OgrenciBilgileri tabloları öğrenci numarasına alanına göre ilişkilendirilerek OgrenciGenelBilgileri ismi ile yeni oluşturulan tabloya eklenmiştir. T-SQL sorgusu aşağıdaki gibidir: BEGIN Declare @ogrencino int,@bolumu nvarchar (60),@cinsiyeti nvarchar (10), @sonagno float,@yerlesmepuan float,@dogumyeri nvarchar (50), @liseturu nvarchar (100),@yasi nvarchar (10), @sagliksorunu nvarchar (2) , @kaldigiyer nvarchar (20) , @aylikgelir nvarchar (15) ,@kardessayisi nvarchar (10) , @babameslegi nvarchar (15) ,@annecalismadurumu nvarchar (2) , @anneyasiyormu nvarchar (2) ,@babayasiyormu nvarchar (2) DECLARE ConvertOgrenciTanim CURSOR FAST_FORWARD FOR SELECT tanim.ogrno, case when bilgi.bolumu is not null then bilgi.bolumu else tanim.program end as bolumu, tanim.cinsiyeti,tanim.sonagno,tanim.yerlesmepuan, case when tanim.dogumyeri='AĞRI' or tanim.dogumyeri='MERKEZ' then 'AĞRI' else 'DİĞER' end dogumyeri, case when bilgi.mznlise is not null then case when Bilgi.mznlise=1 then 'Meslek Lisesi' else 'Diğer' end else tanim.liseturu end liseturu, case when bilgi.yasi=1 Then '15-20' when bilgi.yasi=2 Then '21-30' when bilgi.yasi=3 Then '31-35' when bilgi.yasi=4 Then '35+' end as yas, case when bilgi.sagliksorunu=1 Then 'E' when bilgi.sagliksorunu=2 Then 'H' end as saglikdurum, case when bilgi.kaldigiyer=1 Then 'Ailemle' when bilgi.kaldigiyer=2 Then 'Yurtta' when bilgi.kaldigiyer=3 Then 'Kirada' end as kaldigiyer, case when bilgi.aylikgelir=1 Then '0-750' when bilgi.aylikgelir=2 Then '751-1500' when bilgi.aylikgelir=3 Then '1501-3000' when bilgi.aylikgelir=4 Then '3000+' 54 end as aylikgeliri, case when bilgi.kardessayisi=1 Then '0-3' when bilgi.kardessayisi=2 Then '4-6' when bilgi.kardessayisi=3 Then '7+' end as kardessayis, case when bilgi.babameslegi=1 Then 'Esnaf' when bilgi.babameslegi=2 Then 'Memur' when bilgi.babameslegi=3 Then 'Özel Sektör' when bilgi.babameslegi=4 Then 'Çalışmıyor' end as babameslek, case when bilgi.annecalismadurumu=1 Then 'E' when bilgi.annecalismadurumu=2 Then 'H' end as annecalismadurum, case when bilgi.anneyasiyormu=1 Then 'E' when bilgi.anneyasiyormu=2 Then 'H' end as anneyasiyormu, case when bilgi.babayasiyormu=1 Then 'E' when bilgi.babayasiyormu=2 Then 'H' end as babayasiyormu FROM OgrenciTanim as tanim inner join OgrenciBilgileri as Bilgi ON tanim.ogrno=Bilgi.ogrencino OPEN ConvertOgrenciTanim FETCH NEXT FROM ConvertOgrenciTanim INTO @ogrencino,@bolumu,@cinsiyeti,@sonagno,@yerlesmepuan,@dogumyeri, @liseturu,@yasi,@sagliksorunu,@kaldigiyer,@aylikgelir,@kardessayisi, @babameslegi,@annecalismadurumu,@anneyasiyormu,@babayasiyormu WHILE (@@FETCH_STATUS =0) BEGIN INSERT INTO OgrenciGenelBilgileri (ogrencino,bolumu,cinsiyeti,sonagno, yerlesmepuan,dogumyeri,liseturu,yasi,sagliksorunu,kaldigiyer, aylikgelir,kardessayisi,babameslegi,annecalismadurumu, anneyasiyormu,babayasiyormu) VALUES (@ogrencino,@bolumu,@cinsiyeti,@sonagno,@yerlesmepuan,@dogumyeri,@lise turu,@yasi,@sagliksorunu,@kaldigiyer,@aylikgelir,@kardessayisi, @babameslegi,@annecalismadurumu,@anneyasiyormu,@babayasiyormu) FETCH NEXT FROM ConvertOgrenciTanim INTO @ogrencino,@bolumu,@cinsiyeti,@sonagno,@yerlesmepuan, @dogumyeri,@liseturu,@yasi,@sagliksorunu,@kaldigiyer, @aylikgelir,@kardessayisi,@babameslegi,@annecalismadurumu, @anneyasiyormu,@babayasiyormu END CLOSE ConvertOgrenciTanim DEALLOCATE ConvertOgrenciTanim RETURN END OgrenciGenelBilgileri tablosuna ait bazı veriler Ek 2’de gösterilmiştir. Öğrenci numarasına göre OgrenciTanim tablosunda olup OgrenciBilgileri tablosunda olmayan kayıtlar OgrenciGenelBilgileri tablosuna eklenmemiştir. Sadece öğrenci numarası ortak 55 olan kayıtlar tabloya eklenmiştir. Bu işlem sonunda 581 kayıttan oluşan ve uygulamada asıl olarak kullanılacak veri kümesi oluşturulmuştur. OgrenciGenelBilgileri tablosundaki öğrenci verilerine ait istatistikleri gösteren SQL sorguları aşağıdaki çizelgede verilmiştir. Tablodaki toplam kayıt sayısını bulan SQL sorgusu ve sonucu Cinsiyet istatistiklerini gösteren SQL sorgusu ve sonucu Doğum yeri istatistiklerini gösteren T-SQL sorgusu ve sonucu 56 Mezun olunan Lise türü istatistiklerini gösteren SQL sorgusu ve sonucu Yaş dağılımı istatistiklerini gösteren SQL sorgusu ve sonucu Kronik sağlık durumu istatistiklerini gösteren SQL sorgusu ve sonucu 57 Öğrencinin eğitimöğretim süresince kaldığı yer istatistiklerini gösteren SQL sorgusu ve sonucu Aylık gelir durumu istatistiklerini gösteren SQL sorgusu ve sonucu Kardeş sayısı istatistiklerini gösteren SQL sorgusu ve sonucu 58 Baba mesleği istatistiklerini gösteren SQL sorgusu ve sonucu Annenin çalışıpçalışmama istatistiklerini gösteren SQL sorgusu ve sonucu Annenin hayatta olup olmama istatistiğini gösteren SQL sorgusu ve sonucu 59 Babanın hayatta olup olmama istatistiğini gösteren SQL sorgusu ve sonucu Veri birleştirme aşamasından sonraki adım veri dönüştürme işlemidir. Uygulamada kullanılan veri üzerinde, veri dönüştürme aşamasında aşağıdaki işlemler uygulanmıştır: 1. Son agno (sonagno) ve üniversiteye yerleşme puanları (yerlesmepuan) Excel programından MSSQLServer-2008 ortamına aktarıldığında otomatik olarak 1000 ile çarpılmıştır. Bu problemi düzeltmek için bu puanları güncelleyen aşağıdaki SQL sorgusu işletilmiştir: update OgrenciGenelBilgileri set sonagno= (sonagno/1000) update OgrenciGenelBilgileri set yerlesmepuan= (yerlesmepuan/1000) 3. Cinsiyeti “ERKEK” olan kayıtlar ‘E’, “KADIN” olan kayıtlar ise ‘B’ olarak değiştirilmiştir. Bu işlem için aşağıdaki T-SQL sorgusu kullanılmıştır: UPDATE OgrenciGenelBilgileri SET cinsiyeti=CASE WHEN cinsiyeti='ERKEK' THEN 'E' WHEN cinsiyeti='KADIN' THEN 'B' END 60 4. Doğum yeri “AĞRI” olan kayıtlar ‘A’, doğum yeri “AĞRI” dan farklı olan kayıtlar ‘D’ olarak değiştirilmiştir. Bu işlem için aşağıdaki T-SQL sorgusu kullanılmıştır: UPDATE OgrenciGenelBilgileri SET dogumyeri=CASE WHEN dogumyeri='AĞRI' THEN 'A' ELSE 'D' END 5. Mezun olduğu lise “Meslek Lisesi” olan kayıtlar ‘M’, diğerleri ‘D’ olarak değiştirilmiştir. Bu işlem için aşağıdaki T-SQL sorgusu kullanılmıştır: UPDATE OgrenciGenelBilgileri SET liseturu=CASE WHEN liseturu='Meslek Lisesi' THEN 'M' WHEN liseturu='Diğer' THEN 'D' END 6. Kaldığı yer “Ailemle” olan kayıtlar ‘A’, “Yurtta” olan kayıtlar ’Y’, “Kirada” olan kayıtlar ‘K’ olarak değiştirilmiştir. Bu işlem için aşağıdaki T-SQL sorgusu kullanılmıştır: UPDATE OgrenciGenelBilgileri SET kaldigiyer=CASE WHEN kaldigiyer='Ailemle' THEN 'A' WHEN kaldigiyer='Yurtta' THEN 'Y' WHEN kaldigiyer='Kirada' THEN 'K' END 7. Baba mesleği “Esnaf” olan kayıtlar ‘E’, “Memur” olan kayıtlar ‘M’, “Özel Sektör” olan kayıtlar ‘O’, “Çalışmıyor” olan kayıtlar ‘C’ olarak değiştirilmiştir. Bu işlem için aşağıdaki T-SQL sorgusu kullanılmıştır: 61 UPDATE OgrenciGenelBilgileri SET babameslegi=CASE WHEN WHEN WHEN WHEN END Bazı verilerin, dönüşüm babameslegi='Esnaf' babameslegi='Memur' babameslegi='Özel Sektör' babameslegi='Çalışmıyor' işleminden sonraki hali EK THEN THEN THEN THEN 3’de 'E' 'M' 'O' 'C' gösterilmiştir. Çizelge 3.1’de değişen niteliklerin veri dönüşüm aşamasında aldığı değerler verilmiştir. Çizelge 3.1. Veri dönüşüm aşamasında bazı niteliklerin aldığı değerler Nitelikler Veri Dönüşümünden Önce Veri Dönüşümünden Sonra Cinsiyeti (ERKEK, KADIN) Cinsiyeti (E, B) Dogumyeri (AĞRI, DİĞER) Dogumyeri (A, D) Liseturu (Meslek Lisesi, Diğer) Liseturu (M, D) Kaldigiyer (Ailemle, Yurtta, Kirada) Kaldigiyer (A, Y, K) Babameslegi (Esnaf, Memur, Özel Babameslegi (E, M, O, C) Sektör, Çalışmıyor) 3.2. Yöntem Verilerin analizi için, Waikato Üniversitesi tarafından 1996’da ilk resmi sürümü yayınlanmış olan bir makine öğrenme (machine learning) ve veri madenciliği (data mining) programı olan WEKA (Waikato Environment for Knowledge Analysis) paket 62 programı kullanılmıştır. WEKA, veri analizi ve tahminleyici modelleme için geliştirilmiş, görsel algoritma ve araçlar sunan, akademik araştırmalar için, eğitim ve endüstriyel uygulama alanlarında kullanılan bir yazılımdır. WEKA yazılımının temel avantajları; geniş veri önişleme ve modelleme tekniklerine sahip olması, grafiksel kullanıcı ara yüzü sayesinde kullanımının kolay olması ve programlama dili olarak Java’yı kullanmasından ötürü platformdan bağımsız ve taşınabilir olmasıdır (Tapkan vd 2011). WEKA programı çalıştırıldığında Şekil 3.3’deki kullanıcı ara yüzü ekrana gelir. Şekil 3.3. WEKA kullanıcı arayüzü WEKA programı ARFF (Attribute Related File Format) formatını desteklemektedir. Bu tezde kullanılan veriler Excel2Arf Converter programı ile ARFF formatına dönüştürülmüştür. Verinin Excel2Arf Converter programı yardımı ile ARFF formatına dönüştürülmesi Şekil 3.4’de ve ARFF formatına dönüştürülmüş veri Şekil 3.5’de verilmiştir. 63 Şekil 3.4. Verinin Excel2Arf Converter programı yardımı ile ARFF formatına dönüştürülmesi 64 Şekil 3.5. ARFF formatına dönüştürülmüş veri WEKA dört temel modülden oluşmaktadır. Bunlar (İşler ve Narin 2012): Explorer: Mevcut veri üzerinde yapılabilecek uygulamaları içeren genel bir grafiksel kullanıcı ara yüzünü içeren modüldür. 65 Experimenter: Bir veya daha çok veri kümesi üzerinde bir veya daha çok algoritmanın uygulanabilmesine ve sonuçlarının gözlemlenebilmesine olanak sağlayan modüldür. Knowledge Flow: Matlab içindeki Simulink veya National Instruments firmasına ait olan LabVIEW programı gibi sürükle bırak özelliğine sahip olan “Explorer” penceresi gibi çalışmaktadır. Kullanıcı tercihine bağlı olarak “Explorer” ya da Knowledge Flow” modüllerini kullanabilir. Simple CLI: Bu modül komut ekranı aracılığıyla işlem yapmayı sağlar. Uygulamada Explorer modülü kullanılmıştır. Explorer modülünün kullanıcı ara yüzü Şekil 3.6’da gösterilmiştir. Explorer kullanıcı ara yüzü önişlem (preprocess), sınıflama (classify), kümeleme (cluster), ilişkilendirme (associate), öznitelik seçimi (select attributes) ve görselleştirme (visualize) sekmelerinden oluşur. Şekil 3.6. Explorer modülünün kullanıcı arayüzü 66 Ekran ilk açıldığında Preprocess paneli hariç diğerleri henüz veri yüklenmediğinden pasif durumdadır. ARFF formatına dönüştürülmüş veri yüklendikten sonra diğer paneller (Classify, Cluster, Associate, Select Attribute, Visualize) aktif hale gelir. Preprocess panelinde çalışılacak verinin yüklenmesini, çeşitli filtreleme işlemleri ile verilerdeki eksikliklerin düzeltilmesini, kullanılacak değişkenlerin seçilmesini, kaldırılmasını ve niteliklere ait istatistiki bilgilerin gösterilmesini sağlayan seçenekler bulunmaktadır. Uygulamada kullanılacak veriyi yüklemek için, “Open file”, “Open URL”, “Open DB” ve “Generate” seçimleri bulunmaktadır. Veriler diskten yüklenecekse “Open file”, herhangi bir internet sayfasından yüklenecekse “Open URL” seçeneği, ağdaki bir veri tabanı sunucusundan yüklenecekse “Open DB” seçeneği, eğer veriler elle girilecekse “Generate” seçeneği seçilmelidir. Yüklenen verinin kayıp değerleri ve gereksiz verileri kullanılacak algoritmaya uygun olarak yapılandırmak için Preprocess sekmesinden “Filter” seçeneği, hangi tür filtreleme yapılacağı ise “Choose” düğmesinden seçilir. Kayıp veriler için “ReplaceMissingValues”; gereksiz verileri kaldırmak için “PrincipalComponents”; alanları sayısallaştırmak için “NumericToBinary” seçenekleri seçilir. Veri, WEKA programına yüklendiğinde niteliklere ait istatistiki bilgiler Şekil 3.7’de gösterilmiştir. 67 Şekil 3.7. Niteliklere göre istatistiki bilgiler 68 4. ARAŞTIRMA BULGULARI ve TARTIŞMA WEKA programının “Classifier” sekmesi, veri kümesi üzerinde sınıflandırma algoritmalarının uygulandığı sekmedir. “Cluster” sekmesinde, veri kümesi üzerinde uygulanacak WEKA kümeleme algoritmaları bulunur. “Associate” sekmesinde, uygulanacak WEKA birliktelik kuralları algoritmaları bulunur. Visualize sekmesi, farklı nitelikler arasındaki ilişkileri grafiksel olarak görüntülemek için kullanılır. Hazırlanan veri, WEKA programına yüklendikten sonra “Cluster” panelinden veriye uygulanacak kümeleme algoritması “Choose” butonu tıklanarak seçilir. Seçilen algoritma tıklanarak algoritma ile ilgili ayarlamalar yapıldıktan sonra sonuçlar için “Start” butonuna tıklanır. Seçilen algoritma ile ilgili sonuçlar “Cluster output” penceresinde görüntülenir. Çalışmada hazırlanan veri kümesinden sonagno niteliği seçilerek K-Means algoritması uygulandığında elde edilen sonuçlar Şekil 4.1’de ve kayıtların kümelere dağılımı SQL kodları yardımı ile Çizelge 4.1’de verilmiştir. 69 Şekil 4.1. K-Means algoritmasının WEKA çıktısı 70 Çizelge 4.1. K-Means algoritmasının sonucu ve özeti Kümeler ve Verilerin Kümelere Dağılımı Küme No Not Ortalamalası(sonagno) 0 1 2 2.3346 3.1591 1.3688 ÖZELLİKLER Özelliklerin Aldığı Değerler K.Sayısı % K.Sayısı % K.Sayısı % M (Meslek Lisesi) 164 51,2500 88 27,5000 68 21,2500 D (Diğer Lise) 136 52,1073 91 34,8659 34 13,0268 A (Ağrı) 108 53,2020 62 30,5419 33 16,2562 D (Diğer) 192 50,7937 117 30,9524 69 18,2540 0-750 TL 135 47,0383 100 34,8432 52 18,1185 751-1500 TL 106 52,4752 61 30,1980 35 17,3267 1501-3000 TL 50 61,7284 17 20,9877 14 17,2840 3000+ TL 9 81,8182 1 9,0909 1 9,0909 A (Ailemle) 159 60,2273 72 27,2727 33 12,5000 Y (Yurtta) 56 42,1053 56 42,1053 21 15,7895 K (Kirada) 85 51,8293 51 31,0976 28 17,0732 0-3 57 55,3398 23 22,3301 23 22,3301 4-6 126 47,7273 85 32,1970 53 20,0758 7+ 117 54,6729 71 33,1776 26 12,1495 15-20 94 44,9761 59 28,2297 56 26,7943 21-30 177 54,7988 105 32,5077 41 12,6935 31-35 6 35,2941 9 52,9412 2 11,7647 35+ 23 71,8750 6 18,7500 3 9,3750 M (Memur) 87 58,0000 33 22,0000 30 20,0000 E (Esnaf) 55 48,2456 32 28,0702 27 23,6842 C (Çalışmıyor) 133 46,3415 98 34,1463 56 19,5122 O (Özel Sektör) 25 50,0000 16 32,0000 9 18,0000 E (Erkek) 205 50,7426 125 30,9406 74 18,3168 B (Bayan) 95 53,6723 54 30,5085 28 15,8192 E (Evet) 32 48,4848 17 25,7576 17 25,7576 H (Hayır) 268 52,0388 162 31,4563 85 16,5049 Annenin Çalışma E (Evet) 16 59,2593 4 14,8148 7 25,9259 Durumu H (Hayır) 284 51,2635 175 31,5884 95 17,1480 E (Evet) 286 51,3465 171 30,7002 100 17,9533 H (Hayır) 14 58,3333 8 33,3333 2 8,3333 E (Evet) 255 50,7968 155 30,8765 92 18,3267 H (Hayır) 45 56,9620 24 30,3797 10 12,6582 Lise Türü Doğum Yeri Aylık Gelir Kaldığı Yer Kardeş Sayısı Yaşı Baba Mesleği Cinsiyeti Sağlık Sorunu Anne Yaşıyor mu? Baba Yaşıyor mu? 71 Çizelge 4.1 incelendiğinde not ortalamasına göre en başarılı kümenin 1. küme (not ortalaması = 3.1591), en başarısız kümenin ise 2. küme (not ortalaması = 1.3688) olduğunu söyleyebiliriz. Çizelge 4.1’e istinaden, lise türüne göre kayıtların kümelere dağılımı Şekil 4.2’de verilmiştir. Lise türüne göre kayıtların kümelere dağılımı 60,0000 50,0000 %52,1073 %51,2500 %34,8659 40,0000 M (Meslek Lisesi) %27,5000 30,0000 D (Diğer Lise) %21,2500 %13,0268 20,0000 10,0000 0,0000 0(2.336) 1(3.1591) 2(1.3688) Şekil 4.2. Lise türüne göre kayıtların kümelere dağılımı Şekil 4.2 incelendiğinde meslek lisesinden mezun olan öğrencilerin 2. kümede yoğunlaşma oranının diğer liselerden mezun olan öğrencilerden daha yüksek olduğu görülmektedir. Aynı zamanda meslek lisesinden farklı bir liseden mezun olan öğrencilerin 1. küme ve 0. kümede yoğunlaşma oranının meslek lisesinden mezun olan öğrencilerden daha yüksek olduğu görülmektedir. Buna göre, meslek lisesinden mezun olan öğrencilerin, diğer liselerden mezun olan öğrencilere göre başarı düzeyinin daha düşük olduğunu söyleyebiliriz. Çizelge 4.1’e istinaden, doğum yerine göre kayıtların kümelere dağılımı Şekil 4.3’de verilmiştir. 72 Doğum yerine göre kayıtların kümelere dağılımı 60,0000 %53,2020%50,7937 50,0000 40,0000 %30,5419 A (Ağrı) %30,9524 30,0000 D (Diğer) %16,2562 %18,2540 20,0000 10,0000 0,0000 0(2.336) 1(3.1591) 2(1.3688) Şekil 4.3. Doğum yerine göre kayıtların kümelere dağılımı Doğum yerine göre öğrencilerin kümelere dağılımı incelendiğinde, kayıtların kümelere dengeli bir şekilde dağıldığını söyleyebiliriz. Çizelge 4.1’e istinaden, aylık gelire göre kayıtların kümelere dağılımı Şekil 4.4’de verilmiştir. Aylık gelire göre kayıtların kümelere dağılımı 100,0000 %81,8182 80,0000 %61,7284 %52,4752 60,0000 %47,0383 %34,8432 40,0000 %30,1980 %20,9877 %17,3267 %18,1185 %17,2840 20,0000 %9,0909 %9,0909 0,0000 0(2.336) 1(3.1591) 0-750 TL 751-1500 TL 1501-3000 TL 3000+ TL 2(1.3688) Şekil 4.4. Aylık gelire göre kayıtların kümelere dağılımı Şekil 4.4 incelendiğinde aylık geliri 0-750 TL arasında olan öğrencilerin 1. kümede yoğunlaşma oranının daha yüksek olduğu görülmektedir. Bu da düşük gelirli aile yapısına sahip öğrencilerin başarı oranının daha yüksek olduğunu gösterir. 73 Çizelge 4.1’e istinaden, kaldığı yere göre kayıtların kümelere dağılımı Şekil 4.5’de verilmiştir. Kaldığı yere göre kayıtların kümelere dağılımı 70,0000 60,0000 %60,2273 %51,8293 50,0000 %42,1053 40,0000 %42,1053 A (Ailemle) Y (Yurtta) %27,2727 %31,0976 30,0000 %15,7895%17,0732 %12,5000 20,0000 K (Kirada) 10,0000 0,0000 2(1.3688) 1(3.1591) 0(2.336) Şekil 4.5. Kaldığı yere göre kayıtların kümelere dağılımı Şekil 4.5’e göre yurtta kalan öğrencilerin 1. kümede yoğunlaşma oranının daha yüksek olduğu görülmektedir. Bu durumda yurtta kalan öğrencilerin daha başarılı olduğunu söyleyebiliriz. Çizelge 4.1’e istinaden, kardeş sayısına göre kayıtların kümelere dağılımı Şekil 4.6’da verilmiştir. Kardeş sayısına göre kayıtların kümelere dağılımı 60,0000 50,0000 %55,3398 %54,6729 %47,7273 40,0000 %32,1970 30,0000 %33,1776 %22,3301 20,0000 0-3 %22,3301 %20,0758 %12,1495 10,0000 0,0000 0(2.336) 1(3.1591) 2(1.3688) Şekil 4.6. Kardeş sayısına göre kayıtların kümelere dağılımı 4-6 7+ 74 Şekil 4.6’ya göre kardeş sayısı 7 ve daha fazla olan öğrencilerin 1. kümede yoğunlaşması, kalabalık aile yapısına sahip öğrencilerin başarı oranının daha yüksek olduğunu gösterir. Çizelge 4.1’e istinaden, yaşa göre kayıtların kümelere dağılımı Şekil 4.7’de verilmiştir. Yaşa göre kayıtların kümelere dağılımı %71,8750 80,0000 70,0000 60,0000 50,0000 40,0000 %54,7988 %35,2941 30,0000 20,0000 10,0000 0,0000 %52,9412 15-20 %44,9761 0(2.336) 21-30 %32,5077 %26,7943 %28,2297 %18,7500 %12,6935 %11,7647 %9,3750 1(3.1591) 31-35 35+ 2(1.3688) Şekil 4.7. Yaşa göre kayıtların kümelere dağılımı Şekil 4.7 incelendiğinde yaşı 21-30 ile 31-35 arasında olan öğrencilerin en başarılı(1.küme) kümede yoğunlaşma oranının diğer yaş gruplarına göre daha yüksek, aynı zamanda bu yaş grubundaki öğrencilerin en başarısız(0.küme) kümede yoğunlaşma oranının daha düşük olduğu görülmektedir. Bu durumda yaşı 21 ile 35 arasında olan öğrencilerin daha başarılı olduğu söylenebilir. Çizelge 4.1’e istinaden, baba mesleğine göre kayıtların kümelere dağılım Şekil 4.8’de verilmiştir. 75 Babanın mesleğine göre kayıtların kümelere dağılımı 60,0000 50,0000 40,0000 %58,0000 %48,2456 %50,0000 %46,3415 %34,1463 %28,0702%32,0000 %23,6842 %22,0000 %20,0000 %19,5122 %18,0000 30,0000 20,0000 M (Memur) E (Esnaf) C (Çalışmıyor) O (Özel Sektör) 10,0000 0,0000 1(3.1591) 0(2.336) 2(1.3688) Şekil 4.8. Babanın mesleğine göre kayıtların kümelere dağılımı Şekil 4.8 incelendiğinde 1. kümede babası çalışmayan veya özel sektörde çalışan öğrencilerin yoğunlaşma oranının daha yüksek olması, bu profildeki öğrencilerin başarı oranının daha yüksek olduğunu göstermektedir. Çizelge 4.1’e istinaden, cinsiyete göre kayıtların kümelere dağılımı Şekil 4.9’da verilmiştir. Cinsiyete göre kayıtların kümelere dağılımı 60,0000 %50,7426 %53,6723 50,0000 40,0000 E (Erkek) %30,9406 %30,5085 30,0000 %18,3168 %15,8192 20,0000 10,0000 0,0000 0(2.336) 1(3.1591) Şekil 4.9. Cinsiyete göre kayıtların kümelere dağılımı 2(1.3688) B (Bayan) 76 Şekil 4.9’a göre cinsiyete göre kayıtların dengeli bir şekilde kümelere dağıldığı görülmektedir. Çizelge 4.1’e istinaden, sağlık sorununa göre kayıtların kümelere dağılımı Şekil 4.10’da verilmiştir. Sağlık sorununa göre kayıtların kümelere dağılımı 60,0000 %52,0388 %48,4848 50,0000 40,0000 %31,4563 %25,7576 30,0000 E (Evet) %25,7576 H (Hayır) %16,5049 20,0000 10,0000 0,0000 0.(2.336) 1(3.1591) 2(1.3688) Şekil 4.10. Sağlık sorununa göre kayıtların kümelere dağılımı Şekil 4.10 incelendiğinde sağlık sorunu olmayan öğrencilerin en başarılı kümede(1.küme) yoğunlaşma oranının daha yüksek olması ve en başarısız kümede(2.küme) yoğunlaşma oranının daha düşük olması sağlık sorunu olmayan öğrencilerin başarı oranının daha yüksek olduğunu gösterir. Çizelge 4.1’e istinaden, annenin çalışma durumuna göre kayıtların kümelere dağılımı Şekil 4.11’de verilmiştir. 77 Annenin çalışma durumuna göre kayıtların kümelere dağılımı %59,2593 60,0000 %51,2635 50,0000 40,0000 %31,5884 30,0000 %14,8148 20,0000 %25,9259 %17,1480 E (Evet) H (Hayır) 10,0000 0,0000 0.(2.336) 1(3.1591) 2(1.3688) Şekil 4.11. Annenin çalışma durumuna göre kayıtların kümelere dağılımı Annenin çalışma durumuna göre kayıtların kümelere dağılımını incelediğimizde, annesi çalışmayan öğrencilerin 1. kümede yoğunlaşma oranının daha yüksek, 2 kümede ise daha düşük olduğu görülmektedir. Bu durumda annesi çalışmayan öğrencinin başarı oranının daha yüksek olduğunu söyleyebiliriz. Çizelge 4.1’e istinaden, annenin hayatta olma durumuna göre kayıtların kümelere dağılımı Şekil 4.12 ve babanın hayatta olma durumuna göre kayıtların kümelere dağılımı ise Şekil 4.13’de verilmiştir. 78 Annenin hayatta olma durumuna göre kayıtların kümelere dağılımı 60,0000 %58,3333 %51,3465 50,0000 %33,3333 %30,7002 40,0000 30,0000 E (Evet) %17,9533 20,0000 H (Hayır) %8,3333 10,0000 0,0000 0.(2.336) 1(3.1591) 2(1.3688) Şekil 4.12. Annenin hayatta olma durumuna göre kayıtların kümelere dağılımı Babanın hayatta olma durumuna göre kayıtların kümelere dağılımı 60,0000 %56,9620 %50,7968 50,0000 40,0000 E (Evet) %30,8765%30,3797 30,0000 %18,3267 %12,6582 20,0000 H (Hayır) 10,0000 0,0000 0.(2.336) 1(3.1591) 2(1.3688) Şekil 4.13. Babanın hayatta olma durumuna göre kayıtların kümelere dağılımı Şekil 4.12 ve Şekil 4.13 incelendiğinde anne veya babanın hayatta olma durumuna göre kayıtların kümelere dengeli bir şekilde dağıldığını söyleyebiliriz. Çalışmada hazırlanan veri kümesi DBScan algoritmasına uygulandığında Şekil 4.14’deki sonuç elde edilmiştir: 79 Şekil 4.14. DBScan algoritmasının WEKA çıktısı DBScan algoritmasında ve MinNs değerleri değiştirilerek çeşitli sonuçlar elde edilmiş sonuçlardan biri Şekil 4.14’de verilmiştir. Sonuçlara bakıldığında verinin 3 kümeye ayrıldığı; %74,6987’sini 0. kümeye, %0,6884’nü 1. ve 2. kümelere dağıtıldığı, %23,9242’sinin ise kümeler dışında kaldığı görülmüştür. Veriler DBScan algoritması incelendiğinde, algoritmanın eldeki veriye uygun olmadığı görülmüştür. 80 Çalışmada hazırlanan veri kümesi OPTICS algoritmasına uygulandığında Şekil 4.15’deki sonuç elde edilmiştir. Şekil 4.15. OPTICS algoritmasının WEKA çıktısı OPTICS algoritmasının sonucu incelendiğinde hazırlanan verinin çoğunun tanımlanmamış (Undefined) veri olarak kümelendiği görülmektedir. Bu da OPTICS algoritmasının çalışmada kullanılan veriye uygun olmadığını göstermektedir. 81 5. SONUÇ Teknolojinin gelişmesi ile birlikte veri ambarlarında artan verinin bir yığın halinde tutulması bir anlam ifade etmezken, veri madenciliği modelleri kullanılarak bu veri yığınından anlamlı sonuçlar elde edilmiştir. Bu çalışmada veri madenciliği sürecinde yapılması gerekenler ele alınmış; veri madenciliği modellerinden sınıflandırma, birliktelik kuralları, regresyon modelleri incelenerek kümeleme modelleri üzerinde detaylı bir şekilde durulmuş ve Meslek Yüksekokullarında eğitim gören öğrencilerin başarı düzeylerini etkileyen faktörler, veri madenciliği kümeleme teknikleri kullanılarak incelenmiştir. Meslek Yüksekokulları, çeşitli mesleklerde eğitimli, başarılı ve kaliteli bireyler yetiştirmek amacıyla kurulmuş eğitim kurumlarıdır. Günümüzde şirketlerin artmasıyla ara eleman ihtiyacı giderek artmakta, bu nedenle Meslek Yüksekokullarına büyük görev düşmektedir. Daha kaliteli ve başarılı öğrenciler yetiştirmek amacıyla veri madenciliği kümeleme teknikleri kullanılarak öğrencilerin başarılarını etkileyebilecek faktörler incelenmiş ve çeşitli sonuçlar bulunmuştur. Bu faktörler göz önünde bulundurularak daha başarılı bireyler yetiştirilebilir. Örneklem olarak alınan Meslek Yüksekokulu verileri SQL ve T-SQL kodları yardımı ile temizleme, dönüştürme işlemleri ile istenen formata dönüştürüldükten sonra, WEKA programı bünyesindeki kümeleme teknikleri ile modellenmiştir. Tez kapsamında kümeleme tekniklerinden K-Means, DBScan ve OPTICS algoritmaları kullanılmıştır. K-Means algoritmasının sonucu incelendiğinde: 1. Meslek lisesinden farklı bir liseden mezun olan öğrencilerin daha başarılı olduğu, 2. Yurtta kalan öğrencilerin daha başarılı olduğu, 3. Ailesinin aylık geliri 0-750 TL arasında olan öğrencilerin başarı oranının daha yüksek olduğu, 82 4. 7 veya daha fazla kardeşe sahip öğrencilerin daha başarılı olması, kalabalık aile yaşamının öğrenciye daha fazla sorumluluk getirdiği, 5. 21 ile 35 yaş arasında olan öğrencilerin başarı oranının daha yüksek olduğunun görülmesi belli bir olgunluğa gelmiş öğrencinin hayata bir an önce atılmak amacıyla daha fazla çalıştığı, 6. Sağlık sorunu olmayan öğrencilerin başarı oranının daha yüksek olduğu, 7. Annesi çalışmayan öğrencinin başarı oranının daha yüksek olduğu, 8. Diğer özelliklerde ise dengeli bir dağılım olduğu sonuçlarına varılmıştır. Sonuç olarak yaptığımız çalışmada, uygulamada kullandığımız veri setine K-Means, DBScan ve OPTICS algoritmaları uygulanmıştır. K-Means algoritması olumlu sonuçlar vermiş, DBScan ve OPTICS algoritmalarında herhangi bir sonuca varılamamıştır. Bu durumda K-Means algoritmasının daha iyi sonuç vermesi eldeki veriler işlenirken bu algoritmanın kullanılmasının, daha uygun olacağını akla getirmektedir. 83 KAYNAKLAR Agrawal, R., Johannes, G., Dimitrios, G. and Prabhakar, R., 1998. Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications. ACM SIGMOD Int. Conf. on Managment of Data, Seattle. Akgöbek, Ö. ve Çakır, F., 2009. Veri Madenciliğinde Bir Uzman Sistem Tasarımı. Akademik Bilişim’09 - XI. Akademik Bilişim Konferansı Bildirileri. Şanlıurfa. Akın, Y. K., 2008. Veri Madenciliğinde Kümeleme Algoritmaları ve Kümeleme Analizi. Doktora Tezi, Sosyal Bilimler Enstitüsü, Marmara Üniversitesi, İstanbul. Akpınar, H., 2000. Veri Tabanlarında Bilgi Keşfi ve Veri Madenciliği. İ.Ü. İşletme Fakültesi Dergisi, 29 (1), 1-22. Albayrak, A. S. ve Yılmaz, Ş. K., 2009. Veri Madenciliği: Karar Ağaçları Algoritmaları ve İMKB Verileri Üzerine Bir Uygulama. Süleyman Demirel Üniversitesi İktisadi ve İdari Bilimler Fakültesi Dergisi, 14 (1), 31-52. Albayrak, M., 2008. EEG Sinyallerindeki Epileptiform Aktivitenin Veri Madenciliği Süreci ile Tespiti. Doktora Tezi, Sakarya Üniversitesi Fen Bilimleri Enstitüsü, Sakarya. Ankerst, M., Breunig , M. M., Hans-Peter, K. and Sander, J., 1999. OPTICS: Ordering Points To Identify the Clustering Structure. ACM SIGMOD’99 Int. Conf. on Management of Data, Philadelphia. Argüden, Y. ve Erşahin, B., 2008. Veri Madenciliği Veriden Bilgiye, Masraftan Değere. Alkim Kağıt San. ve Tic. A.Ş., 72 s, İstanbul. Babadağ, K. K., 2006. Veri Madenciliği Yaklaşımı ve Veri Kalitesinin Artması için Kullanılması. İstatistik Araştırma Sempozyumu, Ankara. Baykal, A., 2006. Veri Madenciliği Uygulama Alanları. D. Ü. Ziya Gökalp Eğitim Fakültesi Dergisi, 7, 95-107. Baykasoğlu, A., 2005. Veri Madenciliği ve Çimento Sektöründe Bir Uygulama. Akademik Bilişim Konferansı, Gaziantep. Bozkır, A. S., Sezer, E. ve Gök, B., 2009. Öğrenci Seçme Sınavında (ÖSS) öğrenci Başarımını Etkileyen Faktörlerin Veri Madenciliği Yöntemleriyle Tespiti. 5. Uluslararası İleri Teknolojiler Sempozyumu (IATS’09), Karabük. Chapman, P., Clinton, J., Kerber, R., Khabaza, T., Reinartz, T., Shearer, C. and Wirth, R., 2000. CRISP-DM 1.0: Step-by-step data mining guide. SPSS Inc., 76 p, USA. Çalışkan, S. B., 2008. K´KNN: Kümeleme ve K En Yakın Komsu Yöntemi İle Ağlarda Nüfuz Tespiti. Y.Lisans Tezi, Gebze İleri Teknoloji Enstitüsü Mühendislik ve Fen Bilimleri Enstitüsü, Gebze. Çankırı, S., Kartal, E., Yıldırım, K., ve Gülseçen, S., 2011. Organizasyonlarda Bilgi Yönetimi Sürecinde Veri Madenciliği Yaklaşımı. Bilgi Çağında Varoluş: “Fırsatlar ve Tehditler” Sempozyumu: Bildiriler Kitabı, Ed: A. Yıldızeli, A. Arıkan, T. Çakmak, Yeditepe Üniversitesi, İstanbul, 148-167. Çoban, A., 2006. İmalat Sanayisinde Veri Madenciliği Uygulaması. Doktora Tezi, Sakarya Üniversitesi Fen Bilimleri Enstitüsü, Sakarya. 84 Demiralay, M. ve Çamurcu, A. Y., 2005. Cure, Agnes ve K-Means Algoritmalarındaki Kümeleme Yeteneklerinin Karşılaştırılması. İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi, 8, 1-18. Dener, M., Dörterler, M. ve Orman, A. 2009. Açık Kaynak Kodlu Veri Madenciliği Programları: WEKA’da Örnek Uygulama. Akademik Bilişim’09 - XI. Akademik Bilişim Konferansı Bildirileri, Şanlıurfa. Dinçer, E., 2006. Veri Madenciliğinde K-Means Algoritması ve Tıp Alanında Uygulanması. Y.Lisans Tezi, Kocaeli Üniversitesi Fen Bilimleri Enstitüsü, Kocaeli. Doğan, S., Özyolu, F. ve Köseoğlu, B., 2010. CLARA ve CLARANS Algoritmaları. http://www.mcilmgoc.com/mgocmen37/verimadenciligi/Clara&Clarans.pdf (18.10.2012). Dondurmacı, G., 2011. Veri Madenciliği’nde Regresyon Ağaçları İle Sınıflandırma Ve Bir Uygulama. Doktora Tezi, Mimar Sinan Güzel Sanatlar Üniversitesi Fen Bilimleri Enstitüsü, İstanbul. Durmuş, M. S. ve İplikçi, S., 2007. Veri Kümeleme Algoritmalarının Performansları Üzerine Karşılaştırmalı Bir Çalışma. Akademik Bilişim’07 - IX. Akademik Bilişim Konferansı Bildirileri, Kütahya. Erdoğan, Ş. Z., 2004. Veri Madenciliği ve Veri Madenciliğinde Kullanılan K-Means Algoritmasının Öğrenci Veri Tabanında Uygulanması. Y. Lisans Tezi, İstanbul Üniversitesi Sosyal Bilimler Enstitüsü, İstanbul. Ester, M., Kriegel, H. P., Sander, J. and Xu, X., 1996. A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. 2nd International Conference on Knowledge Discovery and Data Mining, München. Fayyad, U., Piatetsky-Shapiro, G. and Smyth, P. 1996. From Data Mining to Knowledge Discovery in Databases. AI Magazine, 17 (3), 37-54. Giannotti, F. and Pedreschi, D.,2008. Mobility, Data Mining and Privacy. Springer, 410 s, Pisa, Italy. Gözüdeli, Y., 2012. Yazılımcılar için SQL Server 2012 ve Veritabanı Programlama. Seçkin Yayınları, 688 s, Ankara. Gürsoy, U. T. Ş., 2009. Veri Madenciliği ve Bilgi Keşfi. Pegem Akademi Yayınları, 174 s, Ankara. Gürsoy, U. T. Ş., 2011. Uygulamalı Veri Madenciliği Sektörel Analizler. Pegem Akademi Yayınları, 126 s, Ankara. Han, J. and Kamber , M., 2006. Data Mining: Concepts and Techniques. Morgan Kauffmann, 743 p, San Francisco. Hinneburg, A. and Keim, D. A., 1998. An Efficient Approach to Clustering in Large Multimedia Databases with Noise. Proceedings of the 4th International Conference on Knowledge Discovery and Datamining (KDD'98), New York. Çelebi, Ö. F., 2011. Yazılım Deneyimleri. www.omerfarukcelebi.com/?p=89 (15.10. 2012) Işık, M. ve Çamurcu, A. Y., 2008. Web Belgeleri Kümelemede Benzerlik ve Uzaklık Ölçütleri Başarılarının Karşılaştırılması. Marmara Üniversitesi Fen Bilimleri Enstitüsü Dergisi, 20 (1), 35-49. İşler, Y. ve Narin, A., 2012. «WEKA Yazılımında k-Ortalama Algoritması Kullanılarak Konjestif Kalp Yetmezliği Hastalarının Teşhisi. SDU Teknik Bilimler Dergisi 2 (4), 21-29. 85 Kavurkacı, Ş., Aydın, Z. G. ve Şam, R., 2011. Büyük Ölçekli Veri Tabanlarında Bilgi Keşfi. Akademik Bilişim’11 - XIII. Akademik Bilişim Konferansı Bildirileri, Malatya. Kaya , E., Bulun, M. ve Arslan, A. Tıpta Veri Ambarları Oluşturma ve Veri Madenciliği Uygulamaları. ab.org.tr/ab03/tammetin/96.doc (14.10.2012). Koyuncugil, A. S. ve Özgülbaş, N., 2009. Veri Madenciliği: Tıp ve Sağlık Hizmetlerinde Kullanımı. Bilişim Teknolojileri Dergisi, 2 (2), 21-32. Kuo, R. J., Ho, L.M. and Hu, C. M., 2002. Integration Of Self-Organizing Feature Map and K-Means Algorithm for Market Segmentation. Computers & Operations Research, 29 (11), 1475-1493. Larose, D. T. 2006. Data Mining Methods and Models. John Wiley & Sons, Inc., 340 p, New Jersey. Mitra, S. and Acharya, T., 2003. Data Mining - Multimedia, Soft Computing and Bioinformatics. A John Wiley & Sons, Inc., 424 p, New Jersey. Ng, R. T. and Han, J., 1994. Efficient and Effective Clustering Methods for Spatial Data Mining. Proceedings of the 20th VLDB Conference, Santiago. Oğuzlar, A., 2003. Veri Ön İşleme. Erciyes Üniversitesi İktisadi ve İdari Bilimler Fakültesi Dergisi, 21, 67-76. Özdamar, E. Ö., 2002. Veri Madenciliğinde Kullanılan Teknikler ve Bir Uygulama. Y. Lisans Tezi, Mimar Sinan Üniversitesi Fen Bilimleri Enstitüsü, İstanbul. Özekes, S., 2003. Veri Madenciliği Modelleri ve Uygulama Alanları. İstanbul Ticaret Üniversitesi Dergisi, 2 (3), 65-82. Özkan, Y., 2013. Veri Madenciliği Yöntemleri. Papatya Yayınları, 216 s, İstanbul. Özmen, Ş., 2003. Marmara University Department of Business Administration Konferanslar. Http://mimoza. marmara.edu.tr/ ~sozmen/ konferanslar.php (8.11. 2012). Özseven, T., 2010.Veritabanı Yönetim Sistemleri II. Murathan Yayınları, 351 s, Trabzon. Sever, H. ve Oğuz, B. 2002. Veri Tabanlarında Bilgi Keşfine Formel Bir Yaklaşım Kısım I: Eşleştirme Sorguları ve Algoritmalar. Bilgi Dünyası, 3 (2), 173-204. Silahtaroğlu, G., 2008. Kavram ve Algoritmalarıyla Temel Veri Madenciliği. Papatya Yayınları, 174 s, İstanbul. Şeker, Ş. E., 2008. K-Ortalama Algoritması (K-Means Algorithm). http://www.bilgisayarkavramlari.com/2008/12/15/k-ortalama-algoritmasi-KMeans-algorithm/ (25.9. 2012). Şentürk, A., 2006. Veri Madenciliği Kavram ve Teknikler. Ekin Yayınları, 114 s, Bursa. Tapkan, P., Özbakır, L. ve Baykasoğlu, A., 2011. WEKA ile Veri Madenciliği Süreci ve Örnek Uygulama. Endüstri Mühendisliği Yazılımları ve Uygulamaları Kongresi, İzmir. Vahaplar, A. ve İnceoğlu, M. M., 2001. Veri Madenciliği ve Elektronik Ticaret. VII. Türkiye’de İnternet Konferansı, İstanbul. Wang, W., Yang, J. and Muntz, R., 1997. Sting: A Statistical Information Grid Approach to Spatial Data Mining. Proceedings of the 23rd VLDB Conference, Athens. Yazıcı, F., 2005. EM Algoritması ve Uzantıları. Y. Lisans Tezi, Hacettepe Üniversitesi Fen Bilimleri Enstitüsü, Ankara. 86 Yılmaz, Ş. K. ve Patır, S., 2011. Kümeleme Analizi ve Pazarlamada Kullanımı. Akademik Yaklaşımlar Dergisi, 2 (1), 91-113. Zaïane, O. R., 1999. Chapter I: Introduction to Data Mining. University of Alberta, http://webdocs.cs.ualberta.ca/~zaiane/courses/cmput690/notes/Chapter1/ch1.pdf (7.10.2012). ÖZGEÇMİŞ Kişisel Bilgiler Soyadı, adı: ÇELİK, Gaffari Uyruğu: T.C. Doğum tarihi ve yeri: 1982 / Merkez-Adıyaman Medeni hali: Evli e-mail: gaffari02@yahoo.com Eğitim Eğitim Birimi Mezuniyet tarihi Derece Yüksek Lisans Atatürk Üniversitesi/Fen Bilimleri Enstitüsü/Bilgisayar Mühendisliği 2013 Anabilim Dalı Lisans Mersin Üniversitesi/ Bilgisayar 2005 Mühendisliği Bölümü Lise Yabancı Dil İngilizce Adıyaman Atatürk Lisesi 1999