Klasik Dosya Yapıları

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "1.1.1. Klasik Dosya Yapıları"

Transkript

1 Dersin Hedefi Bu ders kapsamında veri madenciliğine bir giriş yapılarak bazı temel yöntemleri üzerinde durulmaktadır. Özellikle çok büyüt boyutdaki verilerle karşılaşıldığında, bu veriler içinden anlamlı ve yararlı bilgiyi ortaya çıkarmak bazı zorluklar taşımaktadır. Geleneksel istatistik yöntemlerle bu tür büyük boyutdaki verileri çözümlemek çoğunlukla olanaksızdır. Bu tür büyük verileri işlemek için veri madenciliğinin özel ymntemlerine başvurmak söz konusudur. Veri madenciliğinin temel konularını sınıflandırma, kümeleme ve birliktelik çözümlemeleri oluşturmaktadır. Bu ders kapsamında söz konusu alanlardaki çeşitli algoritmalar ele alınarak incelenecektir. BÖLÜM 1 VERİ AMBARI Bölüm Hedefi Günümüzde işletmelerde çok büyük boyutlarda veri birikmekte ve bu verilerden karar üretmek zor olmaktadır. İşletmelerin içinde üretilen veriler yanısıra dış çevreden gelen verileri de kapsayacak biçimde bir veri modeli hazırlayarak yöneticilere kullanmaları için karar destek sistemlerini sunmak bir zorunluluk haline gelmiştir. Veri ambarı işletmelerde kurulacak karar destek sistemleri için bir alt yapı oluşturmaktadır. Öncelikle temel kavramlar üzerinde duralım: Klasik dosya yapıları Kayıt ve alan Sıralı dosyalar Dizinli dosyalar Hesaba dayalı dosyalar Veri tabanı sistemleri Veri tabanı sistemlerinin üstünlükleri Veri modelleri Klasik Dosya Yapıları Bilgisayarların ilk ortaya çıktığından bu yana hem donanım hem de yazılım alanında pek çok değişim ortaya çıkmıştır. Doğal olarak, bu değişim kuruluşların ve kişilerin gereksinimlerine daha iyi cevap verebilmek amacıyla ortaya çıkmaktadır. Pek çok kuruluşta eskiye oranla çok daha fazla veri üretilmeye başlandığında, geleneksel veri saklama ve işleme tekniklerinin artık yetersiz kalmaya başladığı gözlemlenmiştir Kayıt ve Alan Veri saklama birimlerinde depolanan veri topluluklarına dosya (file) adını veriyoruz. Dosyalar ise kendi içinde kayıtlara bölünmüştür. Örnek olarak bir sınıftaki öğrenci listesini göz önüne alalım. Bu liste çok sayıda veri içerebilir. O halde, listenin ana bellekte tutulması söz konusu olamaz. Ana bellekte tutulduğu takdirde, bilgisayarın kapatılması durumunda bu bilgiler yok olacaktır. O halde bu verinin kalıcı bir ortamda, örneğin sabit disk üzerinde saklanması gerekecektir. Disk üzerinde tutulan bu bilgiler, yeni öğrenci eklendiğinde büyüyecek veya çıkarıldığında küçülecektir. Ayrıca zaman zaman içeriği değişecektir. Öğrenci listesindeki her bir öğrenci bilgisi bir mantıksal kayıt oluşturur. Her kayıt farklı bilgiler içerebilir. Örneğin öğrenci kaydı öğrencinin adı, baba adı, doğduğu yer vb gibi bilgileri içerebilir. Sayılan bu bilgilerin her birine alan (field) adını veriyoruz. Kuruluşların muhasebe, satış, üretim, stok ve diğer tüm faaliyetlerinde üretilen veri hem güncel işlemlerin yürütülmesi hem deyöneticilere alacağı kararlarda destek sağlamak üzere, belirli yapılarda dosya biçiminde depolanır. Tüm kullanıcılar, birbirileriyle ilişkilendirilmiş bu dosyalara erişerek görevlerini yerine getirir.

2 Şekil 1.1: Bir kayıt birbirleriyle ilişkili alanlardan oluşur Sıralı Dosyalar Klasik bilgisayar dosyaları, birbirinden bağımsız muhasebe, stok, pazarlama, üretim ve diğer uygulamalarda kullanılmak üzere hazırlanır. Bu dosyalar, sıralı ya da doğrudan erişim yöntemleri kullanılarak işlenir. Sıralı erişimde, dosyanın tüm kayıtları tek tek taranarak istenilen kayıtlara ulaşılır. Doğrudan erişim yönteminde ise, kayıtlar tek tek sırayla okutulmaz, istenilen kayıta doğrudan erişerek işlenir. Sıralı dosyalar, bir başka deyişle ardışık dosyalar, içerdiği kayıtlara birinci kayıttan başlamak üzere sırayla erişim yapmak üzere tasarlanmış dosyalardır. Bu tür dosyaların kayıtlarına ardışık olarak erişilebilmesine karşılık, kayıtlar fiziksel olarak ardışık olmayabilir. Sıralı dosyaların her bir kaydına ardışık olarak erişilmesi bazı durumlarda yararlı olmasına rağmen, bazı uygulamalarda sorunlar yaratır. Şekil 1.2: Sıralı dosyalarda kayıtlara dosyadaki yerleşim sırasına göre erişilir. Örneğin, okuldaki öğrencilerin tümü listelenecek ise, kayıtlara sırayla erişim söz konusudur. Bu durumda dosyanın sıralı olarak tasarlanmış olması sorun yaratmaz. Ancak sadece birkaç öğrencinin listelenmesi isteniliyorsa, tüm öğrencilerin okunarak bu listenin elde edilmesi uygun bir yöntem olmayacaktır. Söz konusu öğrencilere doğrudan erişilmesi en uygun yoldur Dizinli Dosyalar Bir önceki konuda belirtilen gereksinime karşılık vermek amacıyla doğrudan erişimli dosyalar kullanılır. Bu tür dosyalarda, her bir arama işlemi dosyanın başından itibaren yapılmaz. Belirlenen kayıtlara doğrudan erişilerek üzerinde işlem yapılır. Doğrudan erişimli dosyaların en tanınmışı, dizinli dosyalar (indeksli dosyalar) olarak bilinir. Dizinli dosyalar veya bir başka deyişle dizin sıralı dosyalar, veri dosyasından ayrı olarak bir dizin dosyasının oluşturulması ile birlikte hazırlanır. Şekil 1.3: Dizinli dosyalarda önce dizin dosyasından bir kayıt okunur. Bu kayıt veri dosyasının ilgili satırına ait adresi içerir. Bu adres ile ilgili satıra ulaşılır.

3 Bir dosya için oluşturulan dizin, söz konusu dosyanın anahtarları ile, bu anahtarların disk üzerinde bulunduğu adresi içerir.anahtar alan, erişimde kullanılmak üzere seçilen alan olarak değerlendirilir. Örnek olarak öğrenci dosyasında, öğrenci numarasını içeren alanının dizin alan olarak tasarlandığını varsayalım. Herhangi bir öğrencinin bilgilerine ulaşmak söz konusu olduğunda, bu numara önce dizin üzerinde aranarak bulunur ve söz konusu kayda ilişkin adres bilgisi elde edilerek bu adrese doğrudan erişilir Hesaba Dayalı Dosyalar Bir diğer doğrudan erişimli dosya türü hesaba dayalı dosyalar (hashed files) olarak bilinir. Bu tür dosyalar, yukarıda anlatılan dizinli dosyalar gibi ayrı bir dizinin tutulmasını gerektirmez. Dosyanın herhangi bir kaydına doğrudan doğruya erişebilmek için bir hesaplama algoritması kullanılır. Şekil 1.4: Bir hesaplama algoritması yardımıyla ilgili kayıta erişilir Veri Tabanı Sistemleri Karmaşık dosya yapıları ve çok sayıda dosya arası ilişki ve kullanıcıların dosyalara erişimi söz konusu olduğunda geleneksel dosya sisteminin yetersiz kaldığı görülmüştür. Bu sorunu çözmek üzere veriyi saklama ve erişim konusunda yeni yazılım teknolojilerine yönelme başlamış ve Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımı ortaya çıkmıştır. VTYS yaklaşımında veri girişi ve depolanması, veriye erişen uygulama programlarından bağımsızdır. Klasik dosya kullanımında ise, kayıt desenleri ve dosya yapılarında ortaya çıkabilecek en ufak bir değişiklik bile uygulama programlarının değişmesine ve yeniden derlenmesine neden olmaktadır. Veri tabanı sistemleri bilgisayar sistemlerinin önemli bir bileşeni olarak değerlendirilir. Veri tabanı yönetim sistemleri, birbirleriyle ilişkili veri ve programlar topluluğundan oluşmaktadır. Veri topluluğu bir veri tabanı olarak değerlendirilir. Veritabanı bir kuruluşa ilişkin bilgilerin yer aldığı ortamdır. Veritabanı sistemleri, veri kümelerinin düzenli biçimde tutulduğu ve bu verinin çeşitli yazılımlar aracılığıyla yönetildiği ortamlardır. Veri tabanı, VTYS ve kullanıcı arasındaki ilişki aşağıdaki şekil üzerinde ifade edilmektedir. Şekil 1.5: Veri tabanı ile kullanıcı arasındaki ilişki Veri Tabanı Sistemlerinin Üstünlükleri

4 Veri tabanı kullanımı, geleneksel dosya kullanımına göre birçok yönden üstünlük sağlamaktadır. Veri tabanı sistemlerinin yararları arasında en önemlileri aşağıda belirtildiği biçimde özetlenebilir:

5 Veri Modelleri Veri Tabanı Yönetim Sistemleri belirli bir veri modeline dayanır. Bir veri tabanı yapısının temelini, veri modeli kavramı oluşturmaktadır. Veriyi mantıksal düzeyde düzenlemek için kullanılan kavramlar, yapılar ve işlemler topluluğuna veri modeli adını veriyoruz. Şu ana dek birçok veri modeli geliştirilmiştir. Bu veri modellerini dört ana grupta toplamak mümkündür. Sayılan bu veri modellerinin ilk ikisi şu anda kullanılmamaktadır. En yaygın kullanımı ise İlişkisel Veri Modelidir. Günümüzde kullanılan VTYS lerinin hemen hemen tümü ilişkisel veri modeline dayalıdır. Son zamanlarda ortaya çıkan Nesneye Yönelik Veri Modeli, ilişkisel veri modeli ile birlikte bazı VTYS lerinde kullanılmaktadır İlişkisel Model İlişkisel model (relational model), günümüzde en yaygın biçimde kullanılan bir modeldir. Ticari veri tabanı yönetim sistemlerinin hemen hemen tümünde bu model kullanılmaktadır. İlişkisel model, varlıklar arasındaki bağlantının, içerdiği değerlere göre sağlanması esasına dayanır. İlişkisel model, varlıklar arasında oluşan karmaşık ilişkileri basite indirgemek amacıyla geliştirilmiştir. Bu yaklaşımda, veri tabanındaki tüm ilişkiler tablolar biçiminde tanımlanmaktadır.

6 İlişkisel Veri Tabanı Şekil 1.6: İlişkisel veri tabanında tablolar birbirleriyle ilişkilendirilmiştir. İlişkisel veritabanı, her biri özel isimlere sahip tablolardan oluşur. Burada her tablo bir varlığa veya bir ilişkiye karşılık gelmektedir. Tablonun sütunları nitelikleri; satırlar ise bu niteliklerin değerlerini ifade eder. Her bir satır bir kayıt olarak da düşünülebilir.anahtar alan tablonun tanımlayıcısıdır Tabloların Özellikleri Şekil 1.7: Tablonun satırları ve sütunları İlişkisel veritabanı içinde yer alan her bir tablo aşağıda belirtilen özelliklere sahip olması gerekir: Tablolar sütunlardan (kolonlardan) oluşur. Her bir sütunun ayrı bir adı vardır. Her bir sütun, aynı niteliğin tanımlandığı aynı etki alanının (domain) belirlediği değerleri içerir. Her bir satır birbirinden farklıdır. Satırların sırası önemsizdir. Sütunların sırası önemsizdir.

7 Şekil 1.8: Tablodaki satırların sırası değiştiriliyor Veritabanı Şeması Veritabanının mantıksal tasarımına veri tabanı şeması adı verilir. Tablolar ve onların nitelikleri veritabanı şemasını oluşturur. Veri tabanı şemalarını iki ana grup altında ortaya koymak mümkündür: Fiziksel şema Kavramsal şema Fiziksel şema, veri tabanının fiziksel çevresi ile ilgili tanımları içerir. Örneğin, veri tabanı bilgisayarda bir disk dosyası biçiminde yer alacaktır. Bu dosyanın disk üzerindeki adresi ve özellikleri ile ilgili tanımlar fiziksel şemayı oluşturur. Kavramsal şema ise, tüm veri tabanının mantıksal tasarımıdır. Veri tabanına konulmasına karar verilen veriler arasındaki mantıksal ilişkiler yapısının saptanması için, veri tabanı şeması oluşturulur. Bu şemada, veri tabanında veri alanları, kayıtlar dosyalar vb. gibi ne tür veri elemanlarının bulunacağı, veri elemanları arasındaki ilişkiler ve veri tabanının yapısı hakkında bilgiler yer alır. Veri tabanı şeması veya bir başka deyişle kavramsal şema tasarlandıktan sonra, her bir uygulama için alt-şemalar hazırlanır. Örneğin, muhasebe uygulaması bir alt şemadır. Çünkü bu uygulama veri tabanının tümü ile ilgilenmez. Alt şema,veri tabanı şemasının her hangi bir uygulama programı tarafından gereksinim duyulan alt-düzey mantıksal görünümüdür. Uygulama programlarının veri tabanının her noktasına erişmesi gerekmez. Çoğunlukla kendisi ile ilgili bölümlere yanialt-şemaya ulaşması yeterlidir. Örneğin, firmanın satışlarla ilgili alt-şeması, ürünler ve müşterilerle ilgili verileri kapsayacaktır. Bu uygulama, veri tabanın diğer kaynakları ile ilgilenmez. Şekil 1.9: Veri tabanı şeması.

8 1.2. Veri Ambarı Bu başlık altında aşağıdaki konulara değineceğiz. OLTP Sistemler Karar Destek Sistemleri Veri Ambarı Nedir Veri Ambarının Temel Özellikleri Veri Ambarının İçerdiği Veri Veri Ambarı Veri Modeli Veri Ambarı Mimarisi OLTP Sistemler Bir kurumun günlük verilerinin işlendiği ortamlara OLTP (OnLine Transaction Processing) sistemler adı verilmektedir. Örneğin bir işletmenin sahip olduğu stok sistemi ile, depoya giren ve çıkan ürünleri ve ödemeleri izlenebilir. Bu tür işlemler hergün yapılır. Stoklarla ilgili tüm işlemler veri tabanına kaydedilir. Bu kayıtlara dayalı olarak çeşitli belge ve raporlar üretilir. OLTP sistemlerine ilişkin veritabanlarına veri kaydedilebilir, veriye erişilerek raporlanabilir ve istendiğinde veri silinebilir. Şekil 1.10: Bir OLTP veri tabanında yapılabilecek işlemler Karar Destek Sistemleri 1990 lı yıllara değin bilgisayarların karar alma süreci üzerindeki etkisini artırmak üzere çok çaba harcanmıştı. Karar Destek Sistemleri (Decision Support Systems) ve Üst Yönetici Sistemleri (Executive Information Systems) bu amaçla ortaya atılmıştı. Ancak donanım ve yazılım teknolojilerinin önceki dönemlerdeki durumu bu tür yönetim bilişim sistemlerinin yaygınlaşmasına uygun değildi. Klasik karar destek sistemlerinin tasarlanması ve uygulamaya alınması bazı zorluklar taşıyordu. Bu nedenle 1970 li yılardan itibaren 1990 lı yılların başına kadar geçen sürede karar destek sistemleri yaygınlaştırılamadı. Çoğu kuruluşta elektronik tablo programlarının kullanımı seviyesinde bu sistemler uygulanabilmiştir lı yılların başından itibaren hem donanım hem de yazılım teknolojilerindeki ve özellikle veri tabanı sistemlerindeki gelişmeler, karar destek sistemlerinin geliştirilmesi konusunda son derece uygun ortamlar hazırlamıştır. Özellikle çok büyük hacimlerdeki verinin hızlı biçimde işlenmesi olanağı elde edilmeye başlanmıştır. Veri ambarı (data warehouse) teknolojisinin gündeme gelmesiyle birlikte OLTP veri tabanlarındaki verinin kullanılabilir bilgiye dönüştürülmesi fırsatı elde edilmiş oldu. Artık yüzlerce gigabayt, hatta terabaytlar düzeyindeki verinin işlenebilmesi ve doğrudan karar destek sürecine katılması sağlanmıştır. Veri ambarı konusunda günümüzde yoğun araştırmalar yapılmaktadır. Veri ambarının kavramsal temellerinin atılmasında B. Inmon ve R. Kimball gibi araştırmacıların önemli rolü olmuştur. Özellikle B. Inmon veri ambarının ilk tanımını yapmış ve esaslarını ortaya koymuştur. Veri ambarı konusu, yeni başka kavramların da ortaya çıkmasına öncü olmuştur. Günümüzde bu kavram OLAP ve veri madenciliği gibi konularla birlikte anılmaktadır. Günümüzde yöneticiler için karar alma ortamı eskisine oranla daha karmaşık hale gelmiş, yöneticilerin kararları üzerinde etkili olabilecek faktörler artmış, iç ve dış çevredeki değişiklikler ve özellikle kriz durumları karar destek sistemlerine olan eğilimi artırmıştır.

9 Karar destek sistemleri, yöneticilerin programlanamayan türden karar verme işlemlerine yardımcı olmak üzere geliştirilir. Yöneticinin herhangi bir anda, daha önceden öngörülmemiş bir bilgiye aniden gereksinimi olabilir. Böyle bir durumda, hemen yanıt verebilecek bir sistemin varlığı gerekecektir. Karar destek sistemleri bu gibi durumlar için tasarlanır. Üst yönetici sistemleri temel olarak karar destek sistemlerine benzer. Ancak bu tür sistemler sadece stratejik düzeydeki yönetici personel için tasarlanır. Bu sistemler yapısal olmayan, yani önceden programlanamayan karar türlerine destek veren sistemlerdir. Karar destek sistemleri çoğunlukla model bazlı olarak tanımlanır. Bunlar basit karar modellerin yanısıra, karmaşık matematiksel yada istatistiksel modelleri de içerebilir. Üst yönetici sistemlerinde ise karmaşık modellere yer verilmez. Çoğunlukla sistemin sorgulama olanaklarından yararlanılır Veri Ambarı nedir? Veri ambarı için çeşitli tanımlar yapılabilir. Veri ambarını en basit anlamda, karar destek uygulamaları için tasarlanan bir ortam olarak tanımlıyoruz. Bir başka deyişle veri ambarı, karar destek sistemlerinin teknik altyapısını oluşturur. Veri ambarı, bir işletmenin sahip olduğu verinin, eskileri de dahil olmak üzere, karar destek amacıyla kullanmasına olanak sağlar. Bunun anlamı, var olan ancak kullanılamayan veri de artık kullanılabilir ve çözümlenebilir hale gelecektir. Özellikle bankalar, sigorta şirketleri, perakende satış yapan firmalar ve kamu kuruluşları için bu durum önemlidir. Çünkü bu tür kuruluşlarda günlük işlemlerden üretilen veri sadece işlemsel (operasyonel) görevlerde kullanılmakta, saklanan veri stratejik düzeydeki yöneticilerin önüne bilgi olarak gelememektedir. Veri ambarı, birbirleriyle bütünleşik olmayan uygulamaların bütünleştirilmesi açısından bir olanak sağlar. Veri ambarı, bir zaman boyutu içinde analitik işlemlerin yapılması için ihtiyaç duyulan bilgi temelini sağlar. Veri ambarı, karar verme sürecinde yöneticilere destek vermek üzere hazırlanmış, konuya yönelik, bütünleşik, zaman boyutu olan, sadece okunabilen veri topluluğudur. Veri ambarına veri girişleri çoğunlukla işlemsel çevreden dönüştürülerek yapılmaktadır. Veri ambarı fiziksel olarak daima işlemsel çevreden ayrı olarak düşünülür. Şekil 1.11: Veri ambarı, karar destek sistemleri ve üst yönetici sistemleri arasındaki ilişkiler Konuya Yöneliktir Veri ambarının birinci özelliği, işletmenin belli başlı amaçlarına yada konularına yönelik olmasıdır. Konuya yönelik olmasının anlamı, veri ambarının işletmedeki yüksek seviyeli varlıklar üzerine odaklanmış olmasıdır. Bu varlıklar bir okul ortamı için öğrenciler, dersler, notlar vb olabilir. Klasik işlemsel sistemler, işletmelerdeki işlemler, süreçler ya da fonksiyonlar üzerine yoğunlaşmışlardır. Buna karşılık, veri ambarı işletmedeki konular üzerine yoğunlaşmıştır.

10 Örneğin işlemsel uygulamalar, muhasebe, personel, stok vb gibi sistemlere yada fonksiyonlara yönelik olabilir. Buna karşılık, bir işletmede veri ambarı, müşteri, satıcı, ürün, eylem (işlem) gibi konulara yönelik olarak tasarlanabilir. Veri ambarında yer alan verinin tasarımı ve uygulaması söz konusu konulara göre düşünülür. Uygulama dünyası, yani işlemsel sistemler veri tabanı tasarım ve süreç tasarımının her ikisiyle ilgilenir. Veri ambarı ise veri modelleme ve veri tabanı tasarımıyla ilgilenir. Yani süreç tasarımı veri ambarı ortamının bir parçası değildir. İşlemsel sistemlerin uygulama kökenli ve veri ambarının konuya yönelik uygulamaları arasındaki farklılıklar, bize verinin ayrıntı seviyesi hakkında da bazı ipuçları vermektedir. Veri ambarı karar destek sürecinde kullanılmayacak veriyi içermez. Buna karşılık, işlemsel sistemlerin uygulama kökenli veri tabanları işletmenin fonksiyonel yada işlemsel bazda gereksinim duyabileceği verinin tümünü hemen sağlamaya hazırdır. İşlemsel sistemlerin, karar destek analistlerinin kullanabileceği veriyi sağlama gibi bir kaygısı yoktur. Şekil 1.12: Veri ambarı konuya yöneliktir. Veri arasındaki ilişkiler açısından da işlemsel sistemlerin verisi ile veri ambarı verisi arasında farklılıklar bulunmaktadır. İşlemsel sistemlerde bir fonksiyon yerine getirilirken, iki veya daha fazla sayıda tablo arasındaki ilişkilere dayanılarak işlemler yapılır. Veri ambarında ise, zaman spektrumu taranır ve veri ambarındaki ilişkilerin sayısı çok daha fazladır Bütünleşiktir Veri ambarı ortamındaki verinin en belirgin görünümü, bütünleşik durumda olmasıdır. Veri ambarı içindeki veri mutlaka bütünleşik olmalıdır. Bunun istisnası olamaz. Bütünleşme farklı biçimlerde olabilir. Verinin kodlanmasında görüş birliğine varılması, ölçü birimlerinin seçiminde tutarlılık, sayısal değerlerin fiziksel gösterimindeki tutarlılık vb. gibi bütünleştirme kavramlarından söz edilebilir. İşlemsel sistemlerde farklı uygulamalarda farklı tasarımcılar tarafından verinin tanımlanması açısından değişik yollar tercih edilmiş olabilir. Kodlamalardaki farklılık, anahtar yapılarda farklılıklar, fiziksel karakteristiklerdeki farklılıklar, isimlendirmelerdeki farklılıklar vb. gibi birçok farklılık olabilir. Örneğin, cinsiyet ile ilgili bir alan, uygulamada sadece E ve K kodlarıyla belirtilmiş olabilir. E kodu erkek, K kodu ise kadınları simgelemektedir. Bir başka uygulamada ise söz konusu cinsiyet ile ilgili alan 1 veya 0 değerleri ile ifade edilmiş olabilir. Bir başka uygulamada ise Erkek veya Kadın ifadeleri cinsiyetleri belirtmek için kullanılmış olabilir. Eğer veri ambarında sadece E ve K kodlarının kullanılması söz konusu ise, işlemsel veri tabanından veri ambarına veriyi taşırken, farklı tanımların tümünü buna göre yeniden dönüştürmek gerekecektir. Şekil 1.13 bu işlemi gösteriyor. Bazı uygulamalarda uzunluk ölçüsü olarak cm, bazılarında inç, bazılarında ise metre kullanılmış olabilir. Bu tür verinin veri ambarına taşınması esnasında birimlerin ortak bir uzunluk ölçüsü birimine dönüştürülmesi söz konusu olacaktır. Verinin bütünleştirilmesi açısından en sıkça rastlanan sorunlardan birisi de tarih alanlarının biçimlendirme farklılıklarında ortaya çıkacaktır. Çünkü işlemsel veri tabanlarında farklı tarih biçimleriyle her zaman karşılaşmak mümkündür.

11 Şekil 1.13: İşlemsel çevredeki bir uygulamadan veri ambarına bir verinin taşınması esnasında verinin bütünleştirilmesi işlemi Zaman Boyutu Vardır Veri ambarındaki tüm veri zamanın belirli bir anına aittir. Veri ambarındaki verinin bu temel karakteristiği, işlemsel sistemlerdeki veriden oldukça farklıdır. İşlemsel sistemlerde veri, o anda var olan değerdir. İşlemsel sistemlerde bir veriye ulaşıldığında, çoğunlukla onun şu andaki değeriyle ilgilenilir. İşlemsel veri de zamana dağılmış olabilir. Ancak bu süre çoğunlukla gün civarında olacaktır. Veri ambarındaki veri ise, sadece o andaki değerleri değil; geçmişteki değerleri ile de ilgilidir. Veri zaman içinde bir noktayla birleştirilerek değerlendirilir. Örneğin sömestre, mali yıl, ödeme dönemi gibi unsurlar göz önüne alınır. Veri ambarı verinin zaman içinde aldığı değerleri de çözümlemeye katacaktır. Veri ambarı bir bilginin en az 5 yıllık değerlerini içermelidir. Veri içindeki anahtar alanlar zaman değerini de kapsayacaktır. İşlemsel sistemlerde ise böyle bir koşul bulunmamaktadır. İşlemsel verinin zaman boyutunun olmaması nedeniyle, bu tür veri güncelleştirilebilir bir özelliğe sahiptir. Veri ambarı ise geçmiş dönemlere ilişkin değerleri içerdiği için, işlemsel sistemlerdeki veri bir kez yansıtıldığında, artık kayıtlar veri ambarında bir sonraki yansımaya kadar bu durumuyla kullanılacaktır. Yani güncelleştirilmemiş olacaktır. O halde veri ambarındaki veri, işlemsel sistemlerdeki kayıtların belirli dönemlerdeki anlık görüntülerinden (snapshots) ibarettir. Şekil 1.14: Veri ambarında önceki dönemlere ilişkin veri de yer alır Sadece Okunabilir Veri ambarının bir diğer özelliği, veri ambarında yer alan verinin sadece okunabilir bir yapıda olmasıdır. Veri ambarındaki veri yönetimin gereksinimlerine yanıt vermek üzere tasarlandığı için günlük işlemlere tabi tutulmaz; yani silinemez veya güncelleştirilemez.

12 Şekil 1.15 üzerinde görüldüğü gibi, işlemsel sistemlerde veri tabanında yer alan veri değiştirilebilir, silinebilir ve gerektiğinde yeni veri eklenebilir. Çünkü işlemsel sistemlerin karakteristiği budur. Veri ambarında ise iki tür işlemden söz etmek mümkündür: a) Verinin yüklenmesi b) Veriye erişilmesi. Verinin bildiğimiz anlamda güncelleştirilmesi söz konusu değildir. İşlemsel veri işleme ile veri ambarının bu özelliği bizi bazı önemli sonuçlara götürmektedir. Veri ambarının tasarım aşamasında güncelleştirme olayı göz önüne alınmayacaktır. Bunun anlamı, veri ambarında sadece veriye erişimin optimize edilmesi gibi bir amaç olacak ve veri ambarının tasarımı bu amaca yönelik olarak yapılacaktır. O halde veri ambarı ve işlemsel sistemlerdeki veri modelleri farklılık gösterecektir. Şekil 1.15: İşlemsel veri tabanında veri eklenebilir, güncelleştirilebilir veya silinebilir. Veri ambarına ise sadece veri eklenebilir ve erişilebilir. İşlemsel sistemlerdeki güncelleştirme ve kayıt ekleme gibi işlemler, fiziksel tasarımı karmaşık hale getirmektedir. Veri ambarlarının böyle bir fonksiyona sahip olmaması nedeniyle, daha basit bir yapıda olduğunu söyleyebiliriz Veri Ambarının Temel Özellikleri Önceki söylediklerimizi ve işlemsel sistemlerin özelliklerini de göz önüne alarak veri ambarları ile ilgili aşağıda belirtilen hususları sıralayabiliriz:

13 Veri Ambarının İçerdiği Veri Veri ambarı, içerdiği veri açısından da göz önüne alındığında farklı bir yapıya sahip olduğu anlaşılacaktır. Aşağıda veri ambarının içerdiği veriyi sınıflandırıyoruz. Şekil 1.16 : Veri tabanı çeşitli seviyede veriler içerir Metadata Veri ambarlarının en önemli bileşenlerinden biri metadata dır. Metadata doğrudan işlemsel çevreden gelen veri içermez. Metadata veri ambarı içindeki veriden ayrı bir yerdedir. Metadata aşağıda belirtilen özelliklere sahiptir: Karar Destek Sistemleri analistlerine yardım etmek üzere yaratılan bir dizindir ve veri ambarı içeriğinin neler olduğunu belirtir. Kullanılan verinin yapısını ortaya koyan veri içerir. İşlemsel çevreden veri ambarına dönüştürülen verinin konumları hakkında bilgileri içeren bir kılavuzdur. İşlemsel çevreden alınan verinin hangi algoritmaya göre düşük yada yüksek seviyede özetlendiği hakkındaki bilgileri içeren bir kılavuzdur. Metadata aslında veriye ilişkin veri olarak da tanımlanıyor Ayrıntı Veri ve Eski Ayrıntı Veri Ayrıntı veri Veri ambarı şu andaki ayrıntı veriyle ilgilenmektedir. Bu veri en son olayları içermektedir ve bu veri henüz işlenmediği için diğerlerine oranla daha büyük hacimlidir. Bu tür veri disk üzerinde saklandığından bunlara erişim ve yönetimi pahalıdır. Ayrıntı veri denilince, şu andaki en son ayrıntı veri kastedilmemektedir. Bu ayrıntılar belirli bir dönemi kapsayabilir. Örneğin satışlara ilişkin veri son beş yılın ayrıntılarını içerebilir. Eski ayrıntı veri Yukarıda sözü edilen ayrıntı verinin dışında kalanlar, yani daha eski tarihe ait olanlar eski ayrıntı bilgileri oluşturacaktır. Bu veri şu andaki ayrıntı verinin e göre daha düşük bir ayrıntı düzeyine indirilerek saklanırlar. Bu tür veriye çok sık biçimde erişilmediği için, disk üzerinde saklamak yerine genellikle başka birimlerde korunurlar Düşük ve Yüksek Düzeyde Özetlenmiş Veri Düşük düzeyde özetlenmiş veri

14 Şu andaki ayrıntı veriden süzülerek elde edilen düşük seviyede özetlenmiş veri de veri ambarının bir parçası olabilir. Bu tür veri disk üzerinde saklanır. Veri ambarının tasarımı esnasında, hangi verinin özetleneceği ve özetleme işleminin ne düzeyde olacağı belirlenir. Yüksek düzeyde özetlenmiş veri Şu andaki ayrıntı veri daha yüksek düzeyde özetlenerek, kolayca erişilebilir hale getirilebilir. Bu tür veri de veri ambarının bir bileşeni olarak yer alabilir Veri Ambarı Veri Modeli Veri ambarı, veri modeli açısından OLTP sistemlerden farklılık gösterir. Şöyle ki, veri ambarı gündelik işlemleri yürütmek için değil, toplanmış olan veriyi hızlı biçimde çözümlemek amacını taşır. Böyle olunca doğal olarak veri modelinde önemli farklılıklar ortaya çıkacaktır. Kabaca bir veri ambarının bir veya birkaç ana tablodan oluştuğunu söyleyebiliriz. Bu ana tabloya bağlı olarak birçok boyut tablosu veri modeli içinde yer alır. Veri ambarının veri modeli, işletmenin gereksinimlerine dayalı olarak bir boyutsal model olarak düşünülür. Bir veri ambarında birden fazla boyut yer alabilir. Bu nedenle söz konusu modele çok boyutlu model adı da verilir. Bu model veri küpü yada yıldız şema olarak da adlandırılabilir. Veri ambarını bu tür bir veri modeli seçmeye zorlayan birçok neden bulunmaktadır. Örneğin, OLTP uygulamaları girdi/çıktı yoğunluklu işlemleri yapmaya odaklandığından, karar destek sistemlerinin en çok gereksinim duyduğu sorgulama ve çözümleme işlemlerinde yetersiz kalacaktır. Karar destek sistemleri çoğunlukla karmaşık sorguları gerektirir. Üstelik bu sorgular çok sayıda tablonun kullanılmasını gerektirebilecektir. Böyle olunca geleneksel OLTP veri modelleri, karar destek amaçlı karmaşık sorguların çalıştırılmasında düşük başarıma neden olacaktır. Şekil 1.17: Tipik bir çok boyutlu model Veri Ambarı Mimarisi Burada bazı özelliklerinden söz edilen veri ambarının belirli bir mimariye sahip olduğunu söyleyebiliriz. Aşağıdaki şekil üzerinde bu mimariyi görüyoruz.

15 Şekil 1.18: Veri ambarı mimarisi. Veri ambarı mimarisinin genel karakteristikleri şu şekilde sıralanabilir (POE 1998:32): 1. Kaynaklardan alınan veri dönüştürülür. 2. Veri ambarı oluşturulur. 3. Kullanıcıların veri ambarına erişimi sağlanır Verinin Dönüştürülmesi Verinin üretildiği kaynaklardan veri temin edilmesi gerekmektedir. Veri bu kaynaklarda farklı biçimde yer alabilir. Örneğin farklı veri tabanlarında saklanıyor olabilir. Ayrıca aynı veri farklı biçimlerde temsil ediliyor olabilir. Ayrıca veri üzerinde bozukluklar söz konusu olabilir. Bu gibi veriyi veri tabanına doğrudan yerleştirmek mümkün değildir. Söz konusu verinin öncelikle düzenlenmesi gerekir. Veri ambarına veri işlemsel çevreden gelir. İşlemsel çevreden gelen veri dönüştürülerek veri ambarı ortamına yerleştirilir. Verinin bütünleştirilmesi de bu aşamada gerçekleştirilir. Bu sayede farklı ortamlarda farklı biçimde yer alan bilgi aynı biçime dönüştürülür. Örneğin bir uygulamada tarihler gg/aa/yy biçiminde yer almasına karşılık bir başka veri kaynağında aa.gg.yy biçiminde olabilir. Bu tür verileri ortak bir tarih biçimine dönüştürmek gerekecektir. İşlemsel çevreden gelen veri çoğunlukla ayrıntılı veri düzeyinde olur. Veri ambarında veri OLTP uygulamalarında olduğu biçimde ayrıntı veri içermez. Çoğu kez verinin özetlenmesi söz konusu olacaktır. Söz konusu veri özetlendikten sonra veri ambarına aktarılır Veri Ambarının Oluşturulması Veri dönüştürüldükten sonra veri ambarına aktarılır. Veri ambarının istenen amaçlara uygun biçimde çalışabilmesi için özel bir tasarıma gereksinim duyulur. Bunun yanı sıra veri ambarı veri tabanı OLTP veritabanlarından ayrı biçimde yaratılır. Çünkü OLTP sistemlerden ve veri ambarlarından beklenen yarar farklıdır. Veri ambarları sadecesorgulara yöneliktir ve sadece karar destek amacıyla kullanılabilecek bilgileri içerir.

16 Veri ambarında veri modeli olarak çok boyutlu model tercih edilir. Bu veri modeli, adından da anlaşılacağı gibi veriye bazı boyutlar kazandırarak sorgulamaları bu boyutlar yardımıyla oluşturmak amacıyla oluşturulur. Bir işletmenin satış verilerini içeren bir veri ambarında yıl, ürün grubu ve mağazalar birer boyut olarak düşünülebilir. Yönetici satış rakamlarını bu boyutlara göre düzenleyebilir. Örneğin Bakırköy mağazasının yıllar bazında ve ürün grubuna göre satışlarını sorgulamak gerektiğinde söz konusu çok boyutlu model yardımcı olacaktır Kullanıcıların Veri Ambarına Erişimi Veri ambarı oluşturulduktan sonra kullanıcılar farklı biçimde erişerek kullanabilirler. Kullanıcı doğrudan veri ambarına erişerek sorgulama yapabilir. Bazı ilişkisel veri tabanları çok boyutlu analizlere olanak tanıyan analiz araçlarınasahiptir. İlişkisel veri tabanlarının dili olan SQL içinde bu tür analizleri yapmaya yarayan komutlar yer almaktadır. Bazı uygulamalarda veri ambarı doğrudan doğruya kullanılmaz. Veriler bir OLAP ortamına taşınarak onun üzerinde gerekli çözümlemeler yapılır. Bu tür araçlar çok boyutlu çözümlemelere olanak sağlar Veri Ambarı ve OLTP Sistemlerin Karşılaştırılması Bu konu aslında bizi OLTP uygulamalarının karar destek sistemlerinden farklı olup olmadığı konusuna getirmektedir. Veri ambarı denilince, doğal olarak karar destek sistemleri, karar destek sistemleri uygulamaları yada karar destek çözümleri adı verilen uygulamaların alt yapısı olarak anlaşılmaktadır. OLTP sistemler, kuruluşların gündelik işlerini bilgisayar ortamında yürütmek üzere kurulurlar. Karar destek sistemleri ise, verinin analizi amacıyla yaratılır. O halde bu aşamada OLTP sistemleri ile veri ambarı arasındaki en önemli fark ortaya çıkmış oluyor. OLTP uygulamaları kuruluşu çalıştıran, veri ambarı uygulaması ise kuruluşa yol gösteren bir oluşumdur. Şekil 1.19: OLPT sistemler veri ambarının temel kaynağıdır. OLTP sistemler arasında muhasebe, personel, stok vb. uygulamaları sayılabilir. Söz konusu sistemler kuruluşun normal işlemlerini yerine getirmek amacıyla kullanılır. Her sistem kendi amacına yönelik tablolara kayıt ekleme, silme yada güncelleştirme işleminiuygular. Uygulamalar çok sayıda birbirleriyle ilişkili tablodan oluşur. Sorgu yada raporlar bu ilişkili tablolar taranarak oluşturulur. OLTP sistemleri gündelik işlemlerin hızlı ve güvenilir biçimde yürütülmesi amacıyla optimize edilmiştir. Veri ambarı ise veri yapıları açısından OLTP sistemlerden farklıdır. Her şeyden önce veri ambarının amacı farklıdır. Şöyle ki, veri ambarı gündelik işlemleri yürütmek için değil; toplanmış olan veriyi hızlı biçimde çözümlemek amacıyla oluşturulur. Böyle bir amaç orta çıkınca, doğal olarak veri yapılarında da önemli farklılıklar ortaya çıkacaktır. Ana hatlarıyla veri ambarına bakacak olursak, bir veya birkaç ana tablodan oluşması gerektiğini söyleyebiliriz. Örneğin bir ana tabloya bağlı olarak zaman, müşteriler ve bölgeler birer boyut tablosu olabilir OLTP ve Veri Ambarı Arasındaki Farklılıklar

17 Veri ambarı veri modeli, işletmenin gereksinimlerine bağlı olarak bir boyutsal model olarak düşünülür. Bu model veri küpü yada yıldız şema olarak da adlandırılabilir. Şekil 1.20: Veri ambarı ve OLTP veri modelleri farklıdır. OLTP uygulamaları girdi/çıktı yoğunluklu işlemleri yapmak üzere odaklandığından, karar destek sistemlerinin en çok gereksinim duyduğu sorgulama ve çözümleme işlemlerinde yetersiz kalacaktır. Karar destek uygulamaları genellikle karmaşık sorgularıgerektirir. Üstelik bu tür sorgular, çoğunlukla çok sayıda tabloya erişimi gerektirecektir. OLTP veri tabanları bu tür gereksinimi karşılayamaz. OLTP uygulamaları çoğunlukla aynı sistem içindeki az sayıda tablo ile çalışır. Böyle olunca sistemin başarımı yeterli olacaktır. Çok sayıda tabloyu tarayan bir sorgunun OLTP ortamında çalıştırılması başarımı olumsuz yönde etkileyecektir. Buna karşılık, veri ambarı üzerinde bu tür sorgular kolaylıkla yapılabilecektir. Veri ambarı üzerinde yapılabilecek sorgulamaların özelliği OLTP sistemlerinkinden farklıdır. OLTP sistemlerdeki sorgular çoğunluklaönceden belirlenmiş standart sorgu yada raporlar biçimindedir. Veri ambarlarında ise, sorgular çoğunlukla önceden planlanmamış ve aniden ortaya çıkabilecek (ad-hoc) türdendir. Karar destek sistemlerinin işletme yönetiminin üst düzeydeki yöneticilerine hizmet verdiği gerçeğini göz önüne alırsak, bu tür bir sonucun doğal olduğu anlaşılır. Veri ambarının OLTP sistemlerden önemli farklarından birisi, tarihsel veriyi içermesidir. En az beş yıllık veri bu tür bir veri ambarı içinde yer alması karar destek sistemlerinin uygulanması açısından büyük önem taşımaktadır. Bunun anlamı, yönetici sadece günümüzün verisine bakarak değil, geçmişin verisine de bakarak eğilim (trend) çözümlemeleriyapabilecektir. En önemlisi geleceğe yönelik öngörü çözümlemelerinde bu hazır veri kullanabilecektir. Sonuç olarak, OLTP sistemlerin veri ambarı yada bir başka deyişle karar destek uygulamaları için veri kaynağı oluşturan sistemler olduğunu söyleyebiliriz. OLTP sistemler girdi/çıktı yoğunluklu, veri ambarları ise sorgulama yoğunluklu işleri kapsar. Bu nedenle her iki sistemin amacı ötesinde, yapıları ve işleyiş biçimleri de farklıdır OLTP Veri ambarı Amacı Günlük işlemleri yürütmek Veriyi bilgiye dönüştürmek ve çözümlemek Yapısı İlişkisel veri tabanı yönetim sistemleri İlişkisel veri tabanı yönetim sistemleri veya çok boyutlu veri tabanı sistemleri Veri modeli Normalleştirilmiş Çok boyutlu Erişim SQL SQL ve veri analiz araçları Verinin durumu Sürekli değişen ve tamamlanmamış Tarihsel ve tamamlanmış. Veri tabanı boyutu Gigabaytlar Gigabaytlardan Terabaytlara kadar. Veri kaynakları İşletme içinden İşletme içinden ve dışından Sorguların türü Önceden tanımlanmış Önceden planlanmamış (ad-hoc). Tablo 1.1: OLTP ve veri ambarı arasındaki farklılıklar BÖLÜM 2 VERİ MADENCİLİĞİNE GİRİŞ Bölüm Hedefi

18 İşletmelerin ürettiği büyük miktardaki veriler arasında belirli bazı kuralları yada örüntüleri ortaya çıkarmak önem taşımaktadır. Veri madenciliği bu tür amaçla kullanılan yöntemler topluluğu olarak karşımıza çıkmaktadır. Veri madenciliğinin temel yöntemleri arasında sınıflandırma, kümeleme ve birliktelik kurallarının elde edilmesi sayılabilir Veriyi Bilgiye Dönüştürmenin Yolu Günümüzde bilişim alanındaki gelişmelerin ne kadar baş döndürücü bir hızda geliştiğini gözlemleyebiliyoruz. Bilgisayar teknolojilerinde her gün bir başka yenilikle karşılaşıyoruz. Sadece bilgisayarlar değil veri iletişim teknolojilerinde de hızlı bir gelişme söz konusudur. Üstelik dikkati çeken önemli noktalardan birisi söz konusu teknolojilere dayalı ürünlerin gittikçe daha ucuzlamasıdır. Kullanıcı daha yetenekli, daha hızlı ve kullanışlı bilgisayar teknolojisine kolayca sahip olabiliyor (1). Bilişim teknolojilerindeki bu gelişme beraberinde bir sorunu da getirmiştir. Bilişim sistemleri sayesinde artık her bilgi sayısal ortama kaydedilmektedir. Örneğin bir mağazada satışlar ve müşterilerle ilgili her türlü bilgi sayısal ortamda yerini almaktadır. Üstelik günlük tüm veriler sayısal ortamda saklanmaktadır. Binlerce müşterisi olan bir mağaza her gün çok sayıda veri üretmek zorunda kalmaktadır. Böylece ilgili firma bilgisayarlarında çok büyük miktarda veri birikmektedir. Bir kredi kartı firmasında yada telefon iletişimi yapan bir firmada günlük bazda biriken verilerin miktarı çok büyük olacaktır. Bilişim teknolojisi bu devasa verileri saklamaya yeterli olabilir. Ancak bu veriler ne işe yarayacaktır? Bu verilerden firma bazı avantajlar kazanabilecek midir? Biriken veri gerçek anlamda bilgiye dönüştürülebilecek midir? Bu tür sorulara olumlu yanıt vermek mümkündür. Büyük ölçekli verilerden yararlanarak firma karar destek sistemleri oluşturulabilir. Bu veriler üzerinde çözümlemeler yapılarak özellikle stratejik seviyedeki kararlara destek sağlanabilir. Veriler üzerinde çözümlemeler yapmak amacıyla çeşitli istatistiksel ve matematiksel yöntemler kullanılabilir. Ancak veri sayısı arttıkça sorunlar ortaya çıkacaktır. Özellikle ilişkisel veri tabanları üzerinde bu çözümlemeleri yapmak zorlaşacaktır. Bu tür veriler üzerinde çözümlemeleri yapabilmek için hem yeni veri tabanı kavramlarına hem de yeni çözümleme yöntemlerine gereksinim duyulmaktadır. Veriyi yönetmek için Veri Ambarı ve verileri çözümleyerek yararlı bilgiye erişilmesini sağlayan Veri Madenciliği kavramları ortaya atılmıştır. (1) Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers, Veri Madenciliği Veri madenciliği konusunda çeşitli tanımlar yapılmaktadır. Basit bir tanım yapmak gerekirse, veri madenciliği, büyük ölçekli veriler arasından belirli bir bilgiyi elde etme işidir (1). Bu sayede veriler arasındaki ilişkileri ortaya koymak ve gerektiğinde ileriye yönelik kestirimlerde de bulunmak mümkün görülmektedir. Bunun anlamı, veri madenciliği, bir kurumda üretilen tüm verilerin belirli yöntemler kullanarak var olan yada gelecekte ortaya çıkabilecek gizli bilgiyi su yüzüne çıkarma süreci olarak değerlendirilebilir. Bu açıdan bakıldığında, veri madenciliği işinin kurumların karar destek sistemleri için önemli bir yere sahip olabileceğini söyleyebiliriz. Veri madenciliği aslında klasik istatistiksel uygulamalara çok benzer. Ancak klasik istatistiksel uygulamalar yeterince düzenlenmiş ve çoğunlukla özet veriler üzerinde çalıştırılır. Ayrıntı bilgi olsa bile, burada kayıtlar binlerce olabilir. Veri madenciliğinde ise milyonlarca ve hatta milyarlarca veri ve çok daha fazla değişken ile ilgilenilir. Veri sayısı çok olunca, bazı özel analiz algoritmaların geliştirilmesi gerekmiş, ayrıca verinin saklandığı ortamların da örneğin veri ambarı biçiminde yeniden düzenlenmesini gerekli kılmıştır. (1) Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers, Uygulama Alanları Veri madenciliğinin günümüzde yaygın bir kullanım alanı bulunmaktadır. Örneğin pazarlama, bankacılık ve sigortacılık gibi alanlarda ve elektronik ticaret ile ilgili alanlarda yaygın şekilde kullanılmaktadır.

19

20 Veri Madenciliği Süreci Veri madenciliğini bir süreç olarak değerlendirmek gerekiyor. Söz konusu süreç aşağıda belirtilen adımları içermektedir: 1. Veri temizleme 2. Veri bütünleştirme 3. Veri indirgeme 4. Veri dönüştürme 5. Veri madenciliği algoritmasını uygulama 6. Sonuçları sunum ve değerlendirme

21 Şekil 2.1: Veri madenciliği süreci Veri Temizleme Bazı uygulamalarda, üzerinde çözümleme yapılacak verilerin istenen özelliklere sahip olmadığı görülebilir. Örneğin eksik verilerle ve uygun olmayan verilerin oluşturduğu tutarsız verilerle karşılaşılabilir. Veri tabanında yer alan tutarsız ve hatalı verilere gürültü olarak değerlendirilmektedir. Bu gibi durumlarda verinin söz konusu sorunlardan temizlenmesi gerekecektir. Eksik verilerin yerine yenileri belirlenerek konulmalıdır. Bunun için aşağıda belirtilen yöntemlerden biri kullanılabilir. Eksik değer içeren kayıtlar veri kümesinden atılabilir. Kayıp değerlerin yerine bir genel sabit kullanılabilir. Bütün kayıp değerler için aynı sabit kullanılabilir. Örneğin bilinmiyor değeri bu eksik veri yerine kullanılabilir. Ancak bütün değişkenlerde kayıp değerler yerine aynı sabit değerin kullanımı sorun yaratacaktır (HAN, 2000). Değişkenin tüm verileri kullanılarak ortalaması hesaplanır ve eksik değer yerine bu değer kullanılabilir. Değişkenin tüm verileri yerine, sadece bir sınıfa ait örneklerin değişken ortalaması hesaplanarak eksik değer yerine kullanılabilir. Verilere uygun bir tahmin yapılarak, örneğin regresyon yada karar ağacı modeli kurularak eksik değer tahmin edilebilir ve eksik değer yerine kullanılabilir Veri Bütünleştirme Veri bütünleştirmesinin ne anlama geldiği üzerinde Veri Ambarı ile ilgili bölümde durmuştuk. Farklı veri tabanlarından yada veri kaynaklarından elde edilen verilerin birlikte değerlendirmeye alınabilmesi için farklı türdeki verilerin tek türe dönüştürülmesi yani bütünleştirilmesi söz konusu olacaktır. Eğer veri madenciliği uygulaması için bir veri ambarı altyapısı hazırlanmış ise söz konusu veri bütünleştirme işleminin yapılmış olması gerekmektedir. Ancak böyle bir yapı yoksa söz konusu veri bütünleştirme işleminin doğrudan veri madenciliğine esas oluşturacak veriler üzerine uygulanması gerekecektir.

22 Veri İndirgeme Veri madenciliği uygulamalarında bazen çözümleme işlemi uzun süre alabilir. Eğer çözümlemeden elde edilecek sonucun değişmeyeceğine inanılıyorsa veri sayısı yada değişkenlerin sayısı azaltılabilir. Veri indirgeme çeşitli biçimlerde yapılabilir (HAN, 2000): Veriyi indirgeme aşamasında verileri, çok boyutlu veri küpleri biçimine dönüştürmek söz konusu olabilir. Böylece çözümlemeler sadece belirlenen boyutlara göre yapılır. Veriler arasında bir seçme işlemi yapılarak, gereksiz veriler veri tabanından çıkarılır ve boyut azaltılması sağlanabilir. Veri sıkıştırma aşamasında, büyük veri kümelerinin sıkıştırılarak daha az yer işgal etmeleri sağlanır. Örnekleme aşamasında ise, büyük veri topluluğu yerine onu temsil eden daha küçük veri kümelerinin oluşturulması amaçlanır. Genelleme verilerin tek tek değil, genel kavramlarla ifade edilmesini sağlar Veri Dönüştürme Veriyi bazı durumlarda veri madenciliği çözümlemelerine aynen katmak uygun olmayabilir. Değişkenlerin ortalama ve varyansları birbirlerinden önemli ölçüde farklı olduğu takdirde büyük ortalama ve varyansa sahip değişkenlerin diğerleri üzerindeki baskısı daha fazla olur ve onların rollerini önemli ölçüde azaltır. Ayıca değişkenlerin sahip olduğu çok büyük ve çok küçük değerler de çözümlemelerin sağlıklı biçimde yapılmasını engeller. Bu nedenle bir dönüşüm yöntemi uygulayarak söz konusu değişkenlerin normalleştirilmesi veya standartlaştırılması uygun bir yol olacaktır Min-Max Normalleştirilmesi Verileri 0 ile 1 arasındaki sayısal değerlere dönüştürmek için min-max normalleştirme yöntemi uygulanır. Bu yöntem, veri içindeki en büyük ve en küçük sayısal değerin belirlenerek diğerlerini buna uygun biçimde dönüştürme esasına dayanmaktadır. Söz konusu dönüştürme bağıntısı şu şekilde ifade edilmektedir: Burada X* dönüştürülmüş değerleri, X gözlem değerini, Xmin en küçük gözlem değerini ve Xmax en büyük gözlem değerini ifade etmektedir Örnek

23 Aşağıdaki tabloda yer alan X değişkeni değerlerine min-max normalleştirme bağıntısını uygulayarak dönüştürmek istiyoruz. Bunun için, veriler için önce aşağıdaki değerler belirlenir: Xmin = 30 Xmax = 62 Bu değerlere dayanarak X örneğini birinci elemanı için şu şekilde bir hesaplama yapılır: Benzer biçimde diğer gözlemler için aynı hesaplamalar yapılır. Tablo 2.1: Min-max normalleştirme dönüşümü sonucu elde edilen değerler Z-score Standartlaştırma İstatistik çözümlemelerde sıkça kullanılan bir dönüşüm biçimi Z-score adıyla anılmaktadır. Bu yöntem, verilerin ortalaması ve standart hatası göz önüne alınarak yeni değerlere dönüştürülmesi esasına dayanmaktadır.söz konusu dönüşümlerde şu şekilde bir bağıntıya yer verilir: Örnek Önceki örnekte ele alınan verileri bu kez z-score standartlaştırılmasını uygulayarak dönüştüreceğiz. Bu amaçla önce aşağıdaki hesaplamaların yapılması gerekmektedir. Z-score standartlaştırma işlemi için X serisinin standart hatasının bunması gerekmektedir. Söz konusu hata şu şekilde hesaplanır:

24 Bu durumda birinci satır için Z-score dönüşümü şu şekilde olabilir: Benzer biçimde diğer gözlemler içinde hesaplamalar yapılarak aşağıdaki tablo elde edilir Tablo 2.2: Z-score dönüşümü sonucu elde edilen değerler Veri Madenciliği Algoritmasını Uygulama Veri madenciliği yöntemlerini uygulayabilmek için burada sıralanan işlemlerin uygun görülenleri yapılır. Veri hazır hale getirildikten sonra konuyla ilgili veri madenciliği algoritmaları uygulanır. Bu algoritmaların bir kısmını bu ders kapsamında ele alarak inceleyeceğiz. Söz konusu algoritmalar sınıflandırma, kümeleme ve birliktelik kuralları konusunda olacaktır Sonuçları Sunum ve Değerlendirme Veri madenciliği algoritması veriler üzerinde uygulandıktan sonra, sonuçlar düzenlenerek ilgili yerlere sunulur. Sonuçlar çoğu kez grafiklerle desteklenir. Örneğin bir hiyerarşik kümeleme modeli uygulanmış ise sonuçlar dendrogram adı verilen özel grafiklerle sunulur Veri Madenciliği Yöntemleri Veri madenciliği konusunda çok sayıda yöntem ve algoritma geliştirilmiştir. Bu yöntemlerin bir çoğu istatistiksel tabanlıdır. Biz bu ders kapsamında üç ayrı konuda veri madenciliği modellerini tanıtacağız. Söz konusu veri madenciliği modellerini temel olarak şu şekilde gruplandırılabiliriz:

25 Sınıflandırma Sınıflama, veri madenciliğinde sıkça kullanılan bir yöntem olup, veri tabanlarındaki gizli kalıpları ortaya çıkarmakta kullanılır. Verilerin sınıflandırması için belirli bir süreç izlenir. Öncelikle var olan veri tabanının bir kısmı eğitim amacıyla kullanılarak sınıflandırma kurallarının oluşturulması sağlanır. Daha sonra bu kurallar yardımıyla yeni bir durum ortaya çıktığında nasıl karar verileceği belirlenir.

26 Kümeleme Kümeleme, verilerin kendi aralarındaki benzerliklerin göz önüne alınarak gruplandırılması işlemidir. Bu özelli nedeniyle pek çok alanda uygulanabilmektedir. Örneğin, pazarlama araştırmalarında yaygın biçimde kullanılmaktadır. Bunun dışında desen tanımlama, resim işleme ve uzaysal harita verilerinin analizinde kullanılmaktadır.

27

28 Birliktelik Kuralları Veri tabanı içinde yer alan kayıtların birbirleriyle olan ilişkilerini inceleyerek, hangi olayların eş zamanlı olarak birlikte gerçekleşebileceklerini ortaya koymaya çalışan veri madenciliği yöntemleri bulunmaktadır. Bu ilişkilerin belirlenmesiyle birliktelik kuralları (Association Rules) elde edilir. Birliktelik kuralları özellikle pazarlama alanında uygulama alanı bulmuştur. Pazar Sepet analizleri (Market Basket Analysis) adı verilen uygulamalar bu tür veri madenciliği yöntemlerine dayanmaktadır. Bu tür çözümlemelerden hareketle, müşterilerin alışveriş alışkanlıkları belirlenmeye çalışılır. Böylece firma pazarlama stratejisini bu bilgilere dayanarak düzenleyebilir. Pazar sepet analizleri yardımıyla bir müşteri herhangi bir ürünü aldığında, sepetine başka hangi ürünleri de koyduğu belirli bir olasılığa göre ortaya konur. Birlikte satın alınan ürünler belirlendiğinde, mağazalarda raflar ona göre düzenlenerek müşterilerin bu tür ürünlere daha kolayca erişmeleri sağlanabilir.

29 BÖLÜM 3 SINIFLANDIRMA Bölüm Hedefi Verilerin ortak bazı özelliklerinden yararlanılarak sınıflandırılması yoluna gidilebilir. Sınıflandırma işlemi bazı aşamaları yerine getirerek gerçekleştirilir. Öncelikle bir eğitim kümesi ele alınarak onun üzerinde karar kuralları oluşturulur ve bu karar kuralları kullanılarak yeni durumlar yorunlanır. Veri madenciliğinin çok sayıda sınıflandırma algoritması bulunmaktadır. Bu konu içinde söz konusu yöntemlerden ID3 vec4.5 algoritmaları ele alınarak incelenmektedir. Söz konusu algoritmalar karar ağacında entropi hesaplanması ve buna görfe sınıflandırmanın başlatılması esasına dayanmaktadır Sınıflandırma Verilerin içerdiği ortak özellikleri kullanılarak söz konusu verileri sınıflandırmak mümkündür. Örneğin bir firmanın müşterilerini belirli özellikleri göz önüne alarak sınıflandırmak mümkündür. Bir alışveriş merkezi yöneticileri ortalama alışveriş miktarından daha fazla alışveriş yapan müşterileri varlıklı, diğerlerini ise yoksul olarak birbirlerinden ayırt etmek isteyebilir. Benzer biçimde bir veri kümesi içinde ortak özellikleri yada farklılıkları ortaya koyacak biçimde sınıflandırma yapılabilir. Sınıflandırma bir öğrenme algoritmasına dayanır. Tüm veriler kullanılarak eğitme işi yapılmaz. Bu veri topluluğuna ait bir örnek veri üzerinde gerçekleştirilir. Öğrenmenin amacı, bir sınıflandırma modelinin yaratılmasıdır. Bir başka deyişle sınıflandırma, hangi sınıfa ait olduğu bilinmeyen bir kayıt için bir sınıf belirleme sürecidir. Örnek olarak, basit bir sınıflandırma ile müşteriler iki belirgin sınıfa ayrıştırılabilir: Ödemeleri üç gün içinde yapanlar ve ödemeleri üç günden sonra yapanlar. Sınıflandırma çok çeşitli alanlarda kullanılabilir. Örneğin finansal pazardaki eğilimleri sınıflandırmak için sınıflandırma algoritmaları kullanılabilir. Bunun dışında bir bankada kredi taleplerinin değerlendirilmesinde de yine sınıflandırma yöntemleri uygulanabilir Sınıflandırma Aşamaları Verilerin sınıflandırılması süreci iki adımdan oluşur.

30 1. Adım : Model Kurma Süreci 2. Adım : Modelin Uygulanma Süreci Model Kurma Süreci İlk adım, önceki tanımlanmış veri kümelerine uygun bir modelin ortaya konulmasıdır. Söz konusu model, veri tabanındaki kayıtların nitelikleri(attribute) veya bir başka deyişle alan isimleri (sütun isimleri) kullanılarak gerçekleştirilir. Sınıflandırma modelinin elde edilmesi için veri tabanının bir kısmı eğitim verileri olarak kullanılır. Bu veriler veri tabanından rasgele seçilir. Yandaki model kurma sürecini gösteren şekil üzerinde görüldüğü gibi eğitim verileri üzerinde bir algoritma uygulanarak sınıflama modeli elde edilir. Şekil üzerinde nitelikler={müşteri, borç, gelir} nitelikleri yanı sıra sınıf olarak da {risk} niteliği yer almaktadır. Şekil 3.1: Model kurma süreci Modelin Uygulanma Süreci Test verileri üzerinde sınıflandırma kuralları bu şekilde belirlendikten sonra söz konusu kurallar yeni verilere uygulanarak amaçlanan sonuçlar elde edilir

31 Şekil 3.2: Modelin uygulanma süreci. Yukarıda elde edilen modelin doğru olduğu kabul edilecek olursa, bu model diğer veriler üzerinde uygulanır. Yukarıdaki örnekte elde edilen sonuç modelmevcut yada muhtemel müşterilerin gelecekteki kredi risklerini belirlemede kullanılabilir Karar Ağaçları ile Sınıflandırma Verileri sınıflandırma yöntemlerinden biri karar ağaçları (decision trees) ile sınıflandırma adını taşımaktadır. Uygulamalı istatistikte makine öğrenmesi (machine learning) başlığı altında birçok karar ağacı algoritması geliştirilmiştir. Örneklerden oluşan bir küme kullanılarak karar ağacının oluşturulmasını sağlayan çok sayıda öğrenme yöntemi vardır. Karar ağaçları akış şemalarına benzeyen yapılardır. Her bir nitelik bir düğüm tarafından temsil edilir. Dallar ve yapraklar ağaç yapısının elemanlarıdır. En son yapı yaprak, en üst yapı kök ve bunların arasında kalan yapılar ise dal olarak isimlendirilir. Şekil 3.3 üzerinde tipik bir karar ağacı yer almaktadır. Karar ağaçları sınıflama algoritmalarını uygulayabilmek için uygun bir altyapı sağlamaktadır. X ve Y den oluşan iki giriş niteliğine sahip bir örnek sınıfının basit karar ağacı aşağıdaki şekil üzerinde görülmektedir. X>1 ve Y=B değerlerini taşıyan örnekler sınıf1 de; Y=A ve Y=C koşullarına uygun olanlar sınıf2 sınıfında yer almaktadır. Ancak Y nin değerini göz önüne almadan X<1 koşuluna uygun örnekler sınıf1 de yer alır.

32 3.4. Karar Ağaçlarında Dallanma Kriterleri Karar ağaçlarında en önemli sorunlardan birisi, herhangi bir kökten itibaren bölümlemenin (splitting) veya bir başka deyişle dallanmanın hangi kıstasa göre yapılacağıdır. Aslında her farklı kriter için bir karar ağacı algoritması karşılık gelmektedir. Söz konusu algoritmaları şu şekilde gruplayabiliriz : Entropiye dayalı bölümlemeyi kullanan ID3 ve onun gelişmiş biçimi olan C4.5 algoritmaları sayılabilir. Sınıflandırma ve regresyon ağaçları konusunda ise Twoing ve Gini algoritmalarından söz edilebilir. Bellek tabanlı sınıflandırma yöntemleri arasında k-en yakın komşu algoritması sayılabilir. Burada sayılan tüm algoritmaları ders kapsamı içinde ele alarak inceleyeceğiz ID3 Algoritması Karar ağaçları yardımıyla sınıflandırma işlemlerini yerine getirmek üzere Quinlan tarafından birçok algoritma geliştirilmiştir. Bunlar arasında yer alan ID3 ve C4.5 algoritmalarını bu bölümde ele alarak inceleyeceğiz. Bu algoritmaların her ikisi de, entropi tabanlı algoritmalardır. Karar ağacında hangi niteliğe göre dallanmanın yapılacağını belirlemek üzere bu entropi kavramına başvurulur Entropi Bir sistemdeki belirsizliğin ölçüsüne "entropi" adı verilir. S bir kaynak olsun. Bu kaynağın {m1,m2,...,mn} olmak üzere n mesaj üretebildiğini varsayalım. Tüm mesajlar birbirinden bağımsızmolarak üretilmektedir ve mi mesajlarının üretilme olasıkları pi'dir. P={p1,p2,...,pn} olasılık dağılımına sahip mesajları üreten S kaynağının entropisi H(P) şu şekildedir (1) :

33 (1) MacKay, J.C., Information Theory, Inference, and Learning Algorithms, Cambridge University Pres, Örnek 1 Bir deneyin sonuçlarını içeren aşağıdaki olasılık cetvelini göz önüne alalım. A1, A2 ve A3 olaylarının belirsizlikleri sırasıyla şu şekilde hesaplanır Örnek 2 Aşağıdaki sekiz elemanlı S kümesini göz önüne alalım Karar Ağacında Entropi Karar ağaçlarının oluşturulması esnasında dallanmaya veya başka deyişle bölümlemeye hangi nitelikten başlanacağı önem taşımaktadır. Çünkü sınırlı sayıda kayıttan oluşan bir eğitim kümesinden yararlanarak olası tüm ağaç yapılarını ortaya çıkarmak ve içlerinden en uygun olanını seçerek ondan başlamak kolay değildir. Örneğin 5 nitelik ve 20 elemanlı bir eğitim kütüphanesindeki verilerden yararlanarak çizilebilecek karar ağaçlarının sayısı 10 6 den daha büyüktür. O nedenle karar ağacı algoritmalarının çoğu daha başlangıçta birtakım değerleri hesaplayarak ona göre ağaç oluşturma yoluna gitmektedir. Bu amaçla entropi kavramı kullanılabilir ve ağacın dallanması entropinin alacağı değere göre gerçekleştirilebilir (1). Veri tabanından eğitim için elde edilen kayıt kümesi T olsun. Eğitim kümesi sınıf niteliğinin alacağı değerlere göre {C1,C2,...Ck} olmak üzere k sınıfa ayrılabilir. Bu sınıflarla ilgili olarak ortalama bilgi miktarına ihtiyaç duyulur. Burada PT sınıfların olasılık dağılımıdır ve şu şekilde hesaplanır.

34 Ci ifadesi Ci kümesindeki elemanların sayısını vermektedir. (1) MacKay, J.C., Information Theory, Inference, and Learning Algorithms, Cambridge University Pres, Örnek Aşağıdaki on elemanlı RİSK kümesini göz önüne alalım. RİSK={var,var,var,yok,var,yok,yok,var,var,yok} Bu küme için olasıklar dağılımı yardımıyla entropiyi hesaplayalım. Burada C1 sınıfı "var", C2 sınıfı ise "yok" değerlerini içersin. Bu durumda, C1 =6, C2 =4 olduğuna göre, olasılıklar p1=6/10=0.6 ve p2=4/10=0.4 biçiminde hesaplanır. O halde olasılık dağılımı şu şekilde yazılabilir: Dallanma İçin Niteliklerin Seçilmesi ve Kazanç Ölçütü T veri tabanı hedef olmayan (yani sınıf niteliği olmayan) Bir X niteliğinin değerine bağlı olarak T1,T2,...,Tn alt kümelerine ayrılırsa, T'nin bir elemanının sınıfını belirlemek için gerekli bilgi, Ti'nin bir elemanının sınıfının belirlenmesinde gerekli olan bilginin ağırlıklı ortalaması olarak kabul edilir. O halde,t'nin bir elemanının sınıfını belirlemek için gerekli bilgi şu şekilde hesaplanır: T veri tabanını X testine göre bölmekle elde edilen bilgileri ölçmek için kazanç ölçütü adı verilen bir ifadeye başvurulur. Bu ölçüt şu şekilde tanımlanır: Kazanç(X,T)=H(T)-H(X,T) Burada ayırma işlemi yapılırken Kazanç(X,T) değerini ençoklama (maximize) amaçlanır. En yüksek bilgi kazancını sağlayan, yani kazancı maksimize edebilecek X testi seçilir.

35 Örnek Aşağıdaki eğitim verilerini göz önüne alalım. Bu verilerden yararlanarak BORÇ niteliği için kazanç ölçütünü hesaplayacağız. MÜŞTERİ BORÇ GELİR STATÜ RİSK 1 YÜKSEK YÜKSEK İŞVEREN KÖTÜ 2 YÜKSEK YÜKSEK ÜCRETLİ KÖTÜ 3 YÜKSEK DÜŞÜK ÜCRETLİ KÖTÜ 4 DÜŞÜK DÜŞÜK ÜCRETLİ İYİ 5 DÜŞÜK DÜŞÜK İŞVEREN KÖTÜ 6 DÜŞÜK YÜKSEK İŞVEREN İYİ 7 DÜŞÜK YÜKSEK ÜCRETLİ İYİ 8 DÜŞÜK DÜŞÜK ÜCRETLİ İYİ 9 DÜŞÜK DÜŞÜK İŞVEREN KÖTÜ 10 DÜŞÜK YÜKSEK İŞVEREN İYİ Entropi Hesabı Tablo 3.1: Eğitim kümesi T={KÖTÜ,KÖTÜ,KÖTÜ,İYİ,KÖTÜ,İYİ,İYİ,İYİ,KÖTÜ,İYİ} T kümesinde KÖTÜ değerlerinin sayısı 5 olarak görülüyor. Buna karşılık İYİ değerlerinin de sayısı 5 olduğu anlaşılıyor. O halde bu durum C1 =5 ve C2 =5 biçiminde ifade edilebilir. Küme içinde 10 eleman olduğuna göre p1=5/10=1/2 ve p2=5/10=1/2 olasılıkları hesaplanabilir. O halde T kümesinin içerdiği KÖTÜ ve İYİ değerleri için olasılık dağılımı şu şekilde ifade edilebilir : BORÇ niteliğinin her bir değerden kaç tane içerdiği belirlenir. T1 = TYÜKSEK =3 T2 = TALÇAK =7 BORÇ niteliğinin RİSK hedef niteliğindeki karşılıklarına bir bakalım. BORÇ niteliğinin YÜKSEK niteliği karşısında RİSK niteliğinn 3 adet KÖTÜ değeri karşılık olmaktadır. Buna karşılık, BORÇ niteliğinin 7 adet DÜŞÜK değeri için RİSK üzerinde 5 adet İYİ, 2 adet KÖTÜ değeri karşılık gelmektedir. O halde H(TYÜKSEK) ve H(TDÜŞÜK) entropileri şu şekilde hesaplanır : Kazanç Ölçütü

36 BORÇ niteliğinin değerlerine göre bir dallanma yapmak istiyoruz. Böyle bir işlemin bize kazancı ne olacaktır? Söz konusu kazancı hesaplamak için bu niteliğin değerlerine göre entropilerini hesaplayacağız. Bunun için H(BORÇ,T) entropisi şu şekilde hesaplanır: Uygulama Hava problemi karar ağaçlarının açıklanmasında yaygın biçimde kullanılan bir örnektir. Bu örnek ID3 algoritmasını ortaya atan Quinlan tarafından verilmiştir. Bu örnek verilerden ID3 algoritması yardımıyla bir karar ağacı oluşturacağız. HAVA ISI NEM RÜZGAR OYUN güneşli sıcak yüksek hafif hayır güneşli sıcak yüksek kuvvetli hayır bulutlu sıcak yüksek hafif evet yağmurlu ılık yüksek hafif evet yağmurlu soğuk normal hafif evet yağmurlu soğuk normal kuvvetli hayır bulutlu soğuk normal kuvvetli evet güneşli ılık yüksek hafif hayır güneşli soğuk normal hafif evet yağmurlu ılık normal hafif evet güneşli ılık normal kuvvetli evet bulutlu ılık yüksek kuvvetli evet bulutlu sıcak normal hafif evet yağmurlu ılık yüksek kuvvetli hayır Tablo 3.2: Eğitim kümesi. Burada oyun niteliğihedef sınıf değerleri içermektedir. O halde oyun nitelik değerlerinden oluşan küme T kümesi olarak kabul edilebilir. T={hayır,hayır,hayır,hayır,hayır,evet,evet,evet,evet,evet,evet,evet,evet,evet} Burada C1 sınıfı "hayır", C2 sınıfı "evet" değerine uymaktadır. Burada T =14 dür. Beş adet "hayır" değeri için olasılık değeri, C1 =5 olmak üzere, p1=5/14 Dokuz adet "evet" değeri için olasılık, C2 =9 olmak üzer, p2=9/14 O halde olasılık dağılımı şu şekilde yazılabilir : PT=(5/14, 9/14)

37 Adım 1: Birinci Dallanma Önce karar ağacının oluşturulması için hangi niteliğin seçileceği üzerinde duracağız. Bunun için yukarıda elde edilen H(PT)=0.940 entropi değeri göz önüne alınarak her bir nitelik için kazanç ölçütleri belirlenir Isı Niteliği İçin Kazanç Ölçütü Hava Niteliği İçin Kazanç Ölçütü

38 Nem Niteliği İçin Kazanç Ölçütü

39 Rüzgar Niteliği İçin Kazanç Ölçütü Adım 1 İçin Kazanç Ölçütleri Elde edilen kazanç ölçütlerini aşağıdaki tabloda topluca veriyoruz: Tablo 3.7: Kazanç ölçütleri Bu değerlere bakarak en büyük kazancın Hava niteliğini seçerek elde edilebileceğini söyleyebiliriz. Elde edilen sonuç kullanılarak başlangıç karar ağacı şu şekilde çizilebilir: Şekil 3.4: Hava niteliği ile ilgili işlemler Adım 2: İkinci Dallanma

40 2. Adımda Hava niteliğinin güneşli, bulutlu ve yağmurlu değerleri için dallanmalar üzerinde duracağız Hava Niteliğinin güneşli Değeri İçin Dallanma Bu aşamada Hava niteliğinin güneşli değeri için alt karar ağacını düzenleyeceğiz. Söz konusu karar ağacı için nitelik seçimleri yukarıda açıklanan yol izlenerek düzenlenir. Bu durumda ele alacağımız tablo şu şekli almış olacaktır: HAVA ISI NEM RÜZGAR OYUN güneşli sıcak yüksek hafif hayır güneşli sıcak yüksek kuvvetli hayır güneşli ılık yüksek hafif hayır güneşli soğuk normal hafif evet güneşli ılık normal kuvvetli evet Tablo 3.8: Kazanç ölçütleri Burada önce T için entropiyi hesaplamak gerekiyor Isı Niteliği İçin Kazanç Ölçütü Nem Niteliği İçin Kazanç Ölçütü

41 Rüzgar Niteliği İçin Kazanç Ölçütü Hava Niteliğinin Güneşli Değeri İçin Dallanma Elde edilen kazanç ölçütlerini aşağıdaki tabloda topluca veriyoruz: Tablo 3.7: Adım 2 kazanç ölçütleri Bu değerlere bakarak en büyük kazancın Nem niteliğini seçerek elde edilebileceğini görüyoruz. Elde edilen sonuçlara bağlı olarak karar ağacını şu şekilde geliştiriyoruz:

42 Şekil 3.5: İkinci adım sonunda karar ağacının görünümü Nem ile ilgili yüksek değerine sadece hayır değeri karşılık geldiğinden, bu noktadan itibaren aşağıya doğru dalın ilerlemesi son bulur. Hayır değeri artık bir yaprak değeridir. Benzer biçimde normal değeri için de evet değeri yaprak değeridir Hava Niteliğinin bulutlu Değeri İçin Dallanma Veri kümesini hava niteliğinin bulutlu değeri için yeniden düzenleyelim. HAVA ISI NEM RÜZGAR OYUN bulutlu sıcak yüksek hafif evet bulutlu soğuk normal kuvvetli evet bulutlu ılık yüksek kuvevtli evet bulutlu sıcak normal hafif evet Tablo 3.13 Görüldüğü gibi tüm karar değerleri evet olduğu için herhangi bir analize gerek yoktur. Bu noktadan itibaren bir dallanma olmaz ve bu değer bir yaprağı belirlemiş olur Hava Niteliğinin yağmurlu Değeri İçin Dallanma Bu değerle ilgili olarak aşağıdaki tablo düzenlenebilir. HAVA ISI NEM RÜZGAR OYUN yağmurlu ılık yüksek hafif evet yağmurlu soğuk normal hafif evet yağmurlu soğuk normal kuvvetli hayır yağmurlu ılık normal hafif evet yağmurlu ılık yüksek kuvvetli hayır Tablo 3.14 Burada önce T için entropiyi hesaplamak gerekiyor Isı Niteliği İçin Kazanç Ölçütü

43 Rüzgar Niteliği İçin Kazanç Ölçütü Bu kez rüzgar niteliğini ele alalım. Bu niteliğin her bir değeri için aşağıdaki değeri yazabiliriz. Thafif =3 Tgüçlü =2 Rüzgar niteliğine göre bir ayırma gerçekleştirildiğinde kazancın ne olacağını hesaplayalım. RÜZGAR hafif hafif hafif kuvvetli kuvvetli Tablo 3.16 OYUN evet evet evet hayır hayır Görüldüğü gibi, rüzgar niteliğinin hafif değerleri için evet değeri elde edilmektedir. Benzer biçimde aşağıdaki tabloda kuvvetli değeri için Hayır değerini aldığı görülüyor. O halde rüzgar düğümünden itibaren yeni bir niteliğe dallanamayız. Yukarıdaki tabloda yer alan değerlere bağlı olarak yaprak değerleri elde edilir. Böylece karar ağacı oluşturma süreci sona ermiş olur. Şekil 3.7: Sonuç karar ağacı

44 Kazanç Oranı Karar ağacının oluşturulması esnasında "kazanç ölçütü" adı verilen bir değeri kullandık. Ancak uygulamada bu yöntemden daha iyi sonuçlar veren bir başka yöntem kullanılmaktadır. Bilgi bölünmesi (split information) adı verilen bu kavram 1986'da Quinlan tarafından ortaya atılmıştır. T kümesi için X niteliğinin değerini belirlemek için gereken bilgi miktarını ortaya koymak için bu yol bulunmuştur.söz konusu bilgi miktarı H(PX,T) biçiminde ifade edilebilir. Burada PX,T ifadesi X değerlerinin olasılık dağılımıdır ve şu şekilde hesaplanır Örnek Önceki örnekte yer alan verileri yeniden göz önüne alalım. Isı niteliği ile ilgili olarak bilgi bölümlemesini ve kazanç oranını hesaplamak istiyoruz. Burada (T1,T2,...,Tk) değerlerinin ısı tarafından ortaya çıkarılan değerler olduğunu kabul edelim. H(Pısı,T) bağıntısı şu şekilde ifade edilebilir:

45 3.6. C4.5 algoritması Şu ana kadar karar ağacının oluşturulması ile ilgili olarak anlatılan yöntem Quinlan ın ID3 algoritması olarak bilinmektedir. Bu algoritma yine aynı kişi tarafından geliştirilerek C4.5 algoritması elde edilmiştir. Bu algoritma, sayısal değerlere sahip niteliklerin de karar ağaçlarını oluşturma olanağı sağlamıştır. Ayrıca bilinmeyen nitelik değerlerine sahip örnek kümeleri için karar ağacının nasıl oluşturulabileceği konusunda bir yol sunmaktadır Sayısal Değerlere Sahip Nitelikler Önceki sayfalarda kategorik nitelikleri sınıflandırmak için bir yöntem üzerinde durduk. Ancak sayısal nitelikler söz konusu olduğunda farklı bir yolun izlenmesi söz konusu olacaktır. C4.5 bu amaçla yeni bir yöntem önermiştir. Sayısal niteliklere ilişkin testlerin formüle edilmesinde bazı zorluklar görünebilir. Değerleri iki aralığa bölmek için gelişigüzel eşikler bulunmaktadır. Ancak en uygun t eşik değerini hesaplamak için uygun yollar bulunmaktadır. Eşik değerinin belirlenmesi amacıyla, en büyük bilgi kazancını sağlayacak biçimde bir eşik değer belirlenir. Bunun için nitelik değerleri sıralanır ve {ν1, ν2,...,νn} biçimini alır. Bu eşik değeri kullanılarak nitelik değeri iki parçaya ayrılır. Çoğu algoritmalarda eşik değeri olarak [νi,νi+1] aralığının orta noktası alınabilir. C4.5 de eşik olarak [νi,νi+1] aralığının en küçük değeri eşik olarak alınır.

46 Bir veritabanında herhangi bir niteliği sürekli, yani sayısal değerlere sahip ise, genellikle ikili test (binary test) uygulanır. Bu testte niteliğin bir t eşik değeri ile karşılaştırılır Örneğin bir A niteliği için A t karşılaştırması yapılır. Bu karşılaştırmaya göre nitelik değerleri iki ayrı sayısal olmayan değere dönüştürülür. Böylece sayısal niteliklerin oluşturduğu sorun çözülmüş olur Uygulama Aşağıdaki T veritabanını göz önüne alalım. Bu veritabanında sayısal değerlere sahip nitelik2 niteliğini ele alacağız ve bu niteliğin seçilmesi durumunda bilgi kazancının ne olacağını hesaplayacağız. Nitelik1 Nitelik2 Nitelik3 Sınıf A A A A A B B B B C C C C C DOĞRU DOĞRU YANLIŞ YANLIŞ YANLIŞ DOĞRU YANLIŞ DOĞRU YANLIŞ DOĞRU DOĞRU YANLIŞ YANLIŞ YANLIŞ SINIF1 SINIF2 SINIF2 SINIF2 SINIF1 SINIF1 SINIF1 SINIF1 SINIF1 SINIF2 SINIF2 SINIF1 SINIF1 SINIF Eşik Değerin Belirlenmesi Tablo 3.17: Eğitim kümesinin görünümü Nitelik2 nin içerdiği değerler göz önüne alındığında en fazla bilgi kazancını sağlayacak değerin 80 olduğu anlaşılır. Çünkü nitelik2 niteliği {65,70,75,80,85,90,95,96} değerlerine sahiptir. Bunlar içinde en fazla tekrarlı olanı 80 olduğuna göre, bu değerin bilgi kazancı diğerlerinden yüksektir. O halde nitelik2 nin içerdiği değerlere (nitelik2 80 veya nitelik2>80) testi uygulanarak ona göre düzenleme yapılır. Nitelik1 Nitelik2 Nitelik3 Sınıf A A A A A B B B B C C C C C EŞİT VEYA KÜÇÜK BÜYÜK BÜYÜK BÜYÜK EŞİT VEYA KÜÇÜK BÜYÜK EŞİT VEYA KÜÇÜK EŞİT VEYA KÜÇÜK EŞİT VEYA KÜÇÜK EŞİT VEYA KÜÇÜK EŞİT VEYA KÜÇÜK EŞİT VEYA KÜÇÜK EŞİT VEYA KÜÇÜK BÜYÜK DOĞRU DOĞRU YANLIŞ YANLIŞ YANLIŞ DOĞRU YANLIŞ DOĞRU YANLIŞ DOĞRU DOĞRU YANLIŞ YANLIŞ YANLIŞ SINIF1 SINIF2 SINIF2 SINIF2 SINIF1 SINIF1 SINIF1 SINIF1 SINIF1 SINIF2 SINIF2 SINIF1 SINIF1 SINIF1 Tablo 3.18: Eğitim kümesinin yeni görünümü Burada sınıf niteliği için,

47 olduğuna göre, T kümesi için entropi şu şekilde hesaplanabilir. Bu niteliğin her bir değeri için aşağıdaki değerleri yazabiliriz. Burada her değerin nitelik içinde tekrarlanma sayıları hesaplanmıştır. T 80 =9 T>80 = nitelik2 için Entropi - 1 nitelik2 niteliğine göre bir ayırma gerçekleştirildiğinde kazancın ne olacağını hesaplamak için entropiyi bulmak gerekiyor. Nitelik2 niteliğinin " 80" değeri için yandaki tabloyu göz önüne alalım. Bu tabloya göre aşağıdaki entropi hesaplaması yapılır: nitelik2 için Entropi 2 Nitelik2 niteliğinin ">80" değeri için yandaki tabloyu göz önüne alalım.

48 Bu tabloya göre aşağıdaki entropi hesaplaması yapılır: Kazanç(nitelik2,T) = H(T)-H(nitelik2,T) = = Bilinmeyen Nitelik Değerleri Veri tabanındaki bilgilerde bazı kayıplar olabilir. Veri toplanırken bazı değerler kaydedilmemiş olabilir veya veri tabanına kaydedilirken bir sorun ortaya çıkmış olabilir. Kayıp değerlerin yaratacağı sorunları önlemek için iki yol vardır: Kayıp veriye ilişkin tüm değerler veri tabanından çıkarılır. Kayıp verilerle de çalışabilecek bir yeni bir algoritma kullanılır. İlk çözüm basittir. Ancak kayıp veriler çok sayıda ise bu çözüm kabul edilemez. Böyle bir durumda ikinci seçeneği tercih etmek daha akılcı olacaktır. C4.5 de kayıp verilere sahip örneklerde kazanç ölçütünü hesaplamak için bir düzeltme faktöründen yararlanılır. Varsayalım ki H(X) ve H(X,T) değerleri daha önce belirttiğimiz biçimde hesaplanmıştır. Bu hesaplamalarda sadece değerleri bilinen niteliklere sahip örnekler göz önüne alınmıştır. F faktörü kullanılarak kazanç ölçütü düzeltilir: Benzer şekilde değerleri bilinmeyen örnekler de bir ek gruba ayrılarak H(P X,T) bilgi bölünmesi değeri değiştirilebilir. Eğer X testinin varsa, sanki bu test veri kümesini n+1 alt kümeye ayırıyormuş gibi testin H(P X,T) değeri hesaplanır. Bu değişim kazanç oranının değişmiş olan en son değerini doğrudan etkiler Örnek Aşağıdaki örnek üzerinde C4.5 algoritmasının bilinmeyen nitelik değerlerine nasıl yaklaştığını inceleyeceğiz. Burada T veritabanının nitelik1 niteliği üzerinde bir kayıp değer vardır ve? işareti ile gösterilmektedir. Nitelik1 Nitelik2 Nitelik3 Sınıf A A A A A? B B B C C DOĞRU DOĞRU YANLIŞ YANLIŞ YANLIŞ DOĞRU YANLIŞ DOĞRU YANLIŞ DOĞRU DOĞRU SINIF1 SINIF2 SINIF2 SINIF2 SINIF1 SINIF1 SINIF1 SINIF1 SINIF1 SINIF2 SINIF2

49 C 80 YANLIŞ SINIF1 C 80 YANLIŞ SINIF1 C 96 YANLIŞ SINIF1 Tablo 3.20: Kayıp değere sahip veritabanı Nitelik1 in kazanç parametresi, önceki örnekte yaptığımız biçimde hesaplanır. Ancak kayıp değer bir önceki adımı düzeltir. Nitelik1 in 13 tanesinin 8 isınıf1 e; 5 tanesi sınıf2 ye aittir. Bölümlemeden önceki entropi şu şekildedir: T yi 3 alt kümeye (X1 testi A, B veya C değerlerinden birisinin seçilmesini ifade etmektedir.) bölmek için nitelik1 kullanıldıktan sonra, sonuç şu şekilde olacaktır: Bu testte elde edilen bilgi F faktörüyle düzeltilir. Kazanç(X1,T) = 13/14 ( ) Bu testten elde edilen kazanç bir önceki kazanç değerinden (0.216) daha küçüktür. Çünkü bilinmeyen değerleri içeren ilave bir kategori söz konusudur Karar Ağaçlarının Budanması Karar ağaçları çoğu kez karmaşık bir görünüme sahip olabilir. Bir karar ağacında, bir alt ağacı atarak yerine bir yaprak yerleştirmek söz konusu olabilir. Bu şekilde yapılan işleme karar ağacının budanması adı verilmektedir. Alt ağacın yerine yaprak yerleştirmekle, algoritma öngörülü hata onanını azaltmayı ve sınıflandırma modelinin kalitesini artırmayı amaçlar. Ancak hata oranının hesaplanması kolay değildir. Sadece çalışma verileri kümesine dayanan hata oranı uygun sonuçlar üretmez. Öngörülü hata oranını belirlemek için şöyle bir yol izlenebilir: İlave test örneklerinden oluşan yeni bir küme kullanmak.. Bu teknik önceden var olan örnekleri eşit boydaki bloklara böler ve her bir blok için bu bloğu oluşturan tüm örneklerden bir ağaç oluşturulur, ardından bu ağaç verilmiş örnekler bloğu ile test edilir. Eldeki çalışma ve test örnekleri ile birlikte görünmeyen test örneklerinin, sınıflandırma doğruluğunda katkısı olmayan alt ağaçları çıkarmak budama işleminin temelini oluşturur. Böylece daha az karmaşık bir ağaç üretilmiş olur. Özyineli bölme yönteminde düzenlemeler yapmak için iki yol vardır : Bazı durumlarda örnekler kümesini daha fazla bölmemek kararı alınır. Bölme işlemine son verme, yani durdurma ölçütü olarak χ 2 gibi istatistiksel testlere dayanır. Bölünme öncesinde ve sonrasında kayda değer bir fark yoksa, o zaman söz konusu düğüm bir yaprak olarak gösterilir. Yani karar ağacın dallara ayrılmasından önce verilir. Bu yüzden söz konusu tekniğe ön budama adı verilir. Seçilen bir doğruluk ölçütü kullanılarak bazı ağaçlar budanabilir. Bu yöntemde budama işlemi ağaç oluşturulduktan sonra yapılır. C4.5 sınıflandırma yöntemi bu tekniği kullanır C4.5 de Budama C4.5 de beklenen hata oranını tahmin etmek için belirli bir yöntem kullanır. Bu yönteme kötümser budama adı verilir. Ağaçtaki her bir düğüm için Ucf üst güven sınırı iki terimli dağılımların istatistiksel tablolarını kullanarak elde edilebilir. Bu tablolar çoğu istatistik kitabında yer almaktadır.

50 Verilen düğümde Ucf parametresi Ti ve E nin bir fonksiyonudur. C4.5 algoritması %25 güven sınırını kullanır ve verilen her bir düğümdeki Ti, U%25( Ti / E) düğüm yapraklarının güven aralığı ile karşılaştırılır. Her bir yaprakta ağırlıklar durumların toplam sayısıdır. Eğer alt ağaçtaki kök düğümün beklenen hatası, yapraklardaki U%25 toplam ağırlıktan daha küçük ise (alt ağacın beklenen hatası), o zaman alt ağaç yok edilir. Yerine kök düğüm konulur. Böylece budanmış ağaçta yeni bir yaprak olarak yer alır Örnek Basit ve küçük bir örnekle budama işlemini açıklamak istiyoruz. Aşağıdaki şekilde bir karar ağacının alt ağacı verilmiştir. Burada X1 kök düğümdür ve bundan A niteliğine ait {1,2,3} gibi üç değer çıkmaktadır. Şekil 3.8: Alt ağacı kaldırıp yerine bir yaprak koyarak budamak. Kök düğümün alt düğümleri, kendilerine uyan sınıflardan ve ( Ti / E ) parametreleriyle belirlenmiş birer yapraktır. Sorunumuz, alt ağaçtaki yeni yaprak düğümünü oluşturmak için alt ağacı kaldırıp yerine kök düğümün konulması, yani ağacın budanmasının mümkün olup olmadığını anlamaktır. Alt ağaç yerine yaprak düğümün konulması olanağını analiz etmek için başlangıç ağacın ve bu ağacın yerine konulacak düğümün beklenen hatasını PE yi hesaplamak gerekir. Bütün düğümlerin üst güven sınırları %25 güven değeri kullanılarak istatistik tablolardan elde edilir: U%25=(6,0)=0.206 U%25=(9,0)=0.143 U%25=(1,0)=0.750 U%25=(16,1)=0.157 Bu değerleri kullanarak başlangıç ağacının yanı sıra bu ağacın yerine konulan düğümün beklenen hataları hesaplanır: PEağaç=6(0.206)+9(0.143)+1(0.750)= PEdüğüm=16(0.157)= Var olan ağacın beklenen hata değeri, yerini alacak düğümün beklenen hata değerinden daha büyük olduğuna göre, karar ağacının budanması ve alt ağacın yerine yeni bir yaprak düğümünün konulması önerilir Karar Kuralları Oluşturmak Eğitim kümesine bağlı olarak elde edilen karar ağacından yararlanarak karar kuralları oluşturulabilir. Karar kuralları aynen programlama dilerlindeki IF.. THEN ELSE yapılarına benzer Örnek

51

52 BÖLÜM 4 CART İLE SINIFLANDIRMA Bölüm Hedefi Sınıflandırma işlemlerinde kullanlan bir diğer yöntem Sınıflandırma ve Karara Ağaçları (CART) adıyla bilinmektedir. Bu yöntemde, karar ağacının ikili dallanmasına izin verilmektedir. Dersimiz kapsamındatwoing ve Gini algoritmaları ele alınarak incelenecektir. Karar ağacının elde edilmesi ardından ağacın tüm dalları göz önüne alınarak karar kuralları türetilir. Sınıflandırma ve regresyon ağaçları (CART) veri madenciliğinin önemli konuları arasında yer alır. Bu yöntem 1984 de Breiman tarafından ortaya atılmıştır. CART karar ağacı, her bir karar düğümünden itibaren ağacın iki dala ayrılması esasına dayanır. Yani bu tür karar ağaçlarında ikili dallanmalar söz konusudur. O halde bir düğümde seçme işlemi yapıldığında, düğümlerden sadece iki dal ayrılabilir. CART algoritmasında, bir düğümde belirli bir kriter uygulanarak bölümleme işlemi gerçekleştirilir. Bunun için önce tüm niteliklerin var olduğu değerler göz önüne alınır ve tüm eşleşmelerden sonra iki bölünme elde edilir. Bu bölünmelere üzerinde seçme işlemi uygulanır. Bu ders kapsamında aşağıda sıralanan algoritmaları ele alarak inceleyeceğiz: Twoing algoritması Gini algoritması 4.2. Twoing Algoritması CART yöntemleri arasında yer alan Twoing algoritması 2 adımdan oluşmaktadır. Şimdi bu adımları inceleyeceğiz ADIM 1 ve 2 ADIM 1:

53 a) Niteliklerin içerdiği değerler göz önüne alınarak eğitim kümesi iki ayrı dala ayrılır. Bunlara aday bölünme adını veriyoruz. Bir t düğümünde sağ ve sol olmak üzere iki ayrı dal bulunur. Bu bölümlenen kümeler tsol ve tsag biçimindedir. b) Aday bölünmelerin her biri için PSol ve P(j\tSol) olasılıkları hesaplanır. Söz konusu olasılıklar aşağıda verilmektedir. Burada P(j\tSol) ifadesi bir j sınıf değerinin sol taraftaki bölümlemede olma olasılığını verir. Söz konusu j değerleri sınıf değerlerinin yer aldığı nitelik olarak göz önüne alınır. c) Aday bölünmelerin her biri için PSağ ve P(j\tSağ) olasılıkları hesaplanır. Burada P(j\tSağ) ifadesi bir j sınıf değerinin sağ taraftaki bölünme olma olasılığını verir. d) Φ(s\t), t düğümündeki s aday bölümlemelerinin uygunluk (goodness) ölçüsü olsun. Söz konusu uygunluk ölçüsü şu şekilde hesaplanır: e) Φ(s\t) değerleri hesaplandıktan sonra içlerinde en büyük olanı seçilir. Bu değerin ilgili olduğu aday bölünme satırı bize dallanmanın yapılacağı satırı bildirecektir. f) Dallanma bu şekilde yapıldıktan sonra, bu adıma ilişkin olarak karar ağacı çizilir ADIM 2: Algoritmanın en başındaki adıma dönülerek ağacın alt kümesine aynı işlemler uygulanır Örnek 1 Aşağıdaki örneği inceleyiniz.

54

55 Örnek 2 Aşağıdaki örneği inceleyiniz.

56 Uygulama Aşağıda tabloda verilen eğitim verilerini göz önüne alalım. Twoing algoritmasını kullanarak sınıflandırma işlemini gerçekleştirmek istiyoruz. Bu veri kümesi 11 adet müşterinin GELİR, EĞİTİM ve SEKTÖR nitelikleri ile MEMNUN amaç niteliğini, yani sınıfı belirleyen niteliği tanımlanmaktadır. Bu veriler gelir, bir firmanın verdiği hizmetten eğitim ve sektör ayrımlarına bakarak, müşterilerin memnun olup olmadıklarını belirlemektedir. Müşteri GELİR EĞİTİM SEKTÖR MEMNUN 1 NORMAL ORTA BİLİŞİM EVET 2 BÜYÜK İLK BİLİŞİM EVET 3 KÜÇÜK İLK İNŞAAT EVET 4 BÜYÜK ORTA İNŞAAT EVET 5 KÜÇÜK ORTA İNŞAAT EVET 6 BÜYÜK LİSE İNŞAAT EVET 7 KÜÇÜK LİSE İNŞAAT EVET 8 BÜYÜK ORTA BİLİŞİM HAYIR 9 KÜÇÜK ORTA BİLİŞİM HAYIR 10 BÜYÜK LİSE BİLİŞİM HAYIR 11 KÜÇÜK LİSE BİLİŞİM HAYIR Adım 1 ADIM 1 de yapılacak hesaplamalar şunlardır: Tablo 4.3: Sınıflandırma için eğitim kümesi a) Aday Bölünmeler

57 b) P Sol ve P(j tsol) Olasılıklarının Hesaplanması c) P Sağ ve P(j tsağ) Olasılıklarının Hesaplanması d) Φ(s t) Uygunluk Ölçütünün Hesaplanması e) En Büyük Uygunluk Ölçütünün Hesaplanması f) Karar Ağacı ADIM 1.a: Aday Bölünmeler Twoing algoritmasını uygulamak için, niteliklerin her bir değeri için iki ayrı dizi oluşturulur. Burada s aday bölünmenin her bir satırını ifade etmektedir. Örneğin GELİR=NORMAL olarak alınırsa bu sol taraf dizisinin elemanı olacaktır. Geriye kalan BÜYÜK ve KÜÇÜK nitelik değerleri için GELİR {BÜYÜK,KÜÇÜK} sağ taraf dizi elemanını oluşturur. İki diziden sol tarafta bulunanı tsol, sağ tarafta yer alanı ise tsağ dizisi olarak değerlendirilir. Aday bölünme (s) tsol tsağ 1 GELİR=NORMAL GELİR {BÜYÜK,KÜÇÜK} 2 GELİR=BÜYÜK GELİR {NORMAL,KÜÇÜK} 3 GELİR=KÜÇÜK GELİR {BÜYÜK,NORMAL} 4 EĞİTİM=İLK EĞİTİM {ORTA,LİSE} 5 EĞİTİM=ORTA EĞİTİM {İLK, LİSE} 6 EĞİTİM=LİSE EĞİTİM {İLK,ORTA} 7 SEKTÖR=BİLİŞİM SEKTÖR=İNŞAAT 8 SEKTÖR=İNŞAAT SEKTÖR=BİLİŞİM Tablo 4.4: Aday bölünmeler ADIM 1.b: Sol Taraf Olasılıklarının Hesaplanması GELİR=NORMAL için hesaplamalar: Tablo 4.4 deki her bir nitelik değerinin Tablo 4.3 de GELİR niteliği içindeki tekrar sayılarını belirlememiz gerekiyor. Örneğin GELİR=NORMAL değerini Tablo 4.3 de GELİR sütununda 1 kez tekrar edildiği görülmektedir. Eğitim kümesinde 11 satır yer almaktadır. Bu durumda GELİR=NORMAL elde etme olasılığı olan PSol değeri şu şekilde hesaplanır: PSol= 1/11 = 0.09 Şimdi P(j/tSol) değerini hesaplayalım. Burada j sınıfları gösterir. MEMNUN isimli sınıf niteliğinin EVET ve HAYIR biçiminde iki değeri vardır. O haldep(evet/tsol) ve P(HAYIR/tSol) değerlerinin hesaplanması gerekmektedir. Şimdi Tablo 4.3 de GELİR sütununda NORMAL değerlerinin hangi satırlarda olduğuna bir bakalım. Tabloda sadece birinci satırda GELİR=NORMALdeğerlerine sahiptir. Bu satırın karşısında EVET değerinin olup olmadığına bakıyoruz. Söz konusu konumda EVET yer aldığına göre, bu değer ile ilgili koşullu olasılık, P(EVET/tSol)= 1/1 = 1 P(HAYIR/tSol)= 0/1 = 0 elde edilir. Bu hesaplamalar Tablo 4.4 deki tüm aday bölünmeler için tekrarlanırsa aşağıdaki tablo elde edilir: Aday Bölünme tsol daki kayıt sayısı PSol EVET sayısı HAYIR sayısı P(EVET tsol) P(HAYIR tsol) 1 1 0, ,00 0, , ,60 0, , ,60 0, , ,00 0, , ,60 0, , ,50 0, , ,33 0, , ,00 0,00 Tablo 4.5

58 ADIM 1.c: Sağ Taraf Olasılıklarının Hesaplanması GELİR {BÜYÜK,KÜÇÜK} için hesaplamalar: GELİR=BÜYÜK ve GELİR=KÜÇÜK değerlerinin eğitim kümesi içindeki tekrar sayılarını belirlememiz gerekiyor. Bu tekrar sayısının 10 olduğu anlaşılıyor. O halde PSağ değeri şu şekilde hesaplanır: PSağ= 10/11 = 0.91 Eğitim kümesinde GELİR=BÜYÜK ve GELİR=KÜÇÜK değerlerinin yer aldığı satırları göz önüne alalım. Bu satırlardan kaç tanesinde EVET kaç tanesindehayir sınıf değerlerinin var olduğunu belirleyelim. Yani P(EVET,tSağ) ve P(HAYIR,tSağ) koşullu olasılık değerini P(EVET,tSağ)= 6/10 = 0.6 P(HAYIR,tSağ)= 4/10 = 0.4 Benzer biçimde diğer satırlarda hesaplamalar yapılırsa aşağıdaki tablonun elde edildiği görülür. Aday Bölünme tsağ daki kayıt sayısı PSağ EVET sayısı HAYIR sayısı P(EVET tsağ) P(HAYIR tsağ) , ,60 0, , ,67 0, , ,67 0, , ,56 0, , ,67 0, , ,71 0, , ,00 0, , ,33 0,67 Tablo ADIM 1.d: Uygunluk Ölçütünün Hesaplanması Uygunluk ölçütü şu şekilde formüle edilmişti: Tablo 4.5 ve Tablo 4.6 de elde edilen değerleri burada yerine yazarak her satır için uygunluk ölçütü hesaplanır. Bu t düğümünde GELİR=NORMAL vegelir {BÜYÜK,KÜÇÜK} biçimindeki ilk aday bölümleme için söz konusu hesaplamayı sadece birinci satır için yapıyoruz. Burada s=1 olarak kabul edilir. Φ(1\t)=2(0.09)(0.91)[ ]=0.13 Burada belirtilen hesaplamalar diğer tüm satırlar için benzer biçimde yapılır. Sonuç olarak aşağıdaki tablo elde edilir. Aday Bölünme PSol PSağ 2PSolPSağ Φ(s\t) 1 0,09 0,91 0,17 0,13 2 0,45 0,55 0,50 0,07 3 0,45 0,55 0,50 0,07 4 0,18 0,82 0,30 0,26 5 0,45 0,55 0,50 0,07 6 0,36 0,64 0,46 0,20 7 0,55 0,45 0,50 0,66 8 0,45 0,55 0,50 0,66 Tablo 4.7: Her bir aday bölüm için Φ(s/t) değerleri ADIM 1.e: En Büyük Uygunluk Ölçütünün Hesaplanması Tablo 4.7 üzerinde Φ(s/t) sütununda en büyük değer 7. ve 8. satır üzerinde yer alan 0.66 değeridir. Bu değerler birbirine eşit olduğundan en büyük uygunluk ölçütü olarak herhangi biri seçilebilir.

59 Tablo 4.4 de 8. satırda birinci bölünmede SEKTÖR=İNŞAAT yer aldığına göre, Tablo 4.3 de SEKTÖR niteliği içinde İNŞAAT değerleri araştırılır. Bu değerler 3.4,5,6,7 satırlarındadır. Bu durumda, eğitim serisinde kök düğümden itibaren nasıl bir ayrım yapılacağı belli olmuştur. (3,4,5,6,7) kayıtlarının tümü EVET sınıf değerine sahip olduğuna göre, birinci ayrım sonlanmıştır. Geri kalanlar ise yeni bir A karar düğümü oluşturur ADIM 1-f: Karar Ağacı Burada bulunan değerler göz önüne alınarak karar ağacı şu şekilde çizilebilir: Şekil 4.1: Başlangıç bölünmesi ardından elde edilen karar ağacı ADIM 2 Birinci adımda (3,4,5,6,7) satırları için karar verilmiştir. O halde ikinci adımda (1,2,8,9,10,11) satırlarından oluşan A düğümü göz önüne alınarak birinci adımdaki işlemler tekrarlanır. Bunun için önce eğitim setinde sonlanan (3,4,5,6,7) satırları çıkarılarak Tablo 4.3 yeniden düzenlenir ve aşağıdaki Tablo 4.8elde edilir. Müşteri GELİR EĞİTİM SEKTÖR MEMNUN 1 NORMAL ORTA BİLİŞİM EVET 2 BÜYÜK İLK BİLİŞİM EVET 8 BÜYÜK ORTA BİLİŞİM HAYIR 9 KÜÇÜK ORTA BİLİŞİM HAYIR 10 BÜYÜK LİSE BİLİŞİM HAYIR 11 KÜÇÜK LİSE BİLİŞİM HAYIR Tablo 4.8 : Yeni eğitim kümesi ADIM 2.a : Aday Bölünmeler Tablo 4.8'den yararlanılarak aday bölünmeler şu şekilde elde edilir : Aday bölünme tsol tsağ 1 GELİR=NORMAL GELİR {BÜYÜK,KÜÇÜK} 2 GELİR=BÜYÜK GELİR {NORMAL,KÜÇÜK} 3 GELİR=KÜÇÜK GELİR {BÜYÜK,NORMAL} 4 EĞİTİM=İLK EĞİTİM {ORTA,LİSE} 5 EĞİTİM=ORTA EĞİTİM {İLK, LİSE} 6 EĞİTİM=LİSE EĞİTİM {İLK,ORTA} Tablo 4.9: Aday bölünmeler.

60 ADIM 2.b : Sol Taraf Olasılıklarının Hesaplanması GELİR=NORMAL için hesaplamalar: GELİR=NORMAL değerinin Tablo 4.8 de GELİR sütununda 1 kez tekrar edildiği görülmektedir. Eğitim kümesinde 6 satır yer almaktadır. Bu durumdagelir=normal elde etme olasılığı olan PSol değeri şu şekilde hesaplanır: PSol= 1/6 = 0.17 P(EVET,tSol) ve P(HAYIR,tSol) değerlerinin hesaplanması için Tablo 4.8 da GELİR sütununda NORMAL değerlerinin hangi satırlarda olduğuna bir bakalım. Tabloda sadece birinci satırda GELİR=NORMAL değerlerine sahiptir. Söz konusu satırın karşısında EVET değeri yer aldığına göre bu değer ile ilgili koşullu olasılık, P(EVET,tSol)= 1/1 =1 P(HAYIR,tSol)= 0/1 =0 elde edilir. Bu hesaplamalar Tablo 4.9 deki tüm aday bölünmeler için tekrarlanırsa aşağıdaki tablo elde edilir: Aday Bölünme tsol daki kayıt sayısı Psol EVET sayısı HAYIR sayısı P(EVET tsol) P(HAYIR tsol) 1 1 0, ,00 0, , ,33 0, , ,00 1, , ,00 0, , ,33 0, , ,00 1,00 Tablo ADIM 2.c : Sağ Taraf Olasılıklarının Hesaplanması GELİR {BÜYÜK,KÜÇÜK} için hesaplamalar: GELİR=BÜYÜK ve GELİR=KÜÇÜK değerlerinin eğitim kümesi içindeki tekrar sayılarını belirlememiz gerekiyor. Tekrar sayısı 5 olduğuna göre PSağ değeri şu şekilde hesaplanır: PSağ= 5/6 = 0.83 Eğitim kümesinde GELİR=BÜYÜK ve GELİR=KÜÇÜK değerlerinin yer aldığı satırları göz önüne alalım. Bu satırlardan 1 tanesinde EVET, 4 tanesinde HAYIR sınıf değerlerinin var olduğu görülür. O halde P(EVET,tSağ) ve P(HAYIR,tSağ) koşullu olasılık değerleri şu şekilde hesaplanır: P(EVET,tSağ)= 1/5 =0.2 P(HAYIR,tSağ) = 4/5 = 0.8 Benzer biçimde diğer satırlarda hesaplamalar yapılırsa aşağıdaki tablonun elde edildiği görülür. Aday Bölünme tsağ daki kayıt sayısı PSağ EVET sayısı HAYIR sayısı P(EVET tsağ) P(HAYIR tsağ) 1 5 0, ,20 0, , ,33 0, , ,50 0, , ,20 0, , ,33 0, , ,50 0,50 Tablo ADIM 2.d : Uygunluk Ölçütünün Hesaplanması Bu t düğümünde GELİR=NORMAL ve GELİR {BÜYÜK,KÜÇÜK} biçimindeki ilk aday bölümleme için söz konusu hesaplamayı sadece birinci satır için yapıyoruz: Φ(1\t)=2(0.17)(0.83)[ ]=0.44

61 Burada belirtilen hesaplamalar diğer tüm satırlar için benzer biçimde yapılır. Sonuç olarak aşağıdaki tablo elde edilir. Aday Bölünme PSol PSağ 2PSolPSağ Φ(s\t) 1 0,17 0,83 0,28 0,44 2 0,50 0,50 0,50 0,00 3 0,33 0,67 0,44 0,44 4 0,17 0,83 0,28 0,44 5 0,50 0,50 0,50 0,00 6 0,33 0,67 0,44 0,44 Tablo 4.12: Her bir aday bölüm için Φ(s\t) değerleri ADIM 2.e : En Büyük Uygunluk Ölçütünün Seçilmesi Tablo 4.12 üzerinde Φ(s\t) sütununda en büyük değer 0.44 olup bu değer 1,3,4 ve 8. satırda yer almaktadır. Bu değerler birbirine eşit olduğundan en büyük uygunluk ölçütü olarak herhangi biri seçilebilir. Biz birinci satırdaki değeri seçiyoruz. Bu durumda, aday bölünmelerin yer aldığı Tablo 4.9 üzerinde birinci satırda yer alan GELİR=NORMAL ve GELİR {BÜYÜK,KÜÇÜK} değerlerine göre bir dallanma olacaktır. Tablo 4.8 da GELİR=NORMAL değerinin nerelerde olduğu araştırılır. Sadece 1. satırda bu değerin yer aldığı görülüyor ADIM 2.f : Karar Ağacı Bulduğumuz değerler göz önüne alınarak karar ağacı şu şekilde çizilebilir: Şekil 4.2: Başlangıç bölünmesi ardından elde edilen karar ağacı ADIM 3 Bu adımda (2,8,9,10,11) satırları için karar verilmesi gerekmektedir. Yeni eğitim kümesi şu şekilde olacaktır. Müşteri GELİR EĞİTİM SEKTÖR MEMNUN

62 2 BÜYÜK İLK BİLİŞİM EVET 8 BÜYÜK ORTA BİLİŞİM HAYIR 9 KÜÇÜK ORTA BİLİŞİM HAYIR 10 BÜYÜK LİSE BİLİŞİM HAYIR 11 KÜÇÜK LİSE BİLİŞİM HAYIR Tablo 4.13: Yeni eğitim kümesi ADIM 3.a : Aday Bölünmeler Aday bölünme tablosu ise, buradaki eğitim kümesine bağlı olarak şu şekilde düzenlenebilir: Aday bölünme tsol tsağ 1 GELİR=BÜYÜK GELİR=KÜÇÜK 2 GELİR=KÜÇÜK GELİR=BÜYÜK 3 EĞİTİM=İLK EĞİTİM {ORTA,LİSE} 4 EĞİTİM=ORTA EĞİTİM {İLK, LİSE} 5 EĞİTİM=LİSE EĞİTİM {İLK,ORTA} Tablo 4.13: Yeni eğitim kümesi ADIM 3.b : Sol Taraf Olasılıklarının Hesaplanması GELİR=BÜYÜK için hesaplamalar: GELİR=BÜYÜK değerinin Tablo 4.13 de GELİR sütununda 3 kez tekrar edildiği görülmektedir. Eğitim kümesinde ise 5 satır yer almaktadır. O haldegelir=büyük elde etme olasılığı olan PSol değeri şu şekilde hesaplanır: PSol= 3/5 = 0.6 P(EVET\tSol) ve P(HAYIR\tSol) değerlerinin hesaplanması için Tablo 4.13 de GELİR sütununda BÜYÜK değerinin hangi satırlarda olduğu belirlenir. Tabloda üç satırda bu değer yer almaktadır. O halde EVET ve HAYIR değerleri için koşullu olasılık, P(EVET\tSol)= 1/3 =0.33 P(HAYIR\tSol) = 2/3 =0.67 elde edilir. Bu hesaplamalar Tablo 4.14 deki tüm aday bölünmeler için tekrarlanırsa aşağıdaki tablo elde edilir: Aday Bölünme tsol daki kayıt sayısı Psol EVET sayısı HAYIR sayısı P(EVET tsol) P(HAYIR tsol) 1 3 0, ,33 0, , ,00 1, , ,00 0, , ,00 1, , ,00 1,00 Tablo ADIM 3.c : Sağ Taraf Olasılıklarının Hesaplanması GELİR=KÜÇÜK için hesaplamalar: GELİR=KÜÇÜK değerlerinin eğitim kümesi içindeki tekrar sayısı 2 olduğuna göre PSağ değeri şu şekilde hesaplanır: PSağ= 2/5 = 0.4

63 Bu kez GELİR=KÜÇÜK değerlerinin yer aldığı satırları göz önüne alalım. Söz konusu satırlar 2 tanedir. Bu satırlardan hiçbirinde EVET yoktur. Buna karşılık 2 tane HAYIR değeri bulunduğu görülür. O halde P(EVET\tSağ) ve P(HAYIR\tSağ) koşullu olasılık değerleri şu şekilde hesaplanır: P(EVET\tSağ)= 0/2 =0 P(HAYIR\tSağ) = 2/2 =1 Benzer biçimde diğer satırlarda hesaplamalar yapılırsa aşağıdaki tablonun elde edildiği görülür. Aday Bölünme tsağ daki kayıt sayısı PSağ EVET sayısı HAYIR sayısı P(EVET tsağ) P(HAYIR tsağ) 1 2 0, ,00 1, , ,33 0, , ,00 1, , ,33 0, , ,33 0,67 Tablo ADIM 3.d : Uygunluk Ölçütünün Hesaplanması Bu t düğümünde GELİR=KÜÇÜK ve GELİR=BÜYÜK biçimindeki ilk aday bölümleme için söz konusu hesaplamayı sadece birinci satır için yapıyoruz: Φ(1\t)= 2(0.6)(0.4)[ ]=0.32 Burada belirtilen hesaplamalar diğer tüm satırlar için benzer biçimde yapılır. Sonuç olarak aşağıdaki tabloya elde edilir. Aday Bölünme PSol PSağ 2PSolPSağ Φ(s\t) 1 0,60 0,40 0,48 0,32 2 0,40 0,60 0,48 0,32 3 0,20 0,80 0,32 0,64 4 0,40 0,60 0,48 0,32 5 0,40 0,60 0,48 0,32 Tablo 4.17: Her bir aday bölüm için Φ(s\t) değerleri ADIM 3.e : En Büyük Uygunluk Ölçütünün Hesaplanması Tablo 4.17 üzerinde Φ(s\t) sütununda en büyük değer 0.64 olduğu görülmektedir. Bu değer 3. satırda yer almaktadır. Tablo 4.14 deki aday bölünme tablosunda aynı satır EĞİTİM_İLK değerine işaret etmektedir. Bu değer Tablo 4.13 de 2 numaralı müşteriye aittir. O halde bu noktadan itibaren bir bölümleme yapılacaktır. Yani (2) ve (8,9,10,11) biçiminde bir dallanma söz konusudur. O halde bölümleme işlemi sona ermiştir ADIM 3.f : Karar Ağacı Burada bulunan değerler göz önüne alınarak karar ağacı şu şekilde çizilebilir:

64 Şekil 4.3: Başlangıç bölünmesi ardından elde edilen karar ağacı Kural Tablosu Elde edilen karar ağacına uygun olarak aşağıdaki kural tablosu düzenlenebilir:

65 4.3. Gini Algoritması İkili bölümlememelere dayalı bir diğer sınıflandırma yöntemi Gini Algoritması olarak isimlendirilmektedir. Bu algoritma, nitelik değerlerinin sol ve sağda olmak üzere iki aday bölünmeye ayrılması esasına dayanmaktadır. Gini algoritması şu şekilde uygulanır: a) Her nitelik değerleri ikili olacak biçimde gruplanır. Bu şekilde elde edilen sol ve sağ bölünmelere karşılık gelen sınıf değerleri sayıları belirlenir. b) Her bir nitelikle ilgili sol ve sağ taraftaki bölünmeler için GiniSol ve GiniSağ değerleri hesaplanır. Bu bağlantılarda yer alan ifadelerin anlamları şu şekildedir: k T TSol sınıfların sayısı Bir düğümdeki örnekler Sol taraftaki örneklerin sayısı TSağ Li Ri Sağ taraftaki örneklerin sayısı Sol taraftaki i kategorisindeki örneklerin sayısı Sağ taraftaki i kategorisindeki örneklerin sayısı c) Her j niteliği için, n eğitim kümesindeki satır sayısı olmak üzere aşağıdaki bağıntının değeri hesaplanır: d) Her j niteliği için hesaplanan Ginij değerleri arasından en küçük olanı seçilir ve bölümlemenin bu nitelik üzerinden gerçekleştirileceği belirlenmiş olur. e) En baştaki (a) adımına dönülerek işlemlere devam edilir Örnek Aşağıdaki örneği inceleyiniz.

66 Uygulama Aşağıdaki eğitim verilerini göz önüne alalım. Bu verilere dayanarak Gini algoritmasını kullanarak sınıflandırma işlemini yapacağız. Başvuru EĞİTİM YAŞ CİNSİYET KABUL 1 ORTA YAŞLI ERKEK EVET 2 İLK GENÇ ERKEK HAYIR 3 YÜKSEK ORTA KADIN HAYIR 4 ORTA ORTA ERKEK EVET

67 5 İLK ORTA ERKEK EVET 6 YÜKSEK YAŞLI KADIN EVET 7 İLK GENÇ KADIN HAYIR 8 ORTA ORTA ERKEK EVET Adım 1 ADIM 1 de yapılacak hesaplamalar şunlardır: Tablo 4.19: Eğitim verileri a) Nitelik Değerlerinin İkili Gruplandırılması b) GiniSol ve GiniSağ Değerlerinin Hesaplanması c) Ginij Değerlerinin Hesaplanması d) En Küçük Ginij Değerinin Seçilmesi Adım 1.a:Nitelik Değerlerinin İkili Gruplandırılması Bu eğitim verisi üzerinde Gini algoritmasını uygulayabilmek için önce aşağıda belirtilen hesaplamalar yapılır. Bu tabloya göre EVET sınıfına ilişkin olarakeğitim niteliğinin İLK değerinden 1 tane bulunmaktadır. Benzer biçimde (ORTA;YÜKSEK) değerlerinden ise 4 tane bulunmaktadır. Bu şekilde diğer değerler de hesaplanır. EĞİTİM YAŞ CİNSİYET KABUL İLK ORTA,YÜKSEK ORTA YAŞLI KADIN ERKEK EVET HAYIR Tablo Adım 1.b:Sol ve Sağ Gini Değerlerinin Hesaplanması Buradaki tablo değerlerini kullanarak şu hesaplamalar yapılabilir:

68 Adım 1.c:Nitelikler için Gini Değerlerinin Hesaplanması Önceki sayfada elde edilen sonuçlar kullanılarak her bir nitelik için şu şekilde Ginij değerleri elde edilir. Sonuç olarak şu şekilde bir tablo elde edilir: KABUL EĞİTİM YAŞ CİNSİYET İLK ORTA,YÜKSEK ORTA YAŞLI KADIN ERKEK EVET HAYIR GiniSol,GiniSağ 0,444 0,320 0,000 0,278 0,444 0,320 Ginij 0,367 0,208 0,367 Tablo Adım 1.d:Nitelikler için En Küçük Gini Değerinin Seçilmesi Buradaki tabloda hesaplanan bu değerler göz önüne alındığında, GiniYaş =0.208 değerinin Ginij değerleri içinde en küçüğü olduğu anlaşılır. O halde kök düğümünden itibaren bölümleme YAŞ=GENÇ ve YAŞ {ORTA,YAŞLI} biçiminde bu niteliğe göre olacaktır. Bölümlemeyi elde etmek için Tablo 4.19 üzerinde YAŞ=GENÇ değerleri aranır. Bu değer (2,7) satırları üzerindedir. O halde bölümleme (2,7) ve geri kalan satırlardan (1,3,4,5,6,8) oluşacaktır. Söz konusu bölümlemeyi aşağıdaki şekil üzerinde görüyoruz.

69 Şekil 4.4: Birinci bölümleme Adım 2 Benzer işlemleri ikinci adımda tekrarlayacağız. Bunun için önce eğitim kümesinden (2,7) satırlarını çıkarıyoruz. Bu adımdaki hesaplamaları bu yeni tabloya göre yapacağız. Başvuru EĞİTİM YAŞ CİNSİYET KABUL 1 ORTA YAŞLI ERKEK EVET 3 YÜKSEK ORTA KADIN HAYIR 4 ORTA ORTA ERKEK EVET 5 İLK ORTA ERKEK EVET 6 YÜKSEK YAŞLI KADIN EVET 8 ORTA ORTA ERKEK EVET Tablo 4.22: İkinci adımdaki eğitim kümesi Adım 2.a: Nitelik Değerlerinin İkili Gruplandırılması Tablo 4.22 'den yararlanarak, her bir nitelik değerinden her bir sınıfta kaç adet olduğu belirlenir ve şu şekilde bir tablo hazırlanır. KABUL EĞİTİM YAŞ CİNSİYET İLK ORTA,YÜKSEK GENÇ ORTA,YAŞLI KADIN ERKEK EVET HAYIR Tablo Adım 2.b: Sol ve Sağ Gini Değerlerinin Hesaplanması Buradaki tablo değerlerini kullanarak şu hesaplamalar yapılabilir: Hesaplamaları görmek için başlıklara tıklayınız.

70 Adım 2.c: Nitelikler için Gini Değerlerinin Hesaplanması Bu sonuçlar kullanılarak her bir nitelik için aşağıdaki Ginij değerleri elde edilir. Sonuç olarak şu şekilde bir tablo elde edilir: KABUL EĞİTİM YAŞ CİNSİYET İLK ORTA,YÜKSEK GENÇ ORTA,YAŞLI KADIN ERKEK EVET HAYIR GiniSol,GiniSağ 0,000 0,320 0,375 0,000 0,500 0,000 Ginij 0,267 0,250 0,167 Tablo 4.24

71 Adım 2.d: Nitelikler için En Küçük Gini Değerinin Seçilmesi Burada tabloda hesaplanan bu değerler göz önüne alındığında GiniCinsiyet =0.167, değerinin Ginij değerleri içinde en küçüğü olduğu anlaşılır. O halde bu niteliğe göre bir bölümleme söz konusu olacaktır. Bölünme CİNSİYET niteliğinin KADIN ve ERKEK değerlerine göre düzenlenir. O halde CİNSİYET için KADIN değeri tablo üzerine araştırılırsa (3,6) satırlarda yer aldığı anlaşılır. Bu durumda bölünmenin (3,6) ve (1,4,5,8) satırları biçiminde gerçekleşmesi gerekir. Elde edilen sonuçlara göre karar ağacı aşağıda gösterildiği biçimi alır. Şekil 4.5: İkinci adımda karar ağacının görünümü Adım 3 Şekil üzerinde görüldüğü gibi (1,4,5,8) satırları EVET ile sonlanmıştır. O halde bu satırları Tablo 4.19 dan çıkaracak olursak, eğitim kümesinin aşağıdaki satırları elde edilir. Başvuru EĞİTİM YAŞ CİNSİYET KABUL 3 YÜKSEK ORTA KADIN HAYIR 6 YÜKSEK YAŞLI KADIN EVET Tablo 4.25 : Üçüncü adımda eğitim kümesi. Elde edilen son tablo iki satırdan oluşmakta ve iki ayrı sınıfı tanımlamaktadır. O halde sonuç olarak aşağıdaki ağaç elde edilir:

72 Şekil 4.6: Üçüncü adım sonunda elde edilen karar ağacı Kural Tablosu Karar ağacına bağlı olarak aşağıdaki kural tablosu düzenlenebilir:

73 Bölüm 5 BELLEK TABANLI SINIFLANDIRMA : EN YAKIN k-komşu ALGORİTMASI Bölüm Hedefi Verileri sınıflandırmak üzere bellek tabanlı yöntemler arasında sayılan en yakın k-komşu algoritmasıtercih edilebilir. Bu yöntem, verilen bir noktaya en yakın k komşunun belirlenmesi ve yeni gözlemin buna göre değerlendirilmesi esasına dayanmaktadır Giriş Sınıflandırma yöntemlerinden birisi de K-en yakın komşu algoritması (K-nearest Neighbors Algorithm) adını taşımaktadır. Söz konusu yöntem geniş bir uygulama alanı bulmuştur. Bu yöntem, sınıfları belli olan bir örnek kümesindeki gözlem değerlerinden yararlanarak, örneğe katılacak yeni bir gözlemin hangi sınıfa ait olduğunu belirlemek amacıyla kullanılır. Bu yöntem ö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 ksayıda gözlemin seçilmesi esasına dayanmaktadır. Uzaklıkların hesaplanmasında, i ve j noktaları için aşağıdaki Öklid uzaklık formülü kullanılabilir : Diğer uzaklık bağıntılarının neler olduğunu kümeleme ile ilgili konuda daha ayrıntılı biçimde ele alarak inceleyeceğiz. Aşağıdaki Şekil 5.1'de görüldüğü gibi, bir noktasına en yakın k=3 komşu belirlenmiştir En yakın k-komşu Algoritması K-en yakın komşu algoritması, gözlem değerlerinden oluşan bir küme için aşağıdaki adımların uygulanmasından ibarettir:

74 Uygulama 1 Aşağıda verilen gözlem tablosunu göz önüne alalım. Bu gözlemler X1 ve X2 niteliklerinden ve Y sınıfından oluşmaktadır. Bu gözlem değerlerine bağlı olarak, yeni bir gözlem olan, X1=8, X2=4 değerlerinin yani (8,4) gözleminin hangi sınıfa dahil olduğunu k-en yakın komşu yöntemiyle bulmak istiyoruz. X1 X2 Y 2 4 KÖTÜ 3 6 İYİ 3 4 İYİ 4 10 KÖTÜ 5 8 KÖTÜ 6 3 İYİ 7 9 İYİ 9 7 KÖTÜ 11 7 KÖTÜ 10 2 KÖTÜ Tablo 5.1: Gözlem değerleri Uygulama 1.a: K nın Belirlenmesi Algoritmaya başlamadan önce, k-en yakın komşu algoritması için k=4 olduğunu keyfi olarak belirliyoruz. Böylece bu problem çerçevesinde verilen (8,4) noktasına en yakın 4 komşuyu arayacağımızı ilan etmiş oluyoruz Uygulama 1.b: Uzaklıkların Hesaplanması (8,4) noktası ile gözlem değerlerinin her birisi arsındaki uzaklıkları hesaplamamız gerekiyor. Uzaklık bağıntısı olarak Öklid uzaklık formülünükullanıyoruz. Öklid bağıntısı,

75 Hesaplanan bu değerleri aşağıdaki tablo üzerine yerleştiriyoruz. X1 X2 Uzaklık 2 4 6, , , , , , , , , ,83 Tablo 5.2: Gözlem değerlerinin verilen bir (8,4) noktasına olan uzaklıkları Uygulama 1.c: En Küçük Uzaklıkların Belirlenmesi Satırlar sıralanarak, en küçük k=4 tanesi belirleniyor. Bu dört nokta verilen (8,4) noktasına en yakın gözlem değerleridir. X1 X2 Uzaklık Sıra 2 4 6, , , , , , , ,16 3

76 11 7 4, ,83 2 Tablo 5.3: Uzaklık göz önüne alınarak k=4 komşu gözlemin belirlenmesi (8,4) Noktasına En Yakın Dört Komşu (8,4) noktasına en yakın dört komşusu aşağıdaki şekilde gösterilmiştir. Şekil 5.2: (8,4) noktasına en yakın dört komşu Uygulama 1.d: Seçilen Satırların Sınıflarının Belirlenmesi (8,4) noktasına en yakın olan gözlem değerlerinin Y sınıfları göz önüne alınır ve içinde hangi değerin baskın olduğu araştırılır. Bu dört sonuç içinde bir tane İYİ, dört tane KÖTÜ sonucu vardır. X1 X2 Uzaklık Sıra 2 4 6, , , , ,00 5 k komşunun Y değeri 6 3 2,24 1 İYİ 7 9 5, ,16 3 KÖTÜ ,24 4 KÖTÜ ,83 2 KÖTÜ Tablo Uygulama 1.e: Yeni Gözlemin Sınıfı Burada belirlenen KÖTÜ değeri (8,4) noktasının sınıfı olarak kabul edilir Uygulama 2 Aşağıda verilen gözlem tablosunu göz önüne alalım. Gözlemler üç değişkenlidir. Y ise sınıf değerlerini vermektedir. Bu verilere dayanarak (7,8,5) noktasının hangi sınıf değerine sahip olduğunu belirlemek istiyoruz. Ancak bu uygulamayı gerçek gözlem değerleriyle değil, dönüştürülmüş değerlerle yapacağız. X1 X2 X3 Y EVET HAYIR HAYIR EVET

77 EVET Tablo 5.5 : Gözlem değerleri Min-Max Normalleştirme Gözlem değerlerini (0,1) aralığına göre dönüştürmek için min-max normalleştirme yöntemini uygulayacağız. Bu amaçla yukarıdaki gözlem değerleri için, bağıntısı uygulanır. Söz konusu bağıntıyı dersimizin ikinci bölümünde ele alarak incelemiştik. Burada X* dönüştürülmüş değerleri, X gözlem değerlerini, Xmin en küçük gözlem değerini ve Xmax en büyük gözlem değerini ifade etmektedir. Bu değerler aşağıdaki tablo üzerinde yer almaktadır. X1 X2 X3 Xmin Xmax Tablo 5.6: Dönüştürme işleminde kullanılan bazı değerler Birinici Satır İçin min-max Normalleştirme Hesaplamaları Birinci satırda X1 için X* şu şekilde elde edilir: Benzer biçimde birinci satırda X2 için X* şu şekilde elde edilir: Birinci satırla ilgili olarak son hesaplama X3 için şu şekilde yapılır: Bu hesaplamalar diğer satırlar içinde de tekrarlanırsa aşağıdaki tabloda verilen sonuçlar elde edilmiş olur. X1 X2 X3 Y 0,47 0,21 1,00 EVET 0,33 0,00 0,00 HAYIR 1,00 1,00 0,13 HAYIR 0,60 0,93 0,27 EVET 0,00 0,93 0,73 EVET Tablo 5.7 : Dönüştürülmüş gözlem değerleri. Bu durumda (7,8,5) noktası da aynı dönüşüm formülüyle yeni değerlere dönüştürülür. Yeni gözlem noktası (0.26, 0.43, 0.07) biçiminde elde edilir. Yeni gözlemler tablosu elde edildiğine göre artık k-en yakın komşu algoritmasını uygulayabiliriz K-en Yakın Komşu Algoritmasının Uygulanması K-en yakın komşu algoritmasının uygulanması için şu hesaplamalar yapılacaktır:

78 Uygulama 2.a. K nın Belirlenmesi K-en yakın komşu algoritması için k=3 kabul ederek çözümlemeye başlıyoruz Uygulama 2.b. Uzaklıkların Hesaplanması (0.26, 0.43, 0.07) noktası ile dönüştürülmüş gözlem değerlerinin her birisi arasındaki Öklid uzaklıklarını hesapladığımızda aşağıda tabloda belirtilen değerler elde edilir. X1 X2 X3 Uzaklık 0,47 0,21 1,00 0,98 0,33 0,00 0,00 0,44 1,00 1,00 0,13 0,93 0,60 0,93 0,27 0,63 0,00 0,93 0,73 0,87 Tablo 5.8: Gözlem değerlerinin verilen bir (0.26, 0.43, 0.07) noktasına olan uzaklıkları Uygulama 2.c. Uzaklıkların Hesaplanması Satırlar sıralanarak, en küçük k=3 tanesi belirlenir. Bu dört nokta verilen (0.26, 0.43, 0.07) noktasına en yakın gözlem değerleridir. X1 X2 X3 Uzaklık Sıra 0,47 0,21 1,00 0,98 5 0,33 0,00 0,00 0,44 1 1,00 1,00 0,13 0,93 4 0,60 0,93 0,27 0,63 2 0,00 0,93 0,73 0,87 3 Tablo 5.9: Uzaklık göz önüne alınarak k=3 komşu gözlemin belirlenmesi Uygulama 2.d. Seçilen Satırların Sınıflarının Belirlenmesi (0.26, 0.43, 0.07) noktasına en yakın olan gözlem değerlerinin Y sınıfları göz önüne alınarak hangisinin daha çok tekrarlandığını belirliyoruz. Bu üç sonuç içinde bir tane HAYIR, üç tane EVET sonucu vardır. X1 X2 X3 Uzaklık Sıra 0,47 0,21 1,00 0,98 5 0,33 0,00 0,00 0,44 1 HAYIR 1,00 1,00 0,13 0,93 4 0,60 0,93 0,27 0,63 2 EVET 0,00 0,93 0,73 0,87 3 EVET k komşunun Y değeri

79 Tablo Uygulama 2.e. Yeni Gözlemin Sınıfı Burada belirlenen EVET değeri (7,8,5) noktasının, yani (0.26, 0.43, 0.07) noktasının sınıfı olarak kabul edilir Ağırlıklı Oylama k-komşu algoritması, yukarıda söz edildiği biçimde verilen bir gözleme en yakın k komşunun belirlenmesi ve sınıfı bilinmeyen yeni bir gözlem değeri için, bu k gözlem içindeki en fazla tekrar eden sınıfın seçilmesi esasına dayanıyordu. Ancak seçilen bu sınıf, sadece k komşunun göz önüne alınması nedeniyle her zaman uygun olmayabilir. Bu son aşamada k komşu arasında en çok tekrarlanan sınıfı seçme yöntemi yerine ağırlıklı oylama (weighted voting) adı verilen bir yöntem uygulanabilir. Söz konusu ağırlıklı oylama yöntemi gözlem değerleri için aşağıdaki bağıntıya göre ağırlıklı uzaklıkların hesaplanması esasına dayanır: Burada yer alan d(i,f) ifadesi i ve j gözlemleri arasındaki Öklid uzaklığıdır. Her bir sınıf değeri için bu uzaklıkların toplamı hesaplanarak ağırlıklı oylama değeri elde edilir. En büyük ağırlıklı oylama değerine sahip olan sınıf değeri yeni gözlemin ait olduğu sınıf olarak kabul edilir Uygulama 3 Aşağıda verilen gözlem tablosunu göz önüne alalım. Bu gözlemler X1 ve X2 niteliklerinden ve CINS sınıfından oluşmaktadır. Bu gözlem değerlerine bağlı olarak, yeni bir gözlem olan (0.10, 0.50) gözleminin hangi sınıfa dahil olduğunu k-en yakın komşu yöntemiyle bulmak istiyoruz. X1 X2 CİNS 0,08 0,20 ERKEK 0,07 0,07 ERKEK 0,20 0,09 ERKEK 1,00 0,20 KADIN 0,05 0,06 ERKEK 0,20 0,25 ERKEK 0,17 0,07 ERKEK 0,15 0,55 KADIN 0,50 0,08 ERKEK 0,10 0,06 KADIN Tablo 5.11: Gözlem değerleri Uygulama 3.a: K nın Belirlenmesi K-en yakın komşu algoritması için k=3 olarak seçiyoruz. Yani verilen yeni (0.10, 0.50) gözlemine en yakın 3 komşuyu arayacağız Uygulama 3.b: Uzaklıkların Hesaplanması (0.10, 0.50) gözlemi ile diğer gözlem değerlerinin her birisi arsındaki uzaklıkları hesaplayacağız. Öklid uzaklık formülü kullanılarak aşağıdaki tabloda verilen sonuçlar elde edilir: X1 X2 Uzaklık 0,08 0,20 0,30 0,07 0,07 0,43 0,20 0,09 0,42 1,00 0,20 0,95 0,05 0,06 0,44 0,20 0,25 0,27

80 0,17 0,07 0,43 0,15 0,55 0,07 0,50 0,08 0,58 0,10 0,06 0,44 Tablo 5.12: Gözlem değerlerinin verilen bir (0.10,0.50) noktasına olan uzaklıkları Uygulama 3.c: En Küçük Uzaklıkların Belirlenmesi Satırlar sıralanarak, en küçük k=3 tanesi belirleniyor. Bu üç nokta verilen yeni gözlem noktasına en yakın değerleridir. X1 X2 Uzaklık Sıra 0,08 0,20 0,30 3 0,07 0,07 0,43 5 0,20 0,09 0,42 4 1,00 0,20 0, ,05 0,06 0,44 7 0,20 0,25 0,27 2 0,17 0,07 0,43 6 0,15 0,55 0,07 1 0,50 0,08 0,58 9 0,10 0,06 0,44 8 Tablo 5.13: Uzaklık göz önüne alınarak k=3 komşu gözlemin belirlenmesi (0.10,0.50) Noktasına En Yakın Dört Komşu (0.10,0.50) noktasına en yakın üç komşusu aşağıdaki şekilde gösterilmiştir Uygulama 3.d: Seçilen Satırların Sınıflarının Belirlenmesi Yeni gözlem noktasına en yakın olan gözlem değerlerinin CINS sınıfları göz önüne alınır ve içinde hangi değerin sayıca daha çok olduğu araştırılır. Bu üç sonuç içinde iki tane ERKEK, bir tane KADIN sonucu vardır. X1 X2 Uzaklık Sıra k komşunun CINS değeri 0,08 0,20 0,30 3 ERKEK 0,07 0,07 0,43 5 0,20 0,09 0,42 4 1,00 0,20 0, ,05 0,06 0,44 7 0,20 0,25 0,27 2 ERKEK 0,17 0,07 0,43 6 0,15 0,55 0,07 1 KADIN 0,50 0,08 0,58 9 0,10 0,06 0,44 8 Tablo Uygulama 3.e: Yeni Gözlemin Sınıfı Tablo 5.14 e dayanarak, üç değer içinde en fazla tekrarlanan CINS sınıfı göz önüne alınarak gözlem değeri için belirlenen sınıfın ERKEK olduğu anlaşılır Uygulama 3.f: Ağırlıklı Oylama Yönteminin Uygulanması

81 Bu aşamada, söz konusu seçme işlemini farklı bir yöntemle, ağırlıklı oylama yöntemiyle yapmak istiyoruz. O halde son tabloya d(i,j)' ağırlıklı ortalamaları eklemek gerekiyor. Hesaplanan değerler aşağıdaki tablo üzerinde yer almaktadır. Gözlem X1 X2 Uzaklık Sıra k komşunun CINS değeri Ağırlıklı uzaklık 1 0,08 0,20 0,30 3 ERKEK 11,05 2 0,07 0,07 0, ,20 0,09 0, ,00 0,20 0, ,05 0,06 0, ,20 0,25 0,27 2 ERKEK 13,79 7 0,17 0,07 0, ,15 0,55 0,07 1 KADIN 200,00 9 0,50 0,08 0, ,10 0,06 0,44 8 Tablo 5.15 Bu durumda CINS sınıfının ERKEK değerleri için ağırlıklı oylama değeri hesaplanır. d(1,gözlem)'+d(6,gözlem)' = =24.84 Elde edilen sonuçlara dayanarak şöyle bir yorum yapılır: KADIN değeri için elde edilen ağırlıklı oylama değeri ERKEK değeri için elde edilenden daha büyük olduğundan, yeni gözlem değerinin KADIN sınıf değerine sahip olduğu anlaşılır. Görüldüğü gibi, aynı veriler üzerinde farklı bir seçme yöntemi uygulanmış ve farklı bir sonuç elde edilmiştir. Ağırlıklı oylama aslında gözlem değerlerinin tümüne uygulanarak bir sonuca ulaşılabilir. Ancak çok sayıda gözlemin olduğu veri kümelerinde işlemleri yavaşlatır. BÖLÜm 6 KÜMELEME Bölüm Hedefi Verilerin birbirine benzeyen kısımlarının gruplandırılmasına kümeleme adını veriyoruz. Kümeleme çözümlemeleri veri madenciliğinde gemniş bir uygulama alanı bulmuştur. Bu ders kapsamında verilerin birbirine olan uzaklıklarını esas alarak hiyerarşik ve hiyerarşik olmayan kümeleme biçiminde geliştirilmiş iki algoritma türü anlatılmaktadır.

82 6.1. Kümeleme Çözümlemesi Veri madenciliğinin önemli konuları arasında yer alan kümeleme çözümlemesi (cluster analysis), verileri birbirleriyle benzer alt kümelere ayırma işlemi olarak bilinmektedir. Uygulamada çok sayıda kümeleme yöntemi kullanılmaktadır. Bu yöntemler, değişkenler arasındaki benzerliklerden yada farklılıklardan yararlanarak bir kümeyi alt kümelere ayırmakta kullanılmaktadır. Şekil 6.1: A ve B gibi iki kümenin görünümü. Kümeleme çözümlemeleri istatistikte başvurulan yöntemlerdir. Aslında kümeleme çözümlemeleri birbirine benzeyen gözlem değerlerinin ayrılarak sınıflandırılmasını sağlayan çok değişkenli çözümleme yöntemleri olarak karşımıza çıkmaktadır. Kümeleme çözümlemeleri pazarlama faaliyetlerinde sıkça kullanılır. Örneğin bir mamulden farklı beklentilerine göre müşterileri kümelere ayrılabilir. Bunun dışında belirli ürünleri kullanıcıların davranış biçimine göre gruplandırmak söz konusu olabilir. Böylece çözümleme ile elde edilen sonuçlara bakılarak pazarlama stratejisi belirlenebilir Uzaklık Ölçüleri Kümeleme yöntemlerinin birçoğu, gözlem değerleri arasındaki uzaklıkların hesaplanması esasına dayanmaktadır. O nedenle iki nokta arasındaki uzaklığı hesaplayan bağıntılara gereksinim vardır. Çeşitli değişkenlerden oluşan gözlem değerlerini bir X matrisi biçiminde gösterebiliriz. Örneğin üç değişken ve 5 gözlem değerinden oluşan matris şu şekilde ifade edilebilir: Burada birinci gözlem noktasının konumu (x 11,x 12,x 13) biçimindedir. İkinci gözlemin konumu ise (x 21,x 22,x 23) olarak ifade edilebilir. Bu iki nokta arasındaki uzaklık ise d(1,2) biçiminde yazılabilir. Yukarıdaki X matrisinin her bir satırının diğerine olan uzaklığı d(i,j) biçiminde ifade edilecek olursa, simetrik D uzaklıklar matrisi şu şekilde yazılabilir:

83 Yukarıdaki matrisin üst kısmı alt kısmının simetriği olduğundan ayrıca yazılmamıştır. Bu durumda d(i,j) = d(j,i) olduğu bilinir. Kümeleme çözümlemelerinde birçok uzaklık bağıntısı kullanılabilmektedir. Bunlardan üç tanesine aşağıda yer veriyoruz Öklid Uzaklığı Şekil 6.2: İki nokta arasındaki d uzaklığı. Uygulamada en çok kullanılan uzaklık ölçüsü Öklid uzaklık bağıntısı adıyla bilinmektedir. Bu uzaklık, yandaki şekil üzerinde görüldüğü gibi, iki boyutlu uzayda Pisagor teoreminin bir uygulaması olarak karşımıza çıkmaktadır. A ve B noktaları arasındaki Öklid uzaklığı şu şekilde olacaktır: Manhattan Uzaklığı Diğer bir uzaklık ölçüsü Manhattan uzaklığıdır. Bu uzaklık, gözlemler arasındaki mutlak uzaklıkların toplamı alınarak hesaplanır. Söz konusu uzaklık şu şekilde ifade edilir:

84 Minkowski Uzaklığı p sayıda değişken göz önüne alınarak gözlem değerleri arasındaki uzaklığın hesaplanması söz konusu ise Minkowski uzaklık bağıntısı kullanılabilir. Söz konusu uzaklık şu şekilde hesaplanır: Burada m=2 yazılarak Öklid uzaklık bağıntısı elde edilebilir Örnek A,B ve C gibi üç değişkenden oluşan aşağıdaki gözlemleri göz önüne alalım. Bu gözlem noktalarının her birinin birbirine olan uzaklığını farklı uzaklık ölçüleriyle elde etmek istiyoruz. Gözlem A B C Tablo 6.1: Gözlem değerleri. Örneğimizin çözümünü üç uzaklık bağıntısını da kullanarak yapalım Öklid Uzaklığı Burada yer alan üç değişken için, i ve j gözlem noktaları ve p=3 olmak üzere Öklid uzaklık bağıntısını şu şekilde tanımlayabiliriz: Benzer biçimde her bir gözlem değeri arasındaki Öklid uzaklıkları hesaplanarak aşağıdaki sonuçlar elde edilir. Gözlem ,00 2 3,46 0,00 3 5,39 6,08 0,00 4 5,48 7,07 1,73 0,00 5 7,28 8,31 3,46 3,32 0, Manhattan Uzaklığı Tablo 6.2: Öklid uzaklıkları.

85 Söz konusu verileri kullanarak Manhattan uzaklığını hesaplayabiliriz. Üç değişken için Manhattan uzaklık bağıntısı şu biçimdedir: d(i,j)= xi1-xj1 + xi2-xj2 + xi3-xj3 Bu bağıntı yardımıyla ikinci gözlem ile birinci gözlem arasındaki Manhattan uzaklığını elde edelim: d(2,1)= =6 Üçüncü gözlem ile birinci gözlem arasındaki Manhattan uzaklığı ise şu şekildedir: d(3,1)= =9 Benzer biçimde diğer tüm gözlemlerin birbirlerine olan uzaklıkları tek tek hesaplanırsa aşağıdaki sonuç elde edilir: Gözlem ,00 2 6,00 0,00 3 9,00 7,00 0,00 4 8,00 8,00 3,00 0, ,00 11,00 6,00 5,00 0,00 Tablo 6.3: Manhattan uzaklıkları Minskowski Uzaklığı Gözlem değerlerini yeniden ele alalım. Bu kez Minkowski uzaklık bağıntısını kullanarak tüm gözlemler arasındaki uzaklıkları elde edeceğiz. Üç değişken için Minkowski uzaklık bağıntısı şu şekli alacaktır: Gözlem ,00 2 2,88 0,00 3 4,63 6,01 0,00 4 5,12 7,01 1,44 0,00 5 6,55 8,05 2,88 3,07 0, Hiyerarşik Kümeleme Tablo 6.4: Minkowski uzaklıkları

86 Birçok kümeleme yönteminden söz edilebilir. Hiyerarşik kümeleme ve hiyerarşik olmayan kümeleme yöntemlerini bu ders kapsamı içinde ele alarak inceleyeceğiz. Hiyerarşik kümeleme yöntemleri, kümelerin bir ana küme olarak ele alınması ve sonra aşamalı olarak içerdiği alt kümelere ayrılması veya ayrı ayrı ele alınan kümelerin aşamalı olarak bir küme biçiminde birleştirilmesi esasına dayanır Birleştirici Hiyerarşik Yöntemler Ayrı ayrı ele alınan kümelerin aşamalı olarak birleştirilmesini sağlayan yöntemlerdir. Bu grupta birçok hiyerarşik yöntem bulunmaktadır. Söz konusu yöntemlerden aşağıda belirtilenleri ele alarak inceleyeceğiz: En yakın Komşu Algoritması En yakın komşu yöntemine (nearest neighbor method) tek bağlantı kümeleme yöntemi adı da verilmektedir. Başlangıçta tüm gözlem değerleri birer küme olarak değerlendirilir. Adım adım bu kümeler birleştirilerek yeni kümeler elde edilir. Bu yöntemde öncelikle gözlemler arasındaki uzaklıklar belirlenir. i ve j gözlemleri arasındaki uzaklıkların belirlenmesinde Öklid uzaklık bağıntısı kullanılabilir: Uzaklıklar göz önüne alınarak Mind(i,j) seçilir. Bu uzaklıkla ilgili satırlar birleştirilerek yeni bir küme elde edilir. Yeni duruma göre uzaklıkların yeniden hesaplanması gerekir. Tek bir gözlemden oluşan kümeler arasındaki uzaklıkları yukarıdaki formül ile doğrudan hesaplayabiliriz. Ancak birden fazla gözlem değerine sahip olan iki küme arasındaki uzaklığın belirlenmesi gerektiğinde farklı bir yol izlenir. İki kümenin içerdiği gözlemler arasında birbirine en yakın olanların uzaklığı iki kümenin birbirine olan uzaklığı olarak kabul edilir. Şekil 6.3: En yakın komşu algoritmasında iki kümenin birbirine en yakın gözlemleri arasındaki uzaklık iki kümenin birbirine olan uzaklığı olarak değerlendirilir.

87 Uygulama 1 Aşağıdaki tabloda verilen beş adet gözlemi göz önüne alalım. Bu veriler üzerinde en yakın komşu algoritmasını kullanarak kümeleme işlemlerini yapmak istiyoruz Adım 1 Öncelikle uzaklık tablosunun (matrisinin) hesaplanması gerekiyor. Uzaklık tablosu için çeşitli uzaklık ölçüleri kullanılabilir. Biz Öklid uzaklık ölçüsünü bu amaçla kullanmak istiyoruz. Söz konusu uzaklık bağıntısının k değişken sayısını göstermek üzere şu şekilde olduğunu biliyoruz. Bu durumda gözlemlere ilişkin uzaklıklar matrisi şu şekilde olacaktır: Gözlemler

88 Adım 2 Tablo 6.5: Uzaklıklar tablosu Uzaklıklar tablosunda Mind(i,j) hücresinin belirlenmesi gerekiyor. Tablo 6.5 incelendiğinde Mind(i,j)=1.41 olduğu görülür. O halde bu değerin ilgili olduğu 1 ve 3 numaralı gözlemeler ele alınır. Bu iki değer birleştirilerek (1,3) kümesi elde edilir. Şimdi bu yeni elde edilen kümeye göre uzaklıklar matrisini yeniden gözden geçirmemiz gerekmektedir. Çünkü (1,3) kümesi ile diğer gözlemler arasındaki uzaklıkları belirlememiz söz konusudur. Bunun için, söz konusu kümenin elemanları ile diğer gözlemler eşlenerek içlerinden en küçük olanlar, yani birbirine en yakın olan gözlemlerle ilgili olan uzaklıklar belirlenir. Bu amaçla (1,3) kümesi ile 2, 4 ve 5 numaralı gözlemler arasındaki uzaklığı belirleyelim. Şekil 6.5 Bu durumda (1,3) kümesi ile 2 numaralı gözlem arasındaki en küçük uzaklık olan 2.83; 4 numaralı gözlem ile arasındaki en küçük uzaklık olan 7.07 ve5 numaralı gözlem ile arasındaki en küçük uzaklık olan 9.22 değerleri yeni uzaklık değerleri olarak alınır. Bu durumda yeni uzaklıklar tablosu şu şekli alır: Gözlemler (1,3) (1,3) Tablo 6.6: Uzaklıklar tablosu Adım 3 Buradaki uzaklıklar tablosunu göz önüne alalım. Tablo incelendiğinde Mind(i,j)=2.24 olduğu görülür. O halde bu değerin ilgili olduğu 4 ve 5 gözlemleri birleştirilerek bir küme oluşturacaktır. Elde edilen (1,3) kümesinin diğer (1,3) kümesi ve 2 gözlemi ile olan uzaklıklarını belirlemek gerekiyor. Aşağıdaki şekil üzerinde görüldüğü gibi, (4,5) kümesi ile 2 numaralı gözlem arasındaki en küçük mesafe 4.47 olduğundan bu mesafe uzaklık tablosunda göz önüne alınır. Benzer biçimde (4,5) kümesi ile (1,3) kümesi arasındaki en küçük uzaklık olan 7.07 değeri tabloda yer alır.

89 Şekil 6.6 Bu durumda uzaklık tablosu aşağıda belirtilen biçimi alır: Gözlemler (1,3) 2 (4,5) (1,3) (4,5) Tablo 6.7: Uzaklıklar tablosu Adım 4 En son uzaklıklar tablosu incelendiğinde Mind(i,j)=2.83 olduğu görülür. O halde bu uzaklık ile ilgili olan 2 gözlemi ile (1,3) kümesi birleştirilecektir. Elde edilen (1,2,3) kümesi ile (4,5) kümesi arasındaki uzaklığı belirlemek için kümeler içindeki her bir değeri eşliyoruz ve aralarında en küçük olanı belirliyoruz. En küçük uzaklık 4.47 olduğuna göre söz konusu iki küme arasındaki uzaklık olarak bu değer belirlenmiş olur. Şekil 6.7 Yeni uzaklık değerini de içeren uzaklıklar tablosu şu şekildedir: Gözlemler (1,2,3) (4,5) (1,2,3) (4,5) 4.47 Tablo 6.8: Uzaklıklar tablosu Adım 5 Elde edilen iki küme birleştirilerek sonuç küme elde edilir. Bu küme (1,2,3,4,5) gözlemlerinden oluşan kümedir. Uzaklık düzeyi göz önüne alınarak kümeler şu şekilde belirlenmiştir: Uzaklık Kümeler 1.41 (1,3) 2.24 (4,5)

90 2.83 (1,2,3) 4.47 (1,2,3,4,5) Tablo 6.9 Kümeleme ile ilgili dentogram ise aşağıda belirtildiği biçimdedir En Uzak Komşu Algoritması Bu yönteme tam bağlantı kümeleme yöntemi adı da verilmektedir. Yöntem en yakın komşu algoritmasına çok benzer. Ancak bu kez kümeler arasındaki uzaklık belirlenirken, iki kümenin birbirine en uzak olan elemanları arasındaki mesafe, iki küme arasındaki uzunluk olarak tayin edilir. Şekil 6.10: En uzak komşu algoritmasında iki kümenin birbirine en uzak gözlemleri arasındaki uzaklık iki kümenin birbirine olan uzaklığı olarak değerlendirilir Uygulama 2 Aşağıdaki gözlem değerlerini göz önüne alalım. Bu kez kümeleme analizini en uzak komşu algoritmasına göre yapacağız.

91 Adım 1 Öncelikle öklid uzaklık bağıntısını kullanarak gözlemler arasındaki uzaklıkları belirliyoruz. Bu amaçla aşağıdaki hesaplamalar yapılır: Bu durumda gözlemlere ilişkin uzaklıklar matrisi şu şekilde olacaktır: Gözlemler Tablo 6.11: Uzaklıklar tablosu

92 Adım 2 İlk aşamada aynen en yakın komşu algoritmasında olduğu gibi Uzaklıklar tablosunda Mind(i,j) hücresinin belirlenmesi gerekiyor. Tablo üzerinde Mind(i,j)=1.41 olduğu görülür. O halde bu değerin ilgili olduğu 1 ve 4 numaralı gözlemler ele alınır. Bu iki değer birleştirilerek (1,4) kümesi elde edilir. Şimdi bu yeni elde edilen kümeye göre uzaklıklar matrisini yeniden gözden geçirmemiz gerekmektedir. Çünkü (1,4) kümesi ile diğer gözlemler arasındaki uzaklıkları belirlememiz söz konusudur. Bunun için, söz konusu kümenin elemanları ile diğer gözlemler eşlenerek içlerinden birbirine en uzak olan gözlemler ile olan uzaklıklar belirlenir. Bu amaçla (1,4) kümesi ile 2, 3 ve 5 numaralı gözlemler arasındaki uzaklığı belirleyelim. Şekil 6.12 Bu durumda (1,4) kümesi ile 2 numaralı gözlem arasındaki en büyük uzaklık olan 6.71; 3 numaralı gözlem ile arasındaki en büyük uzaklık olan 5.39 ve 5numaralı gözlem ile arasındaki en büyük uzaklık olan 2.24 değerleri yeni uzaklık değerleri olarak alınır. Bu durumda yeni uzaklıklar tablosu şu şekli alır: Gözlemler (1,4) (1,4) TABLO-6.12: Uzaklıklar tablosu Adım 3 Tablo 6.12'deki uzaklıklar tablosunu göz önüne alalım. Tablo incelendiğinde Mind(i,j)=1.41 olduğu görülür. O halde bu değerin ilgili olduğu 2 ve 3gözlemleri birleştirilerek bir küme oluşturacaktır. Elde edilen (2,3) kümesinin diğer (1,4) kümesi ve 5 gözlemi ile olan uzaklıklarını belirlemek gerekiyor. Aşağıdaki şekil üzerinde görüldüğü gibi, (2,3) kümesi ile 5 numaralı gözlem arasındaki en büyük mesafe 8.60 olduğundan bu mesafe uzaklık tablosunda göz önüne alınır. Benzer biçimde (1,4) kümesi ile (2.3) kümesi arasındaki en büyük uzaklık olan 6.71 değeri tabloda yer alır. Şekil 6.13 Bu durumda uzaklık tablosu aşağıda belirtilen biçimi alır: Gözlemler (1,4) (2,3) 5 (1,4)

93 (2,3) Tablo 6.13: Uzaklıklar tablosu Adım 4 En son uzaklıklar tablosu incelendiğinde Mind(i,j)=2.24 olduğu görülür. O halde bu uzaklık ile ilgili olan 5 gözlemi ile (1,4) kümesi birleştirilecektir. Elde edilen (1,4,5) kümesi ile (2,3) kümesi arasındaki uzaklığı belirlemek için kümeler içindeki her bir değeri eşliyoruz ve aralarında en büyük olanı belirliyoruz. En büyük uzaklık 8.60 olduğuna göre söz konusu iki küme arasındaki uzaklık olarak bu değer belirlenmiş olur. Şekil 6.14 Yeni uzaklık değerini de içeren uzaklıklar tablosu şu şekildedir: Gözlemler (1,4,5) (2,3) (1,4,5) (2,3) 8.60 Tablo 6.14: Uzaklıklar tablosu Adım 5 Elde edilen iki küme birleştirilerek sonuç küme elde edilir. Bu küme (1,2,3,4,5) gözlemlerinden oluşan kümedir. Uzaklık düzeyi göz önüne alınarak kümeler şu şekilde belirlenmiştir: Uzaklık Kümeler 1.41 (1,4) 1.41 (2,3) 2.24 (1,4,5) 8.60 (1,2,3,4,5) TABLO-6.15 Kümeleme ile ilgili dentogram ve kümeler ise aşağıda belirtildiği biçimdedir.

94 6.4. Hiyerarşik Olmayan Kümeleme: k-ortalamalar Yöntemi Hiyerarşik olmayan kümeleme yöntemleri arasında k-ortalamalar (k-mean) yöntemi önem taşır ve yaygın biçimde kullanılır. Bu yöntemde, daha başlangıçta belli sayıdaki küme içim toplam ortalama hatayı minimize etmek amaçlanır. N boyutlu uzayda N örnekli kümlerin verildiğini varsayalım. Bu uzay {C1,C2,...,Ck} biçiminde K kümeye ayrılsın. O zaman nk=n (k=1,2,..,k) olmak üzere Ck kümesinin ortalama vektörü Mk şu şekilde hesaplanır: Burada Xk değeri Ck kümesine ait olan i. örnektir. Ck kümesi için kareli-hata, her bir Ck örneği ile onun merkezi (centroid) arasındaki Öklid uzaklıkları toplamıdır. Bu hataya küme içi değişme adı da verilir. Küme içi değişmeler şu şekilde hesaplanır: K kümesini içeren bütün kümeler uzayı için kare-hata, küme içindeki değişmelerin toplamıdır. O halde söz konusu kare-hata değeri şu şekilde hesaplanır: Kare-hata kümeleme yönteminin amacı, verilen K değeri için E 2 kdeğerini minimize eden K kümesini içeren bir bölgeyi bulmaktır Algoritma K-ortalama algoritmasına başlamadan önce, k küme sayısının belirlenmesi gerekir. Söz konusu k değeri belirlendikten sonra her bir kümeye gözlem değerleri atanır ve böylece C1,C2,...,Ck kümeleri belirlenmiş olur. Ardından aşağıdaki işlemler gerçekleştirilir:

95 Uygulama 3 Aşağıdaki gözlem değerlerini göz önüne alalım. Bu gözlem değerlerine k-ortalamalar yöntemini uygulayarak kümelemek istiyoruz. Kümelerin sayısına başlangıçta k=2 biçiminde karar veriyoruz. Başlangıçta tesadüfi olarak aşağıdaki iki kümeyi belirliyoruz: C1={X1,X2,X4} C2={X3,X5} Bu kümeleri de içeren gözlem değerlerini aşağıdaki tablo üzerinde topluca gösteriyoruz. Gözlemler Değişken1 Değişken2 Küme üyeliği X1 4 2 C1 X2 6 4 C1 X3 5 1 C2 X C1 X C2 TABLO- 6.17: Gözlem değerleri.

96 Adım 1 a) Bir önceki sayfada belirtilen iki kümenin merkezleri şu şekilde hesaplanır: Bu durumda toplam kare-hata şu şekilde hesaplanır: E2=e 2 1+e 2 2 = = c) M1 ve M2 merkezlerinden olan uzaklıkların minimum olması istendiğinden aşağıdaki hesaplamalar yapılır. Öklid uzaklık formülü kullanılarak söz konusu mesafeler hesaplanır. Örneğin (M1,X1) noktaları arasındaki uzaklık, M1= {6.67,4.00 } ve X1={4,2} olduğuna göre şu şekilde hesaplanır: Yukarıdaki işlemlerden şu anlaşılıyor: X1 gözlem değerinin M1 ve M2 merkezlerine olan uzaklıkları göz önüne alındığında d(m1,x1)<d(m2,x1) olduğu görülür. Bu durumda M1 merkezinin X1 gözlem değerine daha yakın olduğu anlaşılır. O halde X1 C1 olarak kabul edilir. Benzer biçimde yukarıdaki işlemler tüm gözlem değerleri için tekrarlanarak aşağıdaki tablo elde edilir. Gözlemler M1 den uzaklık M2 den uzaklık Küme üyeliği X1 d(m1,x1)=3.33 d(m2,x1)=4.72 C1 X2 d(m1,x2)=0.67 d(m2,x2)=2.06 C1 X3 d(m1,x3)=3.43 d(m2,x3)=4.61 C1 X4 d(m1,x4)=3.89 d(m2,x4)=2.50 C2 X5 d(m1,x5)=5.90 d(m2,x5)=4.61 C2 Tablo 6.18 Bu durumda yeni kümeler şu şekilde olacaktır : C1={X1,X2,X3}

97 C2={X4,X5} Adım 2 a) Bir önceki sayfada belirtilen iki kümenin merkezleri şu şekilde hesaplanır: Bu durumda toplam kare-hata şu şekilde hesaplanır: E2=e 2 1+e 2 2 = = c) M1 ve M2 ve merkezlerinden gözlem değerlerine olan uzaklıklar hesaplanır. X1 gözlem değerinin M1 ve M2 merkezlerine olan uzaklıkları göz önüne alındığında d(m1,x1)<d(m2,x1) olduğu görülür. Bu durumda M1 merkezinin X1 gözlem değerine daha yakın olduğu anlaşılır. O halde X1 C1 olarak kabul edilir. Benzer biçimde yukarıdaki işlemler tüm gözlem değerleri için tekrarlanarak aşağıdaki tablo elde edilir. Gözlemler M1 den uzaklık M2 den uzaklık Küme üyeliği X1 d(m1,x1)=1.05 d(m2,x1)=8.20 C1 X2 d(m1,x2)=1.94 d(m2,x2)=5.41 C1 X3 d(m1,x3)=1.33 d(m2,x3)=8.14 C1 X4 d(m1,x4)=6.20 d(m2,x4)=1.12 C2 X5 d(m1,x5)=8.25 d(m2,x5)=1.12 C2 Tablo 6.19 Bu durumda yeni kümeler şu şekilde olacaktır: C1={X1,X2,X3} C2={X4,X5} Adım 3 Bu durumda yeni kümeler şu şekilde olacaktır: C1={X1,X2,X3} C2={X4,X5}

98 Şekil 6.18: Sonuç olarak elde edilen kümeler BÖLÜM 7 BİRLİKTELİK KURALLARI Bölüm Hedefi Bir arada gerçekleşen olayları ele alarak çözümleyen veri madenciliği yöntemlerine birliktelik kuralları adı verilmektedir. Bu yöntem özellikle pazarlama çözümlemelerinde ve sepet çözümlemlemeleri adıyla bilinmektedir. Bir satış mağazasında müşterilerin aynı anda satın aldıkları ürün sepeti birliktelik kuralları algoritmaları ile çözümlenerek müşterilerin harcama eğilimleri ortaya konumaktadır Giriş Bir arada gerçekleşen olayları çözümlemek ve bu tür olayları çözümlemek veri madenciliğinin kapsamı içine girmektedir. Örneğin bir mağazadan gömlek alan müşterilerin %55 inin aynı alışverişte kravat satın aldıklarını söylemek, bu birlikte gerçekleşen olaylara örnek olarak verilebilir. Bu tür bilgiler özellikle mağaza işletmecileri açısından değerli bilgi olarak göz önüne alınır. Mağaza yöneticileri söz konusu ürünleri mağaza içinde birbirine yakın raflara yerleştirerek müşterilerin bu tür satın alma eğilimlerini değerlendirebilir ve satışların artmasını sağlayabilir. Olayların birlikte gerçekleşme durumlarını çözümleyen veri madenciliği yöntemlerine birliktelik kuralları(association rules) adı verilmektedir.bu yöntemler, birlikte olma kurallarını belirli olasılıklara ortaya koyar. Bu ders kapsamında birliktelik ile ilgili genel kavramları ve bir algoritmayı ele alarak inceleyeceğiz Destek ve Güven Ölçütleri Birliktelik çözümlemelerinin en yaygın uygulaması perakende satışlarda müşterilerin satın alma eğilimlerini belirlemek amacıyla yapılmaktadır. Müşterilerin bir anda satın aldığı tüm ürünleri ele alarak satın alma eğilimini ortaya koyan uygulamalara pazar sepet çözümlemesi adı verilmektedir. Birliktelik çözümlemelerinde, örneğin pazar sepet çözümlemelerinde satılan ürünler arasındaki ilişkileri ortaya koymak için destek ve güven gibi iki ölçütten yararlanılır. Bu ölçütlerin hesaplanmasında destek sayısı adı verilen bir değer kullanılır. Kural destek ölçütü bir ilişkinin tüm alışverişler içinde hangi oranda tekrarlandığını belirler. Güven ölçütü ise, A ürün grubunu alan müşterilerin B ürün grubunu da alma olasılığını ortaya koyar. A ürün grubunu alanların B ürün grubunu da alma durumu, yani birliktelik kuralı A --> B biçiminde gösterilir. Bu durumda kural destek ölçütü şu şekilde ifade edilebilir:

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

PAPATYA YAYINCILIK EĞİTİM Bilgisayar Sis. San. ve Tic. A.Ş. Veri Madenciliği Yöntemleri Dr. Yalçın ÖZKAN -II-

PAPATYA YAYINCILIK EĞİTİM Bilgisayar Sis. San. ve Tic. A.Ş. Veri Madenciliği Yöntemleri Dr. Yalçın ÖZKAN -II- Dr. Yalçın ÖZKAN Dr. Yalçın ÖZKAN PAPATYA YAYINCILIK EĞİTİM Bilgisayar Sis. San. ve Tic. A.Ş. Ankara Caddesi, Prof. Fahreddin Kerim Gökay Vakfı İşhanı Girişi, No: 11/3, Cağaloğlu (Fatih)/İstanbul Tel

Detaylı

Öğr.Gör.İnan ÜNAL Tunceli Üniversitesi Bilgisayar Mühendisliği Bölümü

Öğr.Gör.İnan ÜNAL Tunceli Üniversitesi Bilgisayar Mühendisliği Bölümü Öğr.Gör.İnan ÜNAL Tunceli Üniversitesi Bilgisayar Mühendisliği Bölümü Büyük miktardaki veriler içerisinden önemli olanlarını bulup çıkarmaya veri Madenciliği denir. Veri madenciliği bir sorgulama işlemi

Detaylı

İş Zekâsı Sistemi Projesi

İş Zekâsı Sistemi Projesi BI İş Zekâsı Sistemi Projesi Ulaş Kula, Bilişim Ltd. Esinkap 5. Ar-Ge Proje Pazarı 31 Mayıs 2012 Bilişim Ltd. 1985 te kurulan Bilişim Ltd, Türkiye nin üstün başarıyla sonuçlanmış önemli projelerine imza

Detaylı

VERİ MADENCİLİĞİ önemsiz olmayan, gizli, önceden bilinmeyen, potansiyel olarak kullanışlı

VERİ MADENCİLİĞİ önemsiz olmayan, gizli, önceden bilinmeyen, potansiyel olarak kullanışlı Veri Madenciliği, örüntü tanıma, istatistik ve matematiksel yöntemlerin kullanımıyla devasa miktardaki güncel ya da geçmiş veri içerisinden ilgi çekici ( önemsiz olmayan, gizli, önceden bilinmeyen, potansiyel

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

Veritabanı Uygulamaları Tasarımı

Veritabanı Uygulamaları Tasarımı Veritabanı Uygulamaları Tasarımı Veri Tabanı Veritabanı yada ingilizce database kavramı, verilerin belirli bir düzene göre depolandığı sistemlere verilen genel bir isimdir. Günümüzde özel veya kamu kuruluşların

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Sınıflandırma yöntemleri Karar ağaçları ile sınıflandırma Entropi Kavramı ID3 Algoritması C4.5

Detaylı

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri VERİ KAYNAKLARI YÖNETİMİ İ İ 5. ÜNİTE GİRİŞ Bilgi sisteminin öğelerinden biride veri yönetimidir. Geleneksel yada çağdaş, birinci yada ikinci elden derlenen veriler amaca uygun veri formlarında tutulur.

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 3

Veri Tabanı Yönetim Sistemleri Bölüm - 3 Veri Tabanı Yönetim Sistemleri Bölüm - 3 İçerik Web Tabanlı Veri Tabanı Sistemleri.! MySQL.! PhpMyAdmin.! Web tabanlı bir veritabanı tasarımı. R. Orçun Madran!2 Web Tabanlı Veritabanı Yönetim Sistemleri

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI Dersin Hedefleri Veri Tabanı Kullanıcıları Veri Modelleri Veri Tabanı Tasarımı İlişkisel VT Kavramsal Tasarımı (Entity- Relationship, ER) Modeli VT KULLANICILARI

Detaylı

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Kümeleme İşlemleri Kümeleme Tanımı Kümeleme Uygulamaları Kümeleme Yöntemleri Kümeleme (Clustering) Kümeleme birbirine

Detaylı

bilişim ltd İş Zekâsı Sistemi

bilişim ltd İş Zekâsı Sistemi BI İş Zekâsı Sistemi Bilişim Ltd. 1985 te kurulan Bilişim Ltd, Türkiye nin üstün başarıyla sonuçlanmış önemli projelerine imza atan öncü bir yazılımevi ve danışmanlık kurumu dur. Önemli kuruluşların bilgi

Detaylı

Veri Ambarları. Erdem Alparslan

Veri Ambarları. Erdem Alparslan Veri Ambarları Erdem Alparslan İçerik Veri Ambarı nedir? Data Mart OLTP ve Veri Ambarı arasındaki farklar Veri Ambarının Yararları Veri Ambarı Mimarileri Ana Kavramlar Araçlar ve Teknolojiler Veri Ambarı

Detaylı

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,

Detaylı

Veritabanı, Veri Madenciliği, Veri Ambarı, Veri Pazarı

Veritabanı, Veri Madenciliği, Veri Ambarı, Veri Pazarı Veritabanı, Veri Madenciliği, Veri Ambarı, Veri Pazarı Başkent Üniversitesi Bilgisayar Mühendisliği Yönetim Bilişim Sistemleri (Bil 483) 20394676 - Ümit Burak USGURLU Veritabanı Veri tabanı düzenli bilgiler

Detaylı

Veri Madenciliği Süreci

Veri Madenciliği Süreci Veri Madenciliği Eda Coşlu Mehmet Akif Ersoy Üniversitesi, Yönetim Bilişim Sistemleri Bölümü, BURDUR edacoslu@hotmail.com Büyük miktardaki veriler içerisinden önemli olanlarını bulup çıkarmaya Veri Madenciliği

Detaylı

VERİ MADENCİLİĞİNE BAKIŞ

VERİ MADENCİLİĞİNE BAKIŞ VERİ MADENCİLİĞİNE BAKIŞ İçerik Veri Madenciliği Neden Veri Madenciliği? Veri ve Veri Madenciliğinin Önemi Günümüzde Kullanılan Veri Madenciliğinin Çeşitli İsimleri Veri Madenciliği Nedir? Neden Veri Madenciliği?

Detaylı

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş -1- Dr. Serkan DİŞLİTAŞ 1.1. Veri ve Bilgi (Data & Information) Hesaplama, saklama gibi çeşitli işlemler amacıyla bilgisayara verilen sayı, yazı, resim, ses,

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Konular Veritabanı Tasarım Aşamaları Veri Modeli Nedir? Veri Modeli Temel Bileşenleri İş Kuralları (Business Rules) İş Kurallarını Veri

Detaylı

Muhasebe Bilgi Sisteminin Temel Yapısı. Bilgi Sistemleri Muhasebe Bilgi Sisteminin Niteliği ve İçeriği

Muhasebe Bilgi Sisteminin Temel Yapısı. Bilgi Sistemleri Muhasebe Bilgi Sisteminin Niteliği ve İçeriği Muhasebe Bilgi Sisteminin Temel Yapısı Bilgi Sistemleri Muhasebe Bilgi Sisteminin Niteliği ve İçeriği Bilgi Sistemleri Yönetim Bilgi Sistemleri Para, insangücü, malzeme, makine, teknoloji ve bilgi gibi

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ ÖĞR.GÖR.VOLKAN ALTINTAŞ 26.9.2016 Veri Tabanı Nedir? Birbiriyle ilişkisi olan verilerin tutulduğu, Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun, Mantıksal

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İçerik Dosya Organizasyonu (File Organization) Veritabanı Sistemleri (Database Systems) BM307 Dosya Organizasyonu (File Organization) İçerik Dosya

Detaylı

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 1 Access e Nasıl Ulaşılır Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 2 Çeşitli araç çubukları arasında seçim yapılarak pencere üzerine eklenebilir. Bunun

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş BIM 312 Database Management Systems Veritabanı Kavramına Giriş Veritabanı Nedir? Veritabanı, birbirleriyle ilişkili verilerin hızlı ve verimli bir şekilde ulaşılmasına olanak verecek biçimde saklanmasıyla

Detaylı

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi Veri Tabanı - 1 2. Hafta Dersi Dersin Hedefleri Geleneksel Dosya Sistemleri Veri Tabanı Kavramları Veri Tabanı Yönetim Sistemleri Veri Modelleri Veri nedir? Bilgisayarlarda veri nasıl saklanır? Bilgisayarlardaki

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-I Veri Nedir? Bilgisayarların yaygınlaşması ile birlikte bir çok verinin saklanması gerekli hale

Detaylı

İLİŞKİSEL VERİTABANLARI

İLİŞKİSEL VERİTABANLARI İLİŞKİSEL VERİTABANLARI Veritabanı Nedir? Veritabanı (database) en basit şekliyle verilerin belirli bir düzene göre tutulduğu, depolandığı bir sistemdir. İlişkisel Veritabanı Nedir? İlişkisel veritabanlarındaki

Detaylı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan

Detaylı

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri Konular Büyük Resim Ders Tanıtımı Niçin Veritabanı? Veri ve Bilgi Kavramları Klasik Dosya Yapıları Klasik Dosya Sistemlerinin Zayıflıkarı

Detaylı

VERİ TABANI YÖNETİMİ. Yrd.Doç.Dr. Füsun BALIK ŞANLI 2013-2014 YTÜ

VERİ TABANI YÖNETİMİ. Yrd.Doç.Dr. Füsun BALIK ŞANLI 2013-2014 YTÜ VERİ TABANI YÖNETİMİ Yrd.Doç.Dr. Füsun BALIK ŞANLI 2013-2014 YTÜ Ders Düzeni Ders Uygulama Ödev Sınavlar 1. Ara Sınav 2. Ara Sınav Yıl Sonu Sınavı Sınavlar 2 Başarı Kriterleri Yıliçi başarı notu: (2 Yıliçi

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 7

Veri Tabanı Yönetim Sistemleri Bölüm - 7 Veri Tabanı Yönetim Sistemleri Bölüm - 7 İçerik Alt Sorgular Çoklu Tablolar (Tabloların Birleştirilmesi) Görünümler R. Orçun Madran 2 Alt Sorgular Uygulamada, bir sorgudan elde edilen sonuç, bir diğer

Detaylı

Dövizli Kullanım LOGO KASIM 2011

Dövizli Kullanım LOGO KASIM 2011 Dövizli Kullanım LOGO KASIM 2011 İçindekiler Dövizli Kullanım... 3 Kavramlar... 3 Döviz Türleri... 4 Satır bilgilerinin silinmesi... 4 Tüm tablonun silinmesi... 4 Sistemde yer alan ilk tanımlara ulaşım...

Detaylı

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ 127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ Veri Madenciliği : Bir sistemin veri madenciliği sistemi olabilmesi

Detaylı

Yazılım Mühendisliği Bölüm - 3 Planlama

Yazılım Mühendisliği Bölüm - 3 Planlama 1 Yazılım Mühendisliği Bölüm - 3 Planlama 2 3 4 Planlama 5 Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında

Detaylı

VERI TABANLARıNDA BILGI KEŞFI

VERI TABANLARıNDA BILGI KEŞFI 1 VERİ MADENCİLİĞİ VERI TABANLARıNDA BILGI KEŞFI Veri Tabanlarında Bilgi Keşfi, veriden faydalı bilginin keşfedilmesi sürecinin tamamına atıfta bulunmakta ve veri madenciliği bu sürecin bir adımına karşılık

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ

BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ Bilgi sistemi kavramı genellikle işletmelere yönelik olarak kullanılmaktadır. Bu yönüyle bilgi sisteminin amacını; yöneticilere teslim edilen ekonomik kaynakların kullanımına

Detaylı

İş Zekası Sistemi Veriyi Stratejik Bilgiye Dönüştürür

İş Zekası Sistemi Veriyi Stratejik Bilgiye Dönüştürür İş Zekası Sistemi İş Zekası Sistemi İş Zekâsı Sistemi kolay kullanılır, zengin raporlama ve çözümleme yeteneklerine sahip, farklı veri kaynaklarını birleştirir, yöneticilere çok boyutlu, kurumsal bir görüş

Detaylı

Veri Madenciliği. Veri madenciliği uygulamalarında alt yapı gereksinimi veri ambarı sayesinde sağlanır.

Veri Madenciliği. Veri madenciliği uygulamalarında alt yapı gereksinimi veri ambarı sayesinde sağlanır. Veri Madenciliği Büyük miktardaki veriler içerisinden önemli olanlarını bulup çıkarmaya Veri Madenciliği denir. Veriler üzerinde çözümlemeler yapmak amacıyla ve veriyi çözümleyip bilgiye ulaşabilmek için

Detaylı

PAZARLAMA ARAŞTIRMA SÜRECİ

PAZARLAMA ARAŞTIRMA SÜRECİ PAZARLAMA ARAŞTIRMA SÜRECİ Pazarlama araştırması yapılırken belirli bir sıra izlenir. Araştırmada her aşama, birbirinden bağımsız olmayıp biri diğeri ile ilişkilidir. Araştırma sürecinde başlıca aşağıdaki

Detaylı

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI VERİ TABANI YÖNETİM SİSTEMLERİ HASTANE OTOMASYONU Öğr. Gör. Handan ÇETİNKAYA İstanbul Gelişim Üniversitesi Günümüzde en basitinden en karmaşığına kadar pek çok veritabanı mevcuttur. En basiti Microsoft

Detaylı

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi Hedefler Veritabanı Yönetimi Bilgisayarların Discovering Keşfi 2010 Computers 2010 Living in a Digital World Dijital Dünyada Yaşamak Veritabanı terimini tanımlamak ve bir veritabanının veri ve bilgi ile

Detaylı

VERİTABANI Veritabanı Normalizasyonu

VERİTABANI Veritabanı Normalizasyonu VERİTABANI Veritabanı Normalizasyonu NORMALİZASYON NEDİR? Normalizasyon kısaca veritabanında bulunan verileri düzenleme süreci olarak ifade edilebilir. Normalizasyon sürecinde veritabanlarında çok fazla

Detaylı

KATEGORİ MİZANI BAŞLARKEN KATEGORİ NEDİR? NEDEN N İHTİYAÇ DUYULUR?

KATEGORİ MİZANI BAŞLARKEN KATEGORİ NEDİR? NEDEN N İHTİYAÇ DUYULUR? KATEGORİ MİZANI Doküman Kodu : RNT-02 Açıklama : Vio Kategori Mizanı Kullanımı Kapsam : Vio Nitelikleri Revizyon No : 2 Yayın Tarihi : Aralık 2012 BAŞLARKEN SKOR YAZILIM tarafından geliştirilen ticari

Detaylı

VERİ MADENCİLİĞİ (Veri Önişleme-1) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Veri Önişleme-1) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Veri Önişleme-1) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr Genel İçerik Veri Madenciliğine Giriş Veri Madenciliğinin Adımları Veri Madenciliği Yöntemleri Sınıflandırma Kümeleme

Detaylı

Uzaktan Algılama Uygulamaları

Uzaktan Algılama Uygulamaları Aksaray Üniversitesi Uzaktan Algılama Uygulamaları Doç.Dr. Semih EKERCİN Harita Mühendisliği Bölümü sekercin@aksaray.edu.tr 2010-2011 Bahar Yarıyılı Uzaktan Algılama Uygulamaları GÖRÜNTÜ İŞLEME TEKNİKLERİ

Detaylı

Başlıca Ürün-Bilgi Sistemleri

Başlıca Ürün-Bilgi Sistemleri BİLGİ SİSTEMLERİ Başlıca Ürün-Bilgi Sistemleri Süreç İşleme Sistemleri, Ofis Otomasyon Sistemleri ve Bilgi İşleme Sistemleri, Yönetim Bilişim Sistemleri, Karar Destek Sistemleri, Uzman Sistemler ve Yapay

Detaylı

Birliktelik Kuralları Analizi. Yard. Doç. Dr. Derya BİRANT Prof. Dr. Alp KUT

Birliktelik Kuralları Analizi. Yard. Doç. Dr. Derya BİRANT Prof. Dr. Alp KUT İş Zekası Çözümleri için i Çok Boyutlu Birliktelik Kuralları Analizi Yard. Doç. Dr. Derya BİRANT Prof. Dr. Alp KUT İçerik 1 Veri Madenciliği 2 Birliktelik Kuralları Analizi 3 Uygulama 4 Algoritma 5 Sonuçlar

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 18.04.2011 1 DİSK DOSYALARI İLE ÇALIŞMA DOSYALARIN AÇILMASI C programlama dilinde bir dosyayı kullanabilmek için, öncelikle o dosyanın açılması gerekmektedir. Hem okuma hem de yazma

Detaylı

VERİTABANI ORGANİZASYONU

VERİTABANI ORGANİZASYONU VERİTABANI ORGANİZASYONU Veri nedir? Olgu, kavram ya da komutların, iletişim, yorum ve işlem için elverişli biçimsel gösterimidir. Veriler ölçüm, sayım, deney, gözlem ya da araştırma yolu ile elde edilmektedir.

Detaylı

Veri Tabanı, Veri Ambarı, Veri Madenciliği. Veri Madenciliği Uygulama Alanları

Veri Tabanı, Veri Ambarı, Veri Madenciliği. Veri Madenciliği Uygulama Alanları 1 Veri Tabanı, Veri Ambarı, Veri Madenciliği Bilgi Keşfi Aşamaları Apriori Algoritması Veri Madenciliği Yöntemleri Problemler Veri Madenciliği Uygulama Alanları 2 Bir bilgisayarda sistematik şekilde saklanmış,

Detaylı

İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ

İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi Harun Gökçe EG Yazılım, TOBB ETÜ İçerik İş Zekası Kavramı Tarihçesi İş Zekası Tanım, Kavramlar ve Gereklilik Dört-Katmanlı Veri Modellemesi

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI V. Ünite VERİ TABANI UYGULAMALARI A. BAŞLANGIÇ B. BİR VERİ TABANI YARATMA C. FORMLARIN KULLANIMI D. BİLGİYE ERİŞİM E. RAPORLAMA 127 A BAŞLANGIÇ Konuya Hazırlık 1. Veri tabanı programları hangi amaç için

Detaylı

İLİŞKİSEL VERİTABANI. İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır.

İLİŞKİSEL VERİTABANI. İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır. İLİŞKİSEL VERİTABANI İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır. İlişkiler genellikle, her iki tablonun aynı adlı alanları olan, anahtar alanlardaki verilerin

Detaylı

BAŞAK ÇOBAN MERVE SARITAŞ AZİME AKÇAÖZ BÜŞRA AYDEMİR

BAŞAK ÇOBAN MERVE SARITAŞ AZİME AKÇAÖZ BÜŞRA AYDEMİR VERİ MADENCİLİĞİ İSİMLER BAŞAK ÇOBAN MERVE SARITAŞ AZİME AKÇAÖZ BÜŞRA AYDEMİR MOLEKÜLER BİYOLOJİ ve GENETİK GEBZE TEKNİK ÜNİVERSİTESİ ARALIK 2015 İçindekiler ÖZET... iii 1.GİRİŞ... 1 1.1 Veri Ambarı, Veri

Detaylı

VERİ MADENCİLİĞİ. Karar Ağacı Algoritmaları: SPRINT algoritması Öğr.Gör.İnan ÜNAL

VERİ MADENCİLİĞİ. Karar Ağacı Algoritmaları: SPRINT algoritması Öğr.Gör.İnan ÜNAL VERİ MADENCİLİĞİ Karar Ağacı Algoritmaları: SPRINT algoritması Öğr.Gör.İnan ÜNAL SPRINT Algoritması ID3,CART, ve C4.5 gibi algoritmalar önce derinlik ilkesine göre çalışırlar ve en iyi dallara ayırma kriterine

Detaylı

ÖNSÖZ ŞEKİL LİSTESİ TABLO LİSTESİ

ÖNSÖZ ŞEKİL LİSTESİ TABLO LİSTESİ İÇİNDEKİLER ÖNSÖZ ii ŞEKİL LİSTESİ v TABLO LİSTESİ vii ÖZET viii SUMMARY ix BÖLÜM 1. GİRİŞ 1 1.1. YÜKLENİCİ FİRMALARDA İNŞAAT EKİPMANI YÖNETİMİ PROBLEMİNİN ÖNEMİ 1 1.2. PROBLEMİN TANIMLANMASI 3 1.3. YÜKLENİCİ

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI VERİ TABANI UYGULAMALARI VERİ TABANI NEDİR? Bir konuyla ilgili çok sayıda verinin tutulmasına, depolanmasına ve belli bir mantık içerisinde gruplara ayrılmasına veri tabanı denir. Veri tabanı programları;

Detaylı

FİNANSAL YÖNETİM. Finansal Planlama Nedir?

FİNANSAL YÖNETİM. Finansal Planlama Nedir? FİNANSAL YÖNETİM FİNANSAL PLANLAMA Yrd.Doç.Dr. Serkan ÇANKAYA Finansal analiz işletmenin geçmişe dönük verilerine dayanmaktaydı ancak finansal planlama ise geleceğe yönelik hareket biçimini belirlemeyi

Detaylı

YÖNETİM BİLGİ SİSTEMLERİ İŞLETME ZEKASININ TEMELLERİ VERİTABANI VE BİLGİ YÖNETİMİ

YÖNETİM BİLGİ SİSTEMLERİ İŞLETME ZEKASININ TEMELLERİ VERİTABANI VE BİLGİ YÖNETİMİ YÖNETİM BİLGİ SİSTEMLERİ İŞLETME ZEKASININ TEMELLERİ VERİTABANI VE BİLGİ YÖNETİMİ GELENEKSEL DOSYA ORTAMINDA VERİLERİN ORGANİZASYONU Etkin bir bilgi sistemi kullanıcılarına doğru, zamanlı ve amaca uygun

Detaylı

Koordinat Dönüşümleri (V )

Koordinat Dönüşümleri (V ) KOORDİNAT DÖNÜŞÜMLERİ ve FARKLI KOORDİNAT SİSTEMLERİ İLE ÇALIŞMA FieldGenius ile birden fazla koordinat sistemi arasında geçiş yaparak çalışmak mümkündür. Yaygın olarak kullanılan masaüstü harita ve CAD

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Celal Çeken Veysel Harun Şahin Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Konular Veritabanı Tasarımı Yaşam Döngüsü Veri Modeli Nedir? Veri Modeli Temel Bileşenleri

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri-

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri- SİSTEM ANALİZİ VE TASARIMI Sistem Analizi -Bilgi Sistemleri- Bilgi Sistemi Bilgi sistemi, karar vericiler için verileri işleyerek bilgi sağlayan çoğunlukla bilgisayara dayalı sistemlerdir. Bilgi sistemi

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

İSTATİSTİKSEL PROSES KONTROLÜ

İSTATİSTİKSEL PROSES KONTROLÜ İSTATİSTİKSEL PROSES KONTROLÜ ZTM 433 KALİTE KONTROL VE STANDARDİZASYON PROF: DR: AHMET ÇOLAK İstatistiksel işlem kontrolü (İPK), işlemle çeşitli istatistiksel metotların ve analiz sapmalarının kullanımını

Detaylı

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını

Detaylı

3. sınıf. Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste

3. sınıf. Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste 3. sınıf 5. Yarıyıl (Güz Dönemi) Bilgi Kaynaklarının Tanımlanması ve Erişimi I (AKTS 5) 3 saat Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste Kütüphane Otomasyon

Detaylı

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli Veritabanı Tasarımı Ve Yönetimi Varlık-İlişki Modeli Veritabanı Tasarım Aşamaları Gereksinim Analizi Kavramsal Tasarım Mantıksal Tasarım İlişkilerin Normalizasyonu Veritabanı Uyarlaması Uygulama Programı

Detaylı

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 09 Bilişim ve Karar Destek Sistemleri Prensipler ve Öğrenme Hedefleri İyi karar-verme ve problem çözme yetenekleri etkin bilişim ve

Detaylı

Karar Destek Sistemleri

Karar Destek Sistemleri Karar Destek Sistemleri Şirketler gün geçtikçe daha fazla veri toplamaktadırlar. Ve bu veri dağları içerisinde veri avına çıkmaktaırlar. Bu işlemleri kolaylaştırmak amacıyla bazı bilgisayar tabanlı sistemler

Detaylı

AĞ İŞLETMENİ PROGRAMINA İLİŞKİN AÇIKLAMALAR

AĞ İŞLETMENİ PROGRAMINA İLİŞKİN AÇIKLAMALAR AĞ İŞLETMENİ PROGRAMINA İLİŞKİN AÇIKLAMALAR ALAN : BİLİŞİM TEKNOLOJİLERİ MESLEK : AĞ İŞLETMENİ MESLEK SEVİYESİ : 4 SEVİYE MESLEK ELEMANI TANIMI Bilgisayar sistemlerinin donanım ve yazılım kurulumu, ağ

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

MONTE CARLO BENZETİMİ

MONTE CARLO BENZETİMİ MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle

Detaylı

Mesleki Terminoloji II Veri Madenciliği

Mesleki Terminoloji II Veri Madenciliği Mesleki Terminoloji II Veri Madenciliği Burak Düşün - 14011055 Akif Berkay Gürcan - 14011023 Veri Madenciliği Nedir? Veri madenciliği, büyük miktarda verinin anlamlı örüntüler bulmak amacıyla otomatik

Detaylı

VERİ MADENCİLİĞİ F A T M A İ L H A N

VERİ MADENCİLİĞİ F A T M A İ L H A N VERİ MADENCİLİĞİ F A T M A İ L H A N Veri Madenciliği Nedir? Veri madenciliği büyük miktarda veri içinden gelecekle ilgili tahmin yapmamızı sağlayacak bağıntı ve kuralların bilgisayar programı kullanılarak

Detaylı

10-Veri Tabanları. www.cengizcetin.net

10-Veri Tabanları. www.cengizcetin.net 10-Veri Tabanları 1 VERİ TABANI VERİTABANI (DATABASE) Birbiri ile ilişkili bir veya daha fazla tablodan oluşan bilgi topluluğudur. Veri tabanındaki tablolara ulaşılarak sorgulama yapılır ve istenilen bilgiler

Detaylı

Tekrar. Veritabanı 2

Tekrar. Veritabanı 2 Tekrar Veritabanı 2 Veritabanı Nedir? Veritabanı ortaya çıkış hikayesi Saklanan ve işlenen veri miktarındaki artış Veri tabanı olmayan sistemin verilerinin kalıcı olmaması. Veritabanı; tanım olarak herhangi

Detaylı

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık Veri Kaynaklar Veri Tabanı Sistemleri, 2. basım Prof. Dr. Ünal YARIMAĞAN, 2010, Akademi Yayınevi Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık Veritabanı ve Uygulamaları

Detaylı

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri Coğrafi Bilgi Sistemlerine Giriş Ünite 5 - Veri Tabanı Yönetim Sistemleri İçerik Temel kavramlar Veri tabanı modelleri Normalizasyon Coğrafi Bilgi Sistemlerinde veri tabanı yönetimi Temel kavramlar Veri

Detaylı

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ NESNEYE YÖNELİK ÇÖZÜMLEMENİN TEMELLERİ Çözümleme: Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan ve üst düzey planlama eylemlerinden oluşur. Uygulama/problem alanının

Detaylı

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI İÇİNDEKİLER 1. GİRİŞ 1.1. KAPSAM 1.2. SİSTEM ÖZETİ 1.3. DOKÜMAN ÖZETİ 2. ÇALIŞMA KONSEPTİ 2.1. Yeni Kullanıcı Oluşturmak 2.2. Şirket Bilgilerini

Detaylı

Sihirbaz Kullanarak Sorgu Oluştur : Sihirbaz sorguyu hazırlayan kişiye sorular sorar ve yanıtlarına göre sorgu oluşturur.

Sihirbaz Kullanarak Sorgu Oluştur : Sihirbaz sorguyu hazırlayan kişiye sorular sorar ve yanıtlarına göre sorgu oluşturur. BÖLÜM17 3. SORGULAR Access Veritabanında sorgu; tablolara yazılan bilgilerin hepsinin veya istenilen (belirlenen) şarta uyanlarının bulunmasıdır. Örneğin Tıp Fakültesinde okuyan öğrenciler gibi. Sorguları

Detaylı

Yaz.Müh.Ders Notları #4 1

Yaz.Müh.Ders Notları #4 1 YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK 1 NESNEYE YÖNELİK ÇÖZÜMLEMENİN TEMELLERİ Çözümleme (Analiz): Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan

Detaylı

İLİŞKİSEL VERİ MODELİ

İLİŞKİSEL VERİ MODELİ İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim Her İlişki iki boyutlu bir tablo olarak gösterilir. Tablonun her sütununa bir nitelik atanır. Tablonun her satırı ise bir kaydı gösterir. Bilimsel kesimde daha

Detaylı

Veri Ambarları ve Veri Madenciliği (ISE 350) Ders Detayları

Veri Ambarları ve Veri Madenciliği (ISE 350) Ders Detayları Veri Ambarları ve Veri Madenciliği (ISE 350) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Uygulama Saati Saati Laboratuar Saati Kredi AKTS Veri Ambarları ve Veri Madenciliği ISE 350 Bahar 3 0 0 3 6 Ön

Detaylı

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. SİSTEM VE YAZILIM o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. o Yazılım, bilgisayar sistemlerinin bir bileşeni olarak ele alınmalıdır. o Yazılım yalnızca

Detaylı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar 2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar Öğr. Gör. Saliha Kevser KAVUNCU Veritabanı neden kullanılır? Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı

Detaylı

Tedarik Zinciri Yönetimi

Tedarik Zinciri Yönetimi Tedarik Zinciri Yönetimi -Tedarikçi Seçme Kararları- Yrd. Doç. Dr. Mert TOPOYAN Satın Alma Bir ișletme, dıșarıdan alacağı malzeme ya da hizmetlerle ilgili olarak satın alma (tedarik) fonksiyonunda beș

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli Celal Çeken Veysel Harun Şahin Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli Konular Veritabanı Tasarım Aşamaları Kavramsal Tasarım Temel Kavramlar Varlıklar Arası Bağıntılar

Detaylı

VERİ MADENCİLİĞİ (Birliktelik Kuralları) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Birliktelik Kuralları) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Birliktelik Kuralları) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Birliktelik Kurallarının Tanımı Destek ve Güven Ölçütleri Apriori Algoritması Birliktelik Kuralları (Association

Detaylı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

Konular. VERİ MADENCİLİĞİ Giriş. Problem Tanımı. Veri Madenciliği: Tarihçe. Veri Madenciliği Nedir? Bilgi Keşfi

Konular. VERİ MADENCİLİĞİ Giriş. Problem Tanımı. Veri Madenciliği: Tarihçe. Veri Madenciliği Nedir? Bilgi Keşfi VERİ MADENCİLİĞİ Giriş Yrd. Doç. Dr. Şule Gündüz Öğüdücü 1 2 Problem Tanımı Veri Madenciliği: Tarihçe teknolojinin gelişimiyle bilgisayar ortamında ve veritabanlarında tutulan veri miktarının da artması

Detaylı