Dönüşüm
VERİ MADENCİLİĞİ
Veri madenciliği, çok büyük miktardaki veriden ilgili çekici desenlerin ya da bilginin çıkarılması sürecidir. Bu noktada, veri madenciliği yerine; veri tabanlarından bilgi keşfi, bilgi çıkarma, veri/desen analizi, veri arkeolojisi, veri tarama, iş zekâsı gibi alternatif isimlendirmelerde kullanılmaktadır.
Bir veri madenciliği sürecinden elde edilen bilginin ya da desenlerin; sıradan olmayan, kesin, önceden bilinmeyen ve faydalı olması gerekmektedir. Bu noktada; basit arama ve sorgu işlemleri veri madenciliği olarak nitelendirilemez. Örneğin; bir perakendecinin son 3 ay içerisindeki Ankara bölgesindeki bayilerinin satışlarını elde etmesi bir veri madenciliği aktivitesi değildir. Bu tip, basit sorgulama işlemlerinin veri madenciliği olarak değerlendirilmesi uygulamada da sıklıkla yapılan bir hatadır.
· Problem 1: çoğu desen ilgi çekici değildir.
· Problem 2: desenler kesin değildir (ya da gerçek değildir)
· Problem 3: veri bozuk veya kayıp olabilir.
Veri madenciliği projelerinin gerçekleştirilmesinde kullanılan modellerden biri de CRISP-DM’dir (Cross Industry Standard Process Model for Data Mining). CRISP-DM, veri madenciliği projelerinin gerçekleştirileceği endüstriden ve kullanılan yazılımdan bağımsız olarak tüm dünyada yaygın olarak kullanılan bir veri madenciliği süreç modelidir.
CRISP-DM sürecinin adımlarını ortaya koymak için, örnek bir web madenciliği çatısının adımları aşağıdaki şekilde sıralanabilir.
· Veri temizleme
· Farklı kaynaklardan veri entegrasyonu
· Verinin depolanması
· Veri küpü oluşturma
· Veri madenciliği için veri seçimi
· Veri madenciliği
· Madencilik sonuçlarının sunumu
· Desenlerin ve bilginin kullanımı ya da bilgi-tabanında depolanması.
Veri Madenciliği Uygulamaları
İş dünyasında veri madenciliği birçok şekilde kullanılmakta ve birçok endüstride çok etkili olmaktadır. Örneğin; birçok parti, potansiyel oy verenlerin analizi için veri madenciliğini kullanmaktadır.
Veri madenciliği uygulamaları için üç temel örnek aşağıdaki şekilde sıralanabilir:
1. Müşteri profili: En karlı müşteri kümelerinin belirlenmesi (CRM’in önemli bir parçası).
2. Hedefleme: Rakiplerin en karlı müşterilerinin karekteristiklerini belirlemek (Müşteri kaybını azaltmada kritiktir).
3. Pazar-sepet analizi: Ürün konumlama ve çapraz satış için kullanılabilir şekilde tüketicilerin ürün satın alma birlikteliklerini belirlemek.
Veri Martı, Veri Ambarı, OLAP ve OLTP
Veri ambarı, etkin şekilde veriye ulaşmayı sağlayan büyük ölçekli bir veri depolama sistemidir. Belirli döneme ait, konu odaklı ve bütünleşik veri tabanlarıdır. Veri tabanını yormadan daha etkin sorgulama olanağı sağlamaktadır. Veri ambarlarından sadece veri okuması gerçekleştirme, veri silme ve ekleme işlemleri yapılmamaktadır.
Veri martı ise, bir veri ambarından verinin alt kümelerini oluşturmada kullanılan bir veritabanı sistemidir. Bir veri madenciliği uygulaması için kullanılabilirler.
OLAP ve OLTP kavramları ise şu şekilde açıklanabilir. OLTP (online kayıt işleme), işlemsel veritabanı üzerinden yapılan stok giriş-çıkışları, satışlar, depo girişleri ve sevkleri gibi hareketleri içermektedir. OLAP (online analitik işleme) ise veri ambarları üzerinde karar vermeye yardımcı analiz ve sorgulama işlemleridir. Bu sorgula analitiktir, örneğin; yaşı x ve geliri y olan müşterilerin hafta sonu z tutarının üzerinde harcama yapma olasılığı.
Veri madenciliğine çok boyutlu bir bakış açısı geliştirildiğinde madenlenen verinin tipine (veritabanı verisi, işlemsel veri, uzaysal veri, zaman serileri, metin verisi, web verisi, multimedya verisi, sosyal ağ verisi), kullanılan veri madenciliği fonksiyonuna (sınıflandırma, kümeleme, birliktelik, aykırılık), kullanılan tekniklere (makine öğrenmesi, istatistik, OLAP, görselleştirme) ve uygulama alanına (perakende, telekomünikasyon, bankacılık, dolandırıcılık analizi, pazar-sepet analizi, metin madenciliği, web madenciliği) göre veri madenciliği projeleri sınıflandırılabilir.
Data Mart nedir?
Bir DATA MART bir organizasyonun tek bir işlevsel alanda odaklanmış ve bir veri ambarına depolanan veri alt kümesi içerir. Bir Data Mart, Veri Ambarının yoğunlaştırılmış bir sürümüdür ve bir organizasyondaki belirli bir departman, birim veya kullanıcı grubu tarafından kullanılmak üzere tasarlanmıştır. Örneğin, Pazarlama, Satış, İK veya finans. Genellikle bir organizasyondaki tek bir departman tarafından kontrol edilir.
Data Mart, genellikle bir Veri ambarına kıyasla yalnızca birkaç kaynaktan veri alır. Veri reyonları küçük boyutludur ve bir Datawarehouse’a kıyasla daha esnektir.
Data Mart’a neden ihtiyacımız var?
- Data Mart, veri hacmindeki azalma nedeniyle kullanıcının yanıt süresini artırmaya yardımcı olur
- Sık istenen verilere kolay erişim sağlar.
- Data mart, kurumsal Datawarehouse ile karşılaştırıldığında uygulaması daha kolaydır. Aynı zamanda, Data Mart’ı uygulamanın maliyeti, tam bir veri ambarının uygulanmasına kıyasla kesinlikle daha düşüktür.
- Veri Ambarı ile karşılaştırıldığında bir veri parçası çeviktir. Modelde değişiklik olması durumunda, daha küçük olması nedeniyle datamart daha hızlı oluşturulabilir.
- Bir Datamart, tek bir Konu Datamart Uzmanı tarafından tanımlanır. Aksine veri ambarı, çeşitli alanlardan disiplinler arası KOBİ tarafından tanımlanır. Bu nedenle Data mart, Datawarehouse’a kıyasla değişime daha açıktır.
Data Mart Türü
Üç ana veri pazarı türü vardır:
Bağımlı : Bağımlı veri reyonları, doğrudan operasyonel, harici veya her iki kaynaktan veri çekilerek oluşturulur.
Bağımsız : Merkezi bir veri ambarı kullanılmadan bağımsız veri pazarı oluşturulur.
Karma : Bu tür veri reyonları, veri ambarlarından veya işletim sistemlerinden veri alabilir.
Bağımlı Data Mart
Bağımlı bir veri pazarı, kuruluşun verilerini tek bir Veri Ambarından tedarik etmeye olanak tanır. Merkezileştirmenin faydasını sunar. Bir veya daha fazla fiziksel veri reyonu geliştirmeniz gerekiyorsa, bunları bağımlı veri reyonları olarak yapılandırmanız gerekir.
Bağımsız Veri Mart
Merkezi Veri ambarı kullanılmadan bağımsız bir veri pazarı oluşturulur. Bu tür bir Data Mart, bir organizasyon içindeki daha küçük gruplar için ideal bir seçenektir.
Bağımsız bir veri reyonunun ne kurumsal veri ambarıyla ne de başka bir veri mağazasıyla ilişkisi yoktur. Bağımsız veri pazarında veriler ayrı ayrı girilir ve analizleri de bağımsız olarak gerçekleştirilir.
Hibrit Data Mart:
Karma bir veri pazarı, Veri ambarı dışındaki kaynaklardan gelen girdileri birleştirir. Bu, kuruluşa yeni bir grup veya ürün eklendikten sonra geçici entegrasyon istediğinizde yardımcı olabilir.
Birden çok veritabanı ortamı ve herhangi bir kuruluş için hızlı uygulama dönüşümü için en uygun yöntemdir.
Datamart Uygulamasında Adımlar
Bir Data Mart uygulamak, ödüllendirici ama karmaşık bir prosedürdür. Bir Data Mart uygulamak için ayrıntılı adımlar şunlardır:
Designing (Tasarım)
Tasarım, Data Mart uygulamasının ilk aşamasıdır. Gereksinimler hakkında bilgi toplamaya kadar bir veri pazarı talebini başlatmak arasındaki tüm görevleri kapsar. Son olarak, veri pazarının mantıksal ve fiziksel tasarımını oluşturuyoruz.
Tasarım aşaması aşağıdaki görevleri içerir:
- İş ve teknik gereksinimleri toplamak ve veri kaynaklarını belirlemek.
- Uygun veri alt kümesini seçme.
- Veri pazarının mantıksal ve fiziksel yapısının tasarlanması.
Constructing (İnşaat)
Bu, uygulamanın ikinci aşamasıdır. Fiziksel veri tabanını ve mantıksal yapıları oluşturmayı içerir.
Bu adım aşağıdaki görevleri içerir:
Önceki aşamada tasarlanan fiziksel veritabanının uygulanması. Örneğin tablo, indeksler, görünümler gibi veritabanı şema nesneleri oluşturulur.
Populating (Doldurma):
Üçüncü aşamada, veri martındaki veriler doldurulur.
Doldurma adımı aşağıdaki görevleri içerir:
- Veri Eşlemeyi hedeflemek için kaynak veriler
- Kaynak verilerin çıkarılması
- Veriler üzerinde temizleme ve dönüştürme işlemleri
- Data mart’a veri yükleme
Accessing (Erişim):
Erişim, verilerin kullanılmasını içeren dördüncü bir adımdır: verileri sorgulama, raporlar, grafikler oluşturma ve bunları yayınlama. Son kullanıcı veritabanına sorgu gönderir ve sorguların sonuçlarını görüntüler.
Erişim adımının aşağıdaki görevleri gerçekleştirmesi gerekir:
Veritabanı yapılarını ve nesne adlarını iş terimlerine çeviren bir meta katman oluşturun. Bu, teknik bilgisi olmayan kullanıcıların Data mart’a kolayca erişmesine yardımcı olur.
Managing (Yönetme):
Bu, Data Mart Uygulama sürecinin son adımıdır. Bu adım, aşağıdakiler gibi yönetim görevlerini kapsar:
- Devam eden kullanıcı erişim yönetimi.
- Gelişmiş performansa ulaşmak için sistem optimizasyonları ve ince ayar.
- Data Marta yeni veriler eklemek ve yönetmek.
Veri Martının Avantajları ve Dezavantajları
Avantajlar
- Veri reyonları, kuruluş çapında verilerin bir alt kümesini içerir. Bu Veriler, bir kuruluştaki belirli bir grup insan için değerlidir.
- Oluşturulması yüksek maliyetler alabilen bir veri ambarına uygun maliyetli alternatiflerdir.
- Data Mart, Verilere daha hızlı erişim sağlar.
- Data Mart, kullanıcılarının ihtiyaçları için özel olarak tasarlandığından kullanımı kolaydır. Böylece bir veri pazarı iş süreçlerini hızlandırabilir.
- Data Marts, Veri Ambarı sistemlerine kıyasla daha az uygulama süresine ihtiyaç duyar. Yalnızca verilerin tek alt kümesine konsantre olmanız gerektiğinden Data Mart’ı uygulamak daha hızlıdır.
- Analistin veri eğilimlerini belirlemesini sağlayan geçmiş verileri içerir.
Dezavantajları
- Çoğu zaman işletmeler, çok fazla fayda sağlamadan çok fazla farklı ve ilgisiz veri pazarı oluşturur. Korumak için büyük bir engel olabilir.
- Data Mart, veri kümeleri sınırlı olduğu için şirket çapında veri analizi sağlayamaz.
Bölüm Soruları
1) Veri ambarları üzerinde karar vermeye yardımcı olacak şekilde gerçekleştirilen
sorgulama işlemlerine ne ad verilmektedir?
a) Veritabanı
b) Veri Madenciliği
c) Veri Martı
d) OLTP
e) OLAP
2) (1) Modeli kullanma, (2) Veriyi anlama, (3) Modeli Değerlendirme, (4) Modelleme, (5) Veriyi Hazırlama, (6) Problemi Tanımlama olmak üzere standart bir veri madenciliği sürecinde izlenecek sıra aşağıdakilerin hangisinde doğru olarak verilmiştir?
a) 6-2-4-5-3-1
b) 6-2-5-4-3-1
c) 2-5-6-4-1-3
d) 2-6-5-3-1-4
e) 6-5-2-4-3-1
3) Veri madenciliği aşağıdaki alanların hangisi ile yakın derecede ilişkilidir?
a) İstatistik
b) Veritabanı Yönetimi
c) Algoritma Geliştirme
d) Makine Öğrenmesi
e) Hepsi
4) Bir işletme aşağıdaki çalışmalardan hangisinde veri madenciliği uygulamalarından faydalanabilir?
a) Satış elemanlarının 6 aylık satış hacimlerinin hesaplanması
b) Şubelerin stok devir hızı raporlarının çıkarılması
c) Senelik şube bazlı karlılık raporlarının oluşturulması
d) Yapılacak kampanyaya yanıt verebilecek hedef kitlenin belirlenmesi
e) Şubelerin işgücü ve vardiya planlamasının yapılması
5) Etkin şekilde veriye ulaşmayı sağlayan, belirli döneme ait, konu odaklı ve bütünleşik veritabanlarına ne ad verilmektedir?
a) Veri Ambarı
b) Veri Küpü
c) OLTP
d) OLAP
e) Veri Martı
VERİ MADENCİLİĞİ FONKSİYONLARI
Denetimli ve Denetimsiz Öğrenme
Veri madenciliği problemlerinin çözümünde kullanılan algoritmalar, makine öğrenmesi esaslı algoritmalardır. Bu noktada, makine öğrenmesi, denetimli ve denetimsiz öğrenme olmak üzere ikiye ayrılmaktadır. Veri madenciliği projelerinde problem verisi, eğitim ve test verisi olmak üzere genellikle ikiye ayrılmaktadır. Eğitim verisi üzerinden veri madenciliği algoritmaları kullanılarak bir model oluşturulur. Oluşturulan modelin başarımı ve yeterliliği ise test verisi üzerinden değerlendirilir. Bu noktada, denetimli öğrenmede eğitim verisi, tahmin edilmesi istenen bir değişkeni (sınıf etiketi) içermektedir ve öğrenme işlemi diğer değişkenlere bağlı olarak bu değişkenin doğru tahmini üzerinden gerçekleştirilir. Denetimsiz öğrenmede ise eğitim verisi içerisinde tahmin edilecek bir değişken yoktur, örneklerin, karakteristiklerini ortaya koyan değişkenlere göre aldıkları değeri içeren bir veri yapısı söz konusudur. Verinin tamamı eğitim verisi olarak değerlendirilmektedir.
Veri madenciliği algoritmalarının bir bölümü tanımlayıcı (descriptive), bir bölümü ise tahminleyici (predictive) nitelik taşımaktadır. Bu noktada, denetimsiz öğrenme gerçekleştiren algoritmalar tanımlayıcı, denetimli öğrenme gerçekleştiren algoritmalar ise tahminleyicidir.
Veri madenciliğinin temel fonksiyonları aşağıdaki gibi sıralanabilir.
1 Veri önişleme
2 Sınıflandırma
3 Birliktelik
4 Kümeleme
5 Aykırılık
6 Ardışık Zaman Örüntüleri
Bu fonksiyonlar aşağıdaki şekilde özetlenebilir:
Veri önişleme adımında; veri madenciliği projesi için gerekli veri kaynaklarının belirlenmesi ve veri önişleme adımlarının gerçekleştirilerek verinin modelleme aşamasından önce istenilen düzeye getirilmesi amaçlanmaktadır.
Birliktelik analizi, veri madenciliğinde pazar-sepet analizi ve ürün öneri sistemleri gibi alanlarda yaygın şekilde kullanılmaktadır. Birliktelik analizinde, yaygın görülen desenlerin ne olduğu ve hangi öğelerin sıklıkla birlikte satın alındığı sorularına yanıt aranmaktadır.
Önemli bir veri madenciliği fonksiyonu olan sınıflandırmada ise sınıf etiketi adı verilen ve genellikle kesikli olan bir değişkenin tahmini gerçekleştirilmektedir. Sınıflandırma için kullanılan temel yöntemler; karar ağaçları, Naive bayes sınıflandırıcısı, destek-vektör makineleri, lojistik regresyon ve örnek-tabanlı sınıflandırma olarak sıralanabilir. Sınıflandırma algoritmalarının uygulandığı veri madenciliği problemlerine örnek olarak; kredi kartı dolandırıcılık tespiti, risk değerlendirme, hastalık teşhisi, ayrılan müşteri analizi verilebilir.
Veri madenciliğinin en önemli fonksiyonlarından biri olan kümeleme de, bir bağımlı değişken ya da sınıf bilgisi söz konusu değildir. Bu nedenle; kümeleme algoritmaları denetimsiz öğrenmeyi kullanan algoritmalardır. Kümeleme algoritmalarının en yaygın kullanıldığı veri madenciliği problemleri olarak müşteri ve şube (bayi) segmentasyonu ve üretim yönetimindeki grup teknolojisi sayılabilir. Kümeleme analizinde amaç, küme içi benzerliği en büyükleyecek ve kümeler arasındaki benzerliği en küçükleyecek şekilde, veri kümesindeki örnekleri belirli ya da optimum sayıda gruba ayırmaktır. Kümeleme analizinde kullanılan çok sayıda metodoloji ve algoritma vardır. Bunların en önemlileri olarak; k-ortalamalar, bulanık c-ortalamalar, beklenti maksimizasyonu, hiyerarşik kümeleme ve yoğunluk esaslı kümeleme yöntemleri sıralanabilir.
Aykırılık analizi çoğu zaman bir veri önişleme adımı olarak da değerlendirilir. Aykırı değer, bir veri kümesinde verinin genel davranışı ile uyumsuz olan veri nesnesidir. Veri madenciliği algoritmaları uygulanmadan önce eğer veri aykırı değere duyarlı ise aykırı değerler tespit edilip veri kümesinden çıkarılmalıdır.
Ardışık zaman örüntüleri (ardıl desen madenciliği), veri madenciliğinde önemli yer tutan fonksiyonlardan biridir. Ardıl desen madenciliğinde, zaman serisi şeklinde gerçekleştirilen işlemlere bağlı olarak bir sonraki işlemin tahmin edilmesi amaçlanmaktadır. Kampanya planlamasında ve alışveriş tahmini gibi alanlarda yaygın şekilde ardıl desen madenciliğinden faydalanılmaktadır. Örneğin; ilk olarak dijital kamera satın alan bir müşterinin daha sonra hafıza kartı satın alması.
Bölüm Soruları
1) Aşağıdakilerin hangisinde denetimsiz öğrenmeyi kullanan veri madenciliği fonksiyonları doğru olarak verilmiştir?
a) Kümeleme-Sınıflandırma
b) Birliktelik-Regresyon
c) Kümeleme-Birliktelik
d) Kümeleme-Regresyon
e) Sınıflandırma-Aykırılık
2) Aşağıdakilerin hangisinde veri madenciliğinin fonksiyonunun işlevi doğru olarak belirtilmiştir?
a) Sınıflandırma - Tanımlayıcı
b) Kümeleme - Tanımlayıcı
c) Birliktelik - Tahminleyici
d) Ardıl desen keşfi - Tahminleyici
e) Regresyon - Tanımlayıcı
3) Pazar sepet analizi ile müşteri işlem verisinin değerlendirilmesi hangi veri madenciliği fonksiyonu ile gerçekleştirilmektedir?
a) Kümeleme b) Sınıflandırma c) Aykırılık d) Birliktelik e) Veri önişleme
4) Aşağıdakilerden hangisi veri madenciliğinde sınıflandırma problemlerinin çözümü için kullanılan algoritmalardan biri değildir?
a) Karar Ağaçları
b) Naive Bayes
c) K-ortalamalar
d) Lojistik Regresyon
e) Destek Vektör Makineleri
5) Aşağıdakilerden hangisi veri madenciliğinde kümeleme problemlerinin çözümü için kullanılan algoritmalardan biri değildir?
a) Bulanık c-ortalamalar
b) Beklenti maksimizasyonu
c) Yoğunluk tabanlı yöntemler
d) Hiyerarşik yöntemler
e) Doğrusal Regresyon
VERİ ÖNİŞLEME
Veri Önişleme Adımları
Sınıflandırma, kümeleme ve birliktelik analizi gibi veri madenciliği fonksiyonlarını gerçekleştiren veri madenciliği algoritmaları uygulanmadan önce sıhhatli sonuçlar elde etmek için veri kalitesinin garanti altına alınmış gerekmektedir.
Veri kalitesinin ölçüleri aşağıdaki gibi sıralanabilir:
Doğruluk: Doğru ya da yanlış, kesin ya da değil
Eksiksizlik: Kaydedilmemiş, elde edilemez, …
Tutarlılık: Bazen değişiklik yapılmış bazen yapılmamış,
Güncellik: Tam vaktinde güncelleniyor mu?
Güvenilirlik: Verinin doğru olduğuna nasıl güveniliyor?
Yorumlanabilirlik: Veri nasıl kolaylıkla yorumlanabilir?
Veri kalitesinin sağlanması noktasında veri madenciliğinde veri önişleme adımlarından faydalanılmaktadır. Bu adımlar aşağıdaki şekilde sıralanabilir.
1 Veri Temizleme
- Kayıp değerleri (missing data) doldurma, gürültü veriyi düzeltme, uç (ekstrem) değerleri belirleme ve kaldırma ve tutarsızlıkları çözme
2 Veri Entegrasyonu
- Çoklu veritabanlarının, veri küplerinin ve dosyalarının entegrasyonu
3 İndirgeme
- Boyut indirgeme - Veri sıkıştırma
4 Veri Dönüşümü ve Normalleştirme
5 Veri Düzeltme ve Ayrıklaştırma
Veri Temizleme
Veri kirliliği türleri, örnekleri ile birlikte aşağıdaki şekilde sıralanabilir:
· Eksik (kayıp) veri: Nitelik değerlerinden yoksunluk ve veri alanının boş olması şeklinde ortaya çıkmaktadır. Örneğin; Meslek=“ ”.
· Gürültülü veri: Gürültü, hata ya da ekstrem (uç) değer içeren veri anlamına gelmektedir. Örneğin; Maaş=“−10” (bir hata), doğum tarihi =“01.01.1900” (uç değer).
· Tutarsız veri: Aynı anlama gelen iki farklı alandaki uyuşmazlık. Kodlarda ya da isimlerde çelişkilerin bulunması. Örneğin; bir müşteri için Yas=“42”, Doğum gunu=“03/07/2010” olması, bir tabloda eski puanlamanın “1, 2, 3”, yeni puanlamanın “A, B, C” şeklinde olması, bir kaynakta nitelik değeri alanının ‘ürün adı’ diğerinde ‘product name’ olması.
· Kasıtlılık: Kayıp veriyi gizleme ya da veri gizliliğinden dolayı kasıtlı olarak veriyi sağlıksız şekilde sunma
Veri Entegrasyonu ve Veri Azaltma
Farklı kaynaklardan gelen verinin birleştirilmesi ve entegrasyonunu içermektedir. Örneğin; A.cust_id=B.dust_num. Veri entegrasyonu aynı anda veri değer uyuşmazlıklarını belirlemeyi ve çözmeyi sağlamaktadır. Veri uyuşmazlıklarının olası nedenleri olan; farklı gösterimlerin ve farklı ölçeklerin kullanımı bu aşamada tespit edilebilir.
Çok sayıda veritabanının entegrasyonunda, gereksiz veri sıklıkla oluşmaktadır. Örneğin; hem yaş bilgisinin hem de doğum tarihinin yer alması. Diğer taraftan, aynı nitelik ya da nesne, farklı veri tabanlarında farklı isimlere sahip olması ve bir niteliğin diğer bir tablodan türetilmiş bir nitelik olması (örneğin; yıllık gelir) gibi durumlar gereksiz veri oluşumuna neden olmaktadır.
Veri azaltma; iki farklı şekilde gerçekleştirilebilir. Boyut azaltarak yapılan veri azaltmada önemsiz nitelikler çıkarılmaktadır. Bu amaçla; kullanılan en önemli teknikler; dalgacık dönüşümü ve temel bileşen analizidir. Bir diğer veri azaltma stratejisi ise veri sıkıştırma ve örnekleme yolu ile veri kümesindeki nesne sayısının azaltılmasıdır.
Veri Dönüşümü ve Normalleştirme
Veri dönüşümü, verilen bir nitelik değerleri kümesini yeni değerler kümesi ile değiştirme amacı taşımaktadır. Bazı algoritmalar, sadece sayısal bazıları sadece nominal ya da ikili değişken kullanabilir. Veri, çalışılacak algoritmaya uygun hale getirilmelidir. Farklı büyüklüklere ve minimum ve maksimum değerlere sahip (örneğin; yaş ve gelir değişkeni) veri niteliklerini aynı ölçek değerlerine getirmek, algoritmalardan sağlıklı sonuç elde etme açısından kritiktir.
Normalleştirme, veriyi daha küçük ve belirlenmiş bir aralıkta ölçeklendirme amacı taşımaktadır. Bu noktada kullanılan üç temel veri normalleştirme biçimi söz konusudur:
· Min-maks normalleştirmesi (doğrusal normalleştirme)
· Z-skor normalleştirmesi
· Ondalık ölçek ile normalleştirme
Min-maks normalleştirmesi aşağıdaki eşitlik kullanılarak gerçekleştirilmektedir.
Bu eşitlikte, minA, A niteliği için veride gözlenen en küçük değeri, maxA, A niteliği için veride yer alan en büyük değeri, v normalleştirme yapılacak nitelik değerini, yeni_maxA niteliğin normalleştirileceği yeni aralık değerinin üst sınırını, yeni_minA niteliğin normalleştirileceği yeni aralık değerinin alt sınırını ifade etmektedir.
Örneğin; 12000 $ ile 98000 $ aralığındaki geliri, [0,1] aralığında normalleştirirsek, 73600 $’lık gelir değeri;
Z-skor normalleştirmesi, normal dağılım mantığından faydalanılarak aşağıdaki şekilde gerçekleştirilmektedir.
Bu eşitlikte, mA, A niteliği için veri kümesinin ortalamasını, sA, A niteliği için veri kümesinin standart sapmasını ifade etmektedir.
Örneğin; ortalaması 54000, sapması 16000 olan gelir niteliği için Z-skor normalleştirmesi uygulanırsa, 73600 $’lık gelir değeri;
Ondalık ölçek ile normalleştirme ise aşağıdaki eşitlik yardımı ile gerçekleştirilmektedir.
Bu eşitlikte j, Max(|ν’|) < 1 sağlayan en küçük tamsayı değeridir
Veri Düzeltme ve Ayrıklaştırma
Ayrıklaştırma, sürekli bir niteliğin aralıklara bölünmesidir. Aralık etiketleri, gerçek veri değerlerini değiştirmede kullanılmaktadır. Ayrıklaştırma ile veri boyutu azaltılmaktadır. Ayrıklaştırma genelde eşit frekans ve eşit genişlik yöntemleri ile yapılmaktadır.
Örneğin; fiyat niteliği için değerler 15, 25, 28, 34, 9,24, 29, 26, 21, 4, 21, 8 şeklinde olsun. Bu veri niteliği eşit frekanslı olarak 3 kümeye bölünmek istenirse, her bir kümeye veri sayısı 12 olduğu için 12/3=4 eleman düşecektir. Küme elemanları aşağıdaki şekilde olacaktır;
Küme 1: 4, 8, 9, 15
Küme 2: 21, 21, 24, 25
Küme 3: 26, 28, 29, 34
Eşit frekansa böldükten sonra küme ortalamaları ile düzeltme uygulanırsa veriler aşağıdaki şekli alacaktır.
Küme 1: 9, 9, 9, 9
Küme 2: 23, 23, 23, 23
Küme 3: 29, 29, 29, 29
Eşit frekans ile bölümleme yapıldıktan sonra, küme sınırları ile düzeltme (küme içerisindeki minimum ya da maksimum değerden hangisine yakın ise o değer ile düzeltme) uygulanırsa, veriler aşağıdaki şekildeki gibi olacaktır.
Küme 1: 4, 4, 4, 15
Küme 2: 21, 21, 25, 25
Küme 3: 26, 26, 26, 34
Diğer taraftan eşit genişlik ile fiyat değerleri 3 kümeye bölündüğünde; her bir kümenin genişliği; (344)/3=10 olarak hesaplanabilir. Bu doğrultuda; kümeler aşağıdaki şekilde oluşacaktır.
Küme 1: 4, 8, 9 Küme 2: 15, 21, 21, 24 Küme 3: 25, 26, 28, 29, 34
Bölüm Soruları
1) Aşağıdaki hangisi veri önişlemede veri azaltımı için kullanılan tekniklerden biri değildir?
a) Korelasyon Analizi
b) Örnekleme Metodu
c) Kutu Grafiği
d) Temel Bileşen Analizi
e) Dalgacık Dönüşümü
2) Aşağıda listelenen değerlere sahip sürekli bir niteliği kesikli hale getirmek istediğimizi düşünelim. Eşit frekanslı olarak, bölümleme yapmak istediğimizde bölüm sayısı aşağıdakilerden hangisi olamaz?
3, 4, 5, 10, 21, 32, 43, 44, 46, 52, 59, 67
a) 2 b) 3 c) 4 d) 5 e) 6
3 ile 5. soruları aşağıdaki veri kümesini kullanarak yanıtlayınız.
Aşağıda listelenen değerlere sahip sürekli bir nitelik ile ilgili, aşağıdaki soruları yanıtlayınız.
4, 3, 59, 10, 32, 21, 46, 44, 43, 67, 5, 52
3) Niteliği kesikli hale getirmek için eşit genişlikli dört bölüme ayırırsak, birinci bölümde (en küçük değerlerin olduğu bölüm) kaç değer yer alacaktır?
a) 2 b) 3 c) 4 d) 5 e) 6
4) Nitelik için Z-skor normalleştirmesi yapılırsa, niteliğin 3. elemanı (59 değeri) hangi değere dönüşecektir? (nitelik ortalaması=32.16, nitelik standart sapması=22.91)
a) 3.98 b) 3.92 c) 2.46 d) 1.17 e) 1.12
5) Niteliğin 4.değeri için (10 değeri) min-maks normalleştirmesi yapılırsa, niteliğin 5. elemanının (32 değeri) yeni değeri ne olacaktır?
a) 0.412 b) 0.453 c) 0.494 d) 0.535 e) 0.576
SINIFLANDIRMANIN TEMEL KAVRAMLARI VE KARAR AĞAÇLARI İLE SINIFLANDIRMA
Sınıflandırma problemlerinin yapısını ortaya koymadan önce, daha önce sözü edilen denetimli ve denetimsiz öğrenme kavramlarını açıklamak gerekmektedir.
Denetimli öğrenmede; problem için toplanan veri tahmin edilecek bir bağımlı değişkeni ya da sınıf etiketini içermektedir. Problem verisi eğitim ve test verisi olmak üzere ikiye ayrılmakta ve eğitim verisi kullanılarak tahmin modeli oluşturulmaktadır. Oluşturulan tahmin modelinin başarısı ise test verisi ile değerlendirilmektedir.
Denetimsiz öğrenmede ise tahmin edilecek bir sınıf etiketi ya da bağımlı değişken söz konusu değildir. Problem için mevcut verinin tamamı eğitim verisi olup, ölçümlerin ve gözlemlerin kümelere ayrılması amaçlanmaktadır.
Bu doğrultuda, veri madenciliğinin önemli fonksiyonlarından biri olan sınıflandırma algoritmaları denetimli öğrenmeyi esas alan tahmin yapmayı amaçlayan algoritmalardır. Sınıflandırma problemlerinde ayrık (kesikli ya da nominal) değerlere sahip sınıf etiketlerinin tahmin edilmesi amaçlanmaktadır. Sayısal tahmini içeren öngörü modelleri bağımlı değişkeni tahmin etmek için sürekli değere sahip fonksiyonları modellemektedir.
Sınıflandırma kapsamına giren bazı veri madenciliği problemleri aşağıdaki gibi sıralanabilir:
1 Kredi/borç onayı
2 Hastalık teşhisi: Belirli faktörlere bağlı olarak, bir tümörün kanser ya da iyi huylu olma durumu.
3 Dolandırıcılık tespiti
4 Ses ve karakter tanıma
5 Ayrılan müşteri analizi
Sınıflandırma problemlerinin çözümünde kullanılan çok sayıda yaklaşım vardır. Bu yaklaşımların en önemlileri aşağıdaki şekilde sıralanabilir:
· Karar ağaçları (ID3, C4.5 algoritmaları)
· Yapay sinir ağları · Sade bayes ve bayes ağları
· Regresyon esaslı modeller
· Örnek tabanlı (tembel) sınıflandırma algoritmaları (örn: k en yakın komşu algoritması)
· Destek vektör makineleri
· Genetik algoritmalar
Karar Ağaçları ile Sınıflandırma
Karar ağaçları ile sınıflandırma yapılırken, sınıflandırma değişkenini tahmin etmek için karar kurallarını içeren bir ağaç yapısı oluşturulmaktadır.
Karar ağacı oluşturmada, temel algoritmanın özellikleri aşağıdaki gibi sıralanabilir:
· Ağaç yukarıdan aşağıya doğru, yinelemeli şekilde parçala ve çöz metodu ile oluşturulur.
· Başlangıçta, tüm eğitim örnekleri tek bir köktedir.
· Ağaç, bütün verinin oluşturduğu tek bir düğümle başlar.
· Nitelikler kategoriseldir (eğer sürekli veriler var ise ayrıklaştırılır)
· Eğer örneklerinin hepsi aynı sınıfa aitse düğüm yaprak olarak sonlanır ve sınıf etiketini alır.
· Eğer değilse, örnekleri sınıflara en iyi bölecek olan nitelik seçilir
· Nitelikler, sezgiseller ya da istatiksel ölçütler (örn., bilgi kazanımı) temelinde seçilir (örn., bilgi kazancı) Karar ağacı ile sınıflandırma algoritmalarında durma koşulları ise aşağıdaki gibi sıralanabilir:
· Bir düğüm için tüm örnekler aynı sınıfa ait ise.
· Örnekleri bölecek nitelik kalmamış ise.
· Kalan niteliklerin değerini taşıyan örnek yok ise.
ID3 Algoritması
ID3 algoritması, karar ağaçları ile sınıflandırma problemlerinin çözümünde kullanılan temel algoritmalardan biridir. Bu algoritmada, veri kümesinde tüm değerlerin nominal olması ve bilinmeyen değerin olmaması gerekmektedir.
ID3 algoritmasında, ilk olarak karar ağacının birinci dallanmasının hangi nitelikten başlanacağını belirlemek gerekmektedir.
Bölüm Soruları
1) Karar ağaçları ile sınıflandırma yapıldığında aşağıdakilerin hangisinde karar ağacı durdurulmaz?
a) Bir düğüm için tüm örnekler aynı sınıfa ait
b) Örnekleri bölecek nitelik yok
c) Niteliklerin entropi değerleri eşit
d) Kalan niteliklerin değerini taşıyan örnek yok
e) Hiçbiri
BAYES TEOREMİ VE BAYES AĞLARI İLE SINIFLANDIRMA
Bayes Teoremi
Bayes sınıflandırıcısı, bir istatistiksel sınıflandırıcı olup, tahmin edilecek nesnenin hangi sınıfa ait olduğunu olasılık olarak tahmin etmektedir. Bu sınıflandırıcı ile sınıf üyelik olasılıkları tahmin edilmektedir. Bayes teoremini esas alan bayes sınıflandırıcısında, her eğitim örneği, bir hipotezin doğruluk olasılığını giderek arttırmakta ya da azaltmaktadır.
Sade (Naive) Bayes Sınıflandırıcısı
Naive (sade) bayes sınıflandırıcısında, niteliklerin hepsi eşit derecede önemli ve birbirinden bağımsızdır. Bir niteliğin değeri başka bir nitelik değeri hakkında bilgi içermemektedir. Bu eşitlik, hesaplama maliyetini büyük oranda düşürür. Yalnızca, sınıf dağılımı sayılır.
Bayes Ağları ile Sınıflandırma
Değişkenler arasında bağımlılık söz konusu ise Sade Bayes sınıflandırıcısı yerine Bayes ağları kullanılır. Bayes ağları; niteliklerin alt kümesinin birbiri ile bağımsız olduğunu varsaymaktadır. Problem verisi; yönlü çizgelerden ve koşullu olasılık tablolarından oluşmaktadır.
Bölüm Soruları
1) Bayes teoremi ve bayes sınıflandırıcısı ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
a) Bayes sınıflandırıcısı, nesnenin hangi sınıfa ait olduğunu olasılıksal olarak tahmin etmektedir.
b) Sade bayes sınıflandırıcısı, nitelikler arasındaki bağımlılık ilişkisini dikkate almaktadır.
c) Sade bayes sınıflandırıcısında, niteliklerin hepsi eşit derecede önemlidir
d) Bayes teoremi, koşullu olasılık hesaplamalarına dayanmaktadır.
e) Sade bayes sınıflandırıcısında, bir niteliğin değeri başka bir niteliğin değeri hakkında bilgi içermemektedir.
VERİTABANI YÖNETİM SİSTEMLERİNE GİRİŞ
Veri tabanı, birbirleriyle ilişkisi olan verilerin tutulduğu, kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun mantıksal ve fiziksel olarak tanımlarının olduğu ve bunların sayısal ortamlarda saklandığı ve gerektiğinde tekrar bir erişime olanak sağlayan, büyük boyutlarda veriler barındıran bilgi depolarıdır. Veri Tabanı bir sistem olarak düşünüldüğünde dört temel elemandan oluştuğu görülür. Bunlar veri, donanım, yazılım ve kullanıcılar.
Donanım: Kullanılan yazılımın donanımla uygun olması, depolama birimleri ve donanımın güvenliği önemlidir.
Yazılım: Fiziksel veri tabanı ile sistem kullanıcıları arasındaki iletişimi sağlayan yazılıma Veritabanı Yönetim Sistemi (VTYS) adı verilir. Veritabanı Yönetim Sistemi: Bilgisayarda saklanacak bir veritabanının oluşturulmasını ve bakımını sağlayacak yazılım paketi. Veri tabanına ulaşabilmek için kullanıcıdan gelen bütün istekler VTYS tarafından yerine getirilir. Bir veri tabanını oluşturmak, saklamak, çoğaltmak, güncellemek ve yönetmek için kullanılan programlara Veri Tabanı Yönetme Sistemi adı verilir.
Şekil1: Veritabanı Yaklaşımı
Veri Yönetimi Yaklaşımları
Veri tabanı oluşturulmasında ya da verinin yönetilmesinde 2 yaklaşımdan söz edilebilir.
1. Geleneksel Dosya Sistemleri Yaklaşım
2. Veri Tabanı Yaklaşımı
Geleneksel Dosya Sistemleri Yaklaşım
Geleneksel Yaklaşım (Dosya Sistemleri), kağıt ortamındaki veri tabanlarıdır. Daha sonra bu dosyalama mantığı bilgisayar ortamına da taşınmıştır. Dünyadaki bilginin önemli bir kısmını bu tür sistemler içeriyor ve Dosya tabanlı veri işleme sistemleri erken dönem (genelde) iş verilerinin toptan işlenmesi (batch processing) şeklinde yürütülmekteydi. Geleneksel Veri yönetimi yaklaşımı, dosya kökenlidir. Bu yaklaşımda her bir uygulama kendi dosyalarıyla yürütülmektedir. Yani her bir uygulama problemi için ayrı veri dosyaları oluşturulmakta ve saklanmaktadır.
Dosya Sistemlerinin Sakıncaları Geleneksel yaklaşım bir takım dezavantajlara sahiptir. Bunlar şöyle sıralanabilir:
•Veri Tekrarı: Aynı veri çeşitli dosyalarda birden fazla yer alabilmektedir buda sistemin hantallaşmasına neden olur. Mesela bir stok dosyasında stok numarası verisinin malzeme dosyasında, fatura dosyasında ve ambar girişi dosyasında yer alması gibi.
•Verinin Birkaç Dosyada Güncellemesi: Veri birden fazla dosyada tekrar edilebildiği için, verinin bir dosyada güncellenip diğerlerinde güncellenmemesi Veri Bütünlüğünün (Data Integrity) bozulmasına neden olabilir. Buna bağlı olarak birbiri ile çelişen raporlar üretilebilir.
•Belleğin Tekrarlı Bilgi Nedeniyle İsrafı: Aynı verinin birden fazla dosya içinde bulunması nedeniyle kullanılan veri hard diskte fazla yer işgal edecek. Yani hard disk tekrarlı veriler için kullanılmış olacaktır.
Veri Tabanı Yönetim Sistemlerinin Sağladığı Yararlar
− Veri Tekrarı Azaltılır: Aynı veri değişik kişilerin PC’lerinde veya değişik bilgisayarlarda tekrar tekrar tutulmaz; veri tekrarı azaltılır.
− Veri Tutarlılığı: Aynı verinin değişik yerlerde birkaç kopyasının bulunması “bakım” zorluğu getirir: bir yerde güncellenen bir adres bilgisi başka yerde güncellenmeden kalabilir ve bu durum veri tutarsızlığına yol açar.
− Verinin Paylaşımı Sağlanır / Eşzamanlılık: VTYS kullanılmadığı durumlarda veriye sıralı erişim yapılır. Yani birden çok kullanıcı aynı anda aynı veriye erişemez. Bir VTYS’de ise verinin tutarlılığını ve bütünlüğünü bozmadan aynı veritabanlarına saniyede yüzlerce, binlerce erişim yapılabilir. − Veri Bütünlüğü: Bir tablodan bir öğrenci kaydı silinirse, öğrenci var olduğu diğer tüm tablolardan silinmelidir.
− Veri Bağımsızlığı: Programcı, kullandığı verilerin yapısı ve organizasyonu ile ilgilenmek durumunda değildir. Veri bağımsızlığı, VTYS’lerinin en temel amaçlarındandır.
− Verilerin Güvenliğini Sağlar: Verinin isteyerek ya da yanlış kullanım sonucu bozulmasını önlemek için çok sıkı mekanizmalar mevcuttur. Veri tabanına girmek için kullanıcı adı ve şifreyle korumanın yanı sıra kişiler sadece kendilerini ilgilendiren tabloları ya da tablo içinde belirli kolonları görebilirler.
Veritabanı Yönetim Sistemleri
Veri tabanı yönetim sistemi (VTYS), yeni bir veri tabanı oluşturmak, veri tabanını düzenlemek, geliştirmek ve bakımını yapmak gibi çeşitli karmaşık işlemlerin gerçekleştirildiği birden fazla programdan oluşmuş yazılım sistemidir. Veri tabanı yönetim sistemi, kullanıcı ile veri tabanı arasında bir arabirim oluşturmaktadır. Veri tabanı yönetim sistemi, veri tabanına her türlü erişimi sağlar. Veri tabanı yönetim sistemi, veri tabanı tanımlama, veri tabanı oluşturma ve üzerinde işlem yapma yeteneği olan bir yazılım sistemidir.
Veri Saklama Modelleri
Veritabanları günümüzde yoğun olarak veri üretilen yerlerde iki genel amaca yönelik olarak kullanılır. Bunlardan biri, üretilen verilerin anlık olarak saklanması işlemdir ki bu türden işlemler için optimize edilmiş sistemlere OLTP (On-line Transaction Processing) adı verilir. Bir OLTP veritabanı içinde veriler genellikle ilişkisel tablolar şeklinde organize edilir. Gereksiz veri yığınları azaltır ve veri güncelleme hızını arttırır. Örneğin SQL Server çok sayıda kullanıcının gerçek zamanlı olarak veri analiz edebilmesini ve güncellemesini sağlar. Örnek olarak OLTP veritabanları havayolu bilet satış bilgileri ve bankacılık işlemlerini içerir. OLTP, veri girişinin sürekli olduğu bankacılık ve taşımacılık gibi sektörlerde kayıt takip işlemlerini yapmak için kullanılan uygulamaları yöneten bir program türüdür. OLTP sistemlerde sürekli olarak veride değişiklikler olur, her an eklenmeler yada silinmeler olabilir. SQL Server, Oracle ve Sybase gibi bir çok VTYS, hem OLAP hem de OLTP sistem olarak ayarlanabilir özellikleri bünyesinde barındırır. Ancak bir veritabanı yöneticisinin ilgili ayarlamaları yapması gerekir. Veritabanının kurulumu, yedeklenmesi, replication gibi düzenli bakım gerektiren işlemlerinin gerçekleştirilmesi de ayarlamaları ile birlikte, kullanıcı yönetimi ve yetkilendirme gibi işler 'Veritabanı Yönetimi' olarak adlandırılmaktadır. OLAP teknolojisi büyük verilerin organize edilmesi ve incelenmesini sağlar. Bir analist büyük miktarlardaki verileri hızlı ve gerçek zamanlı olarak değerlendirebilir. Örneğin SQL Server Analiz Servisi toplu raporlama ve analizde, veri modelleme ve karar desteğe kadar geniş alanda çözümler sunar.
OLTP (Online Transaction Processing) Sistemler (Çevrimiçi Hareket İşleme (ÇİHİ) Sistemleri
Bir kurumun verilerinin işlendiği ortamlara OLTP (Online Transaction Processing) sistemler adı verilmektedir. OLTP (Online Transaction Processing, Çevrimiçi Hareket İşleme) sistemler günümüzde yaygın olarak kullanılan veri tabanı sistemlerine verilen isimdir. Veri tabanları, aynı anda birden fazla kullanıcının, verileri hızlı ve etkin bir şekilde girişi, çıkışı ve güncellenmesi için tasarlanmış yapılardır. OLTP veri tabanları; sürekli yeni veriler eklenen, verilerin modifiyesinin yapıldığı anlık durumlar için oluşturulurlar. Sisteme yeni bilgilerin eklenmesi, var olan bilgilerin değiştirilmesi ya da silinmesi gibi işlemler ile sürekli olarak güncellenen ve bir değişim içindeki verilerden oluşan sistemlere özgü işlemleri kapsar. Örn: Bankacılık, borsa, okul sistemleri, ÇİHİ işlemleri, veri tabanı üzerinde sürekli olarak yeni operasyonların aynı anda birçok kullanıcı tarafından gerçekleştirilmesini sağlar. Örneğin bir işletmenin sahip olduğu stok sistemi ile depoya giren ve çıkan ürünleri ve ödemeleri izlenebilir. OLTP sistemlerine ilişkin veritabanlarına veri kaydedilebilir, veriye erişilerek raporlanabilir ve istendiğinde veri silinebilir.
OLAP (Online Analiytical Processing) OLAP- Eş Zamanlı Analitik Veri İşleme
OLAP (Online Analiytical Processing), daha çok raporlama ve karar destek amacı ile kurulan sistemlerdir. OLAP- Eş Zamanlı Analitik Veri İşleme şeklinde Türkçeye çevrilebilir. Bu türden sistemler aracılığıyla veri ambarı ve veri pazarı gibi yapılar kullanılarak yoğun bir şekilde üretilmiş verilerin analizleri ve raporları oluşturulur. Böylece tüketici ve satış eğilimleri, üretim maliyetleri gibi konularda kullanılacak sonuçlar elde edilir. Bu araç çok boyutlu veri analizinde kullanılır. Bilginin her bir yönü (ürün, fiyat, bölge, maliyet, zaman) farklı bir boyutu temsil eder. Çok boyutlu analizler birden çok boyut kullanarak, kullanıcıların aynı verileri farklı şekillerde görmesini sağlar. Çevrimiçi Analitik İşleme (OLAP), Veri tabanları (özellikle veri ambarları) üzerinde çok boyutlu tablolamayla, hızlı biçimde özet veriler sunma (miktar, ortalama, standart sapma vb.) sürecine Çevrimiçi Analitik İşleme denilmektedir. OLAP işlemi çok boyutlu veritabanlarında veya çok boyutlandırılmış veritabanlarında gerçekleştirilmektedir.
Çok Boyutlu Veri Analizi
Organizasyonlar veritabanlarında sakladıkları bilgileri daha iyi kullanabilmek için güçlü veri analizi araçlarından ve web tabanlı veritabanı teknolojilerinden faydalanıyor. Bazen yöneticiler eldeki verilerini geleneksel veritabanı modellerinin sunduğu yöntemlerden farklı şekillerde analiz etmek ister. Örneğin, somun, cıvata, vida ve delikli pul (rondela) olmak üzere dört farklı ürünü üç farklı bölgede satan bir şirket, gerçek satışlarının ürünlere göre ve bölgelere göre miktarını bilmek isteyebilir. Ve bu satış rakamlarını önceki tahmin değerleri ile karşılaştırabilir. Bu tür bir analiz veriye çok boyutlu bir bakış açısını gerektirir. Bu nedenle Çok boyutlu veri analizi olarak ta ifade edilir.
Çok boyutlu VTYS;
− İlişkisel VTYS nin bir türevi
− Çok boyutlu – boyut / değer ilişkisine dayalı,
− İlişkisel VTYS lerden beslenirler,
− MDX standart dili ile sorgulanabilir.
Veri Ambarı (Data Warehouse): birçok kaynaktan bilgi toplayan ve bu bilgileri son kullanıcının erişebilmesi için birleştiren ve tutarlı hale getiren bir karar destek sistemidir. Diğer sistemlerin veri tabanlarından veri alabilmeyi sağlarlar. Veri ambarı, veri tabanlarının entegrasyonudur. Birçok veritabanından gelen bilgiyle beslenir ve son kullanıcının erişimi için hazır bulundurulur. Karar destek sistemlerinde kullanılır. Veriyi yüksek maliyetli bireysel sistemlerde değil, düşük maliyetli büyük sistemlerde işlediklerinden maliyetlerde düşme sağlarlar. Son kullanıcılara kolay kullanılan sorgulama ve analiz araçlarıyla ve grafik ara yüzlerle bilgiye ulaşım imkânı sunarlar. Bilgiler, ayrı sistemlerden değil, sürekli güncellenen tek bir sistemden alınır.
Veri Pazarları (Datamart): Veri ambarlarının daha küçük versiyonlardır ve daha ziyade departmanlara yönelik küçük veri kümelerini depolarlar.
İş Zekâsı: Ham veriyi iş kararları alabilecek şekilde raporlanabilir, anlamlı hale getiren, analize yardımcı olan yazılım süreçlerinin tamamıdır. İş zekası Veri toplama/konsolidasyon, Veri dönüşümü, Veri temizliği, Veri madenciliği ve Raporlama faaliyetlerini kapsar.
Big Data Kavramı: Zamanla toplanan büyük miktarda verilerin ekonomik ve ölçeklenebilir bir biçimde ve ilişkisel veritabanı tekniklerinin yetmediği noktalarda kullanılabilir ve anlamlandırılabilir kılınması kavramıdır". Verinin önemi ve değeri her geçen gün artmakta. Verinin öneminin ve değerinin artmasının nedeni ise veri miktarlarının ve çeşitliliğinin artıyor olması.
Hadoop
Hadoop, yalın tabiriyle, sıradan sunucularda büyük verileri işlemek amacıyla kullanılan açık kaynak kodlu bir kütüphanedir. Her türlü veri için devasa depolama, çok yüksek işlem gücü ve neredeyse sınırsız sayıda eşzamanlı görevleri yönetme yeteneği sağlar. Dağınık bir bilgi işlem ortamında büyük verileri verimli bir şekilde yönetmenizi ve işlemenizi mümkün kılar. Hadoop dört ana modülden oluşur.
Big Data Kavramı ve 4 V
Volume (Hacim): Big Data kavramının oluşmasına sebep olan belki de en önemli neden elimizdeki verinin hacminin her geçen gün logaritmik olarak artıyor olması. Verilerin hacmi bu kadar artarken doğal olarak şirketlerin BT maliyetleri de artmakta. Artan BT maliyetlerini kısmak ve bütün bu verilerin saklanacağı ve yönetileceği ortamı ayarlamak gerekmekte.
Velocity (Sürat): Hacmi artan verilere ek olarak bu verilerin çok hızlı bir şekilde sisteme aktığını ve karşılamak durumunda olduğunu düşünün. İlişkisel veritabanına bu kadar hızlı veriyi yüklemek zahmetli ve maliyetli olacaktır. Dolayısıyla verinin hacmi dışında sisteme çok süratli bir biçimde akıyor olması da Big Data kavramını ve kullanımını açıklayan bir diğer V'dir.
Variety (Çeşitlilik): Sosyal medya, sensör verileri, CRM dosyaları, dokümanlar, imajlar, video'lar vb. aklınıza gelebilecek bütün verileri, kaynakları ve ve tiplerini hayal edin. Bunların tamamını ilişkisel bir veritabanında sakladığınızı hatta veritabanını geçtim, bildiğimiz bir file system üzerinde bile saklamak pek mümkün değil ve maliyetlidir. Verilerin çeşitliliği artmışsa ve bütün bu verileri işlemek, analiz etmek ve saklamak istiyorsak Big Data kavramı bunun için biçilmiş kaftan.
Value (Değer): Diğer 3 V'nin bir araya gelmesi ile bir başka V oluşmaktadır. Bu da value, yani değerdir. Yüksek hacimlerde, çeşitli ve çok hızlı akan ve sisteme giren verinin bir de değerinin olması lazım. Aksi halde katlanılan maliyet > elde edilen değer haline gelir. Bunun olmaması için sahip olduğumuz verileri anlamlandırmamız, değer katmamız ve analiz çalışmasını yapmamız gerekmekte. Böylece Big Data kavramının dördüncü V'si value olmuş oluyor.
Bölüm Soruları
1. Aşağıdakilerden hangisi veritabanı hakkında söylenemez?
a) Birbirleriyle ilişkisi olan veriler tutulur.
b) Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun mantıksal ve fiziksel olarak tanımları yapılır.
c) Veriler sayısal ortamlarda saklanır ve gerektiğinde tekrar bir erişime olanak sağlar.
d) Büyük boyutlarda verileri barındırır.
e) Hiçbiri.
2. Bir veri tabanı yönetim sistemi yazılımı, karışık ve kapsamlı bir yazılımdır ve aşağıdaki işlerden hangisini gerçekleştirmez?
a) Veri tabanını oluşturmak ve yönetmek.
b) Verinin birkaç dosyada güncellemesini sağlamak.
c) Veri tabanına erişim yetkisi olan kullanıcılara erişim izni vermek.
d) Kullanıcı isteklerine uygun olarak veriye erişimi sağlamak.
e) Veri tabanında güncellemeler yapmak.
3.Veri Ambarı aşağıdaki ifadelerin hangisiyle ifade edilebilir?
a) Veri tabalarının entegrasyonu.
b) Bir veya birden çok tablonun birbiriyle ilişkilendirilmesi.
c) İlişkisel veri tabanı.
d) OLAP
e) OLTP
4. Hangisi veri tabanı kullanmanın avantajı değildir?
a) Bilgi Saklamak
b) Bilgiyi Şifrelemek
c) Bilgiyi Analiz Etmek
d) Bilgiyi Paylaşmak
5. Aşağıdaki şema neyi anlatmaktadır?
Veritabanı yaklaşımı
VERİTABANI TASARIMI
Veritabanı Geliştirme Aşamaları
Bir veri tabanı tasarlanırken genellikle şu süreçler ele alınır:
1. Gereksinim Analizi
2. Veri Tabanı tasarımı
− Kavramsal Tasarım
− Mantıksal Tasarım
− Fiziksel Tasarım
3. Veri Tabanının Tamamlanması (uygulama programları, testler, dokümantasyon)
4. Veri Tabanının İşletilmesi, Test Edilmesi ve Bakımı
İhtiyaç Analizi
Veri tabanı tasarlamaya başlamadan önce analizinin doğru yapılması gerekmektedir. Veri tabanı ihtiyaç analizi yapılırken hazırlanacak olan sistemin neye hizmet edeceği, veri tabanını ne iş yapacağı ve hangi ihtiyaçları karşılayacağına, veri tabanının hangi verileri depolayacağı, veri tabanını oluşturan tabloların neler olacağı ve ne tür verileri saklayacağı vb. gibi sorulara cevap vermek gerekmektedir. Tüm bunları kâğıt üzerinde tasarladıktan sonra fiziksel tasarıma geçmek çalışmanızın daha sistemli yürümesi açısından avantajınıza olacaktır. Veri tabanı kullanılması istenilen uygulama için gereksinimler tanımlanır. Ne tür bilgiler saklanacak? Örneğin öğrenci bilgileri, ders bilgileri, hoca bilgileri vb. Bu bilgiler arasındaki ilişkiler ne şekilde olacak?
Bölüm Soruları
1. Mantıksal model temelde aşağıdaki çalışmalardan hangisi üzerinde durur?
a) Varlık ilişki diyagramlarının hazırlanması
b) İhtiyaç analizi üzerinde odaklanır.
c) Veri akış diyagramlarının hazırlanması üzerinde durur.
d) Veri tabanının SQL komutlarının hazırlanması üzerinde durur.
e) Normalizasyon işlemi üzerine kuruludur.
2. Aşağıdakilerden hangisi Fiziksel Tasarım aşamasının temel işlerinden biri değildir?
a) Verilerin Değerlendirilmesi
b) Veri Gösteriminin Belirlenmesi
c) Erişim Yöntemlerinin Seçimi
d) Verinin Dış Belleklere Atanması
e) Veri Tabanının Yüklenmesi ve Tekrar Düzenlenmesi
3. Varlıkların belirlenmesi veri tabanı geliştirme sürecinin hangi aşamasında gerçekleştirilir?
a) Gereksinim Analizi
b) Kavramsal Tasarım
c) Mantıksal Tasarım
d) Fiziksel Tasarım
e) Testler ve Dokümantasyon
VERİ MODELİ
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. Veri modeli, bir veritabanının yapısını açıklayan kavramlar bütünüdür. Veritabanı yapısı ise; veri türleri, bağıntılar ve veri kısıtlamalarından oluşur. Verileri mantıksal düzeyde düzenlemek için kullanılan yapılar, kavramlar ve işlemler topluluğuna veri modeli (data model) denir.
Veri modeli; veritabanının yapısını tanımlayan kavramların bir kümesidir. Veritabanının modeli; veri tipleri, işlemler ve kısıtlamalardan oluşur. Veri modeli veritabanının nasıl oluşturulacağı, nasıl kullanılacağı ve hangi sınırlar içerisinde tanımlı olduğu ile ilgilidir. Veri modeli içerisinde yer alan işlemler kümesi veritabanından seçim yapma ve veritabanını güncelleme ile ilgilidir.
Veri Modellerinin Sınıflandırılması
Basit Veri Modelleri: Geliştirilen ilk iki model (Hiyerarşik veri modeli ve Ağ veri modeli), diğerlerine göre basit bir yapı oluşturduğu için bu modelleri basit veri modelleri olarak adlandırmamız yerinde olacaktır.
Modern Veri Modelleri: Zamanla bilgisayarda bir işlem yapabilmek için sadece verinin islenmesi yeterli olmamaya başladı. Bu nedenle veri ilişkilerinin daha kolay, anlaşılır ve esnek olabilmesi amacıyla yapılan çalışmalar modern veri modellerinin ortaya çıkmasını sağladı.
Modern veri modelleri aşağıdaki gibi sıralanır:
Varlık-ilişki Veri Modeli
İlişkisel Veri Modeli
Nesne İlişkisel Veri Modeli
Nesne Yönelimli Veri Modeli
Yüksek Seviyeli Veri Modelleri: Bu modeller varlıklar (entities), özellikler (attributes) ve ilişkiler(relationships) gibi kavramlardan oluşur. Bu modeller için en bilinen örnek Varlık-İlişki veri modelidir.
Mantıksal Veri Modelleri: Bu modeldeki kavramlar verilerin bilgisayarda fiziksel olarak organize olma biçimine çok benzerler. Bunlara bir örnek ilişkisel veri modelidir.
Fiziksel Veri Modelleri: Bu modeller verilerin bilgisayarda nasıl tutulduklarını detaylı olarak gösteren konseptlere sahiptirler. Bunlar kayıtların biçimiyle, kayıtların sırasıyla, ulaşma yollarıyla ilgili bilgiler içerirler.
Veri Modeline Göre Veri Tabanı Yapıları
Hiyerarşik Veritabanları
Bu yapı, bilinen en eski veri modelleme sistemidir. Kullandığı veri modeli ağaç yapısıdır. Ebeveyn ve çocuk ilişkisine dayalı bir sistemdir. Hiyerarşim modelde veri türleri üstten aşağıya doğru bir usulde düzenlenir. Oluşturulan mantıksal bağlantılarla veri türleri ilişkilendirilir. Buda bir ağaç gibi veya organizasyon haritası şeklinde görülür. Şekil 2 de iki ayrı müşteri (A ve B) için hiyerarşik veri yapısı aşağıdaki şekilde modellenmektedir.
Ağ Veritabanları
1960'lı yılların sonunda yapılan bir konferansın ardından toplanan veritabanı çalışma grubu hiyerarşik modeldeki bazı eksiklikleri gidermek adına bu ağ modelini geliştirmiştir. Bilinen en karmaşık metodudur ve çizge veri yapısını temel alır. Bu yapı daha çok karmaşık bağlantılara izin verir.
İlişkisel Veritabanı Sistemi
Bu formda veri tabanı organizasyonu iki boyutlu tablolar şeklinde düşünülerek kullanıcıya sunulur. Veri tabanı kullanıcıları veri raporlarını bu yolla görür. İlişkisel VTYS birçok giriş sorgusu sunar. Böylece bir veri dosyası bir sayfada aşağıya doğru ilerleyen birkaç sütun içerir. Bu sütunlar kişisel alanları teşkil eder. Bir sayfadaki satırlar çeşitli alanların oluşturduğu kişisel kayıtları gösterir. İki yada daha fazla veri dosyasında bulunan ortak veri alanları vasıtasıyla bu tür veri dosyalarında ilişki kurulabilir. Bu ortak alanlar tümüyle benzer olmalı ve aynı boyutta ve tipte olmalıdır.
Nesneye Yönelik Veritabanları
İlk geliştirilen VTYS’ler kolayca önceden tanımlanmış veri alanlarına ve kayıtlara göre yapılandırılabilen homojen veriler için tasarlanmıştı. Fakat bugünkü ve gelecekteki uygulamalar, sadece önceden tanımlanmış sayıları ve karakterleri değil, çizimleri, resimleri fotoğrafları, sesleri ve videoları da saklayabilen veritabanlarını gerektirecek. İlk VTYS’ler bu tür grafik ve multimedya uygulamaları için uygun değildir. Bu tür verileri ilişkisel sistemlerde yönetmek için büyük çaplı programlama gerekir çünkü bu karmaşık veriler tablolara ve satırlara dönüştürülmelidir.
Varlık İlişki Diyagramları
İlişkisel veritabanı tasarımında en fazla kullanılan yapısal tasarım yada modelleme aracı Varlık İlişki Diyagramlarıdır (Entitiy-Relationship E-R). Varlık İlişki Diyagramları, veritabanı tasarımında kullanılan ve varlıklar (entity) arası ilişkileri gösteren diyagramlardır. Bu diyagramlar, bir veritabanı için referans dokümanlar olarak da kullanılabilirler. İlişkisel veritabanı tasarımında amaç, veri tekrarını azaltan ve veri tutarlılığını yükselten bir yapının oluşturulmasıdır. Veri tabını tasarım ilk olarak, veritabanı yapılacak kurum ya da kuruluşun ihtiyacı olan bilgilerin analizi yapılır. Bu süreçte, veritabanı tasarımcısı, veritabanını kullanıcıları ile görüşerek kullanıcı ihtiyaçlarını tespit eder. Veriler toplanıp sistem analizi yapıldıktan sonra, ilişkisel veri modeline göre veritabanı şeması oluşturulur.
Varlık-İlişki Diyagramlarının Bileşenleri
Varlık-İlişki diyagramları oluşturulmada varlıkların ve onlarla ilgili özelliklerin belirlenmesi gereklidir. Varlıklar ve özellikler belirlendikten sonra yapılacak olan, varlıklar arasındaki ilişkilerin oluşturularak Varlık-İlişki Diyagramının yapılandırılmasıdır. Varlık-İlişki Diyagramların aşağıdaki temel semboller kullanılır.
Varlık ve Özellikleri
Gerçek hayatta diğerlerinden ayırt edilebilen nesnelere varlık denir. Bir varlık, bir çevresel veri ya da bir kaynak olabilir. Bir varlık, kişi, araba, ev veya çalışan gibi fiziksel nesneler olabileceği gibi, şirket, iş veya ders gibi fiziksel olmayan nesneler de olabilir. Örneğin, kişi, yer, müşteri, depo, parça, ürün, ekipman, sipariş vb hepsi birer varlıktır. Her varlık kendisini tanımlayan kendisine has özelliklere sahiptir.
Varlık kümesi, Veritabanında benzer varlıklar ve özellik değerlerinden oluşan kümedir. Varlık-İlişki şemasında varlık kümeleri dikdörtgen içinde belirtilir. Özellikler ise oval bir daire içinde belirtilerek ilgili varlık kümesine çizgi ile bağlanır. Şekil 2’de öğrenci varlık kümesi ve ad, numara, adres ve telefon özelliklerinin şeması görülmektedir.
Özellikler (Attributes)
Özellik, herhangi bir varlığa ait durumlardır. Örneğin müşteri no, müşteri adı, müşteri adresi vb. durumlar, müşteri varlığının özellikleri olarak ifade edilebilirler. Yada bir çalışan varlığı, çalışan adı, yaşı, adresi, geliri ve görevi özellikleri ile tanımlanır. Varlıklar Varlık-İlişki Diyagramı da dikdörtgen sembolüyle ifade edilirler.
Tek Değerli Özellikler - Çok Değerli Özellikler Bir varlığın sadece 1 değer alabilen niteliğine denir. Örneğin bir iş yerindeki çalışanların tek sosyal sigorta numaraları vardır. Genellikle bir varlığın tek bir değeri vardır. Bir varlığın bir özelliğinin aldığı değer tek ise bu niteliğe tek değerli özellik denir. Ancak bazı özelliklerin birden çok değeri olabilir. Örneğin Çalışan varlığının yabancı dil özelliği, birden çok değer alabilir. Bu durumda Çalışan varlığının yabancı dil özelliği çok değerli özellik denir. Diğer ifadeyle çok değerli özellik, Bir varlığın birden fazla değer alabilen özellikleridir. Örneğin bir çalışanın birden fazla telefon numarası olabilir. Başka bir örnek olarak, bir çalışanın çocukları özelliği bir kişi de olabileceği gibi birden çok kişi de olabilir. Bu durumda Çalışan varlığının Çocukları özelliği çok değerli özelliktir. Varlık-İlişki şemasında çok değerli özellikler çift çizgili oval olarak gösterilir (Şekil 3).
Veri Kümesi (Domain): Bir özelliğin alabileceği değerler. Varlık kümesinde özelliklerin alabileceği değerler aralığını belirler. Örneğin öğrenci varlık kümesinde, doğumTarih özelliği 01.01.1980 ile 01.01.1990 arasında olabileceğini belirlemek için domain kullanılır. Örnekleri şu şekilde çoğaltabiliriz Cinsiyet → Erkek, Kız. Göz Rengi → Mavi, Ela, Kara, vs. Vize → [0-100]. Domain aralığı Varlık-İlişki şemasında gösterilmez.
Veri Türü: Bir özelliğin içerebileceği verinin hangi türden olacağını belirler. Tamsayı - INTEGER, Değişken sayıda karakter - VARCHAR, Tarih – DateTime ve Para - Money gibi.
Türetilmiş Özellik: Bir varlığa ait özellikler kullanılarak yeni bir özellik türetilebilir. Örnek; Doğum Tarihi özelliğinden türetilen Yaş özelliği.
Anahtarlar Özellik: Varlıkları ya da ilişkileri birbirlerinden ayırt etmek için kullanılan Özellik ya da özellik grubuna denir. Her varlığa ait bir özellik anahtar olmalıdır. Varlık kümesindeki bir veya daha fazla özelliğin değeri, her bir varlık için farklı ise bu özellik anahtar özelliktir. Örneğin öğrenci varlık kümesinde öğrencino anahtar özelliktir. Çünkü bir üniversitede, öğrenci varlık kümesinde hiçbir varlığın öğrencilno özelliği aynı olamaz. Benzer şekilde Çalışan varlık kümesinde, sicilno özelliği anahtar özelliktir. Hiçbir Çalışanın sicilno’su aynı olamaz. Anahtar özellik, Varlık-İlişki şemasında özelliğin altı çizilerek gösterilir.
Aday Anahtar (Candidate Key): Bir varlığı kesin olarak tanımlayan ve tek olan Özelliklere aday anahtar denir. Örneğin bir çalışanın sigorta numarası ve TC kimlik numarası aday anahtar olabilir fakat, çalışanın adı aday anahtar olamaz çünkü aynı ada sahip birden fazla çalışan olabilir.
Birincil Anahtar (Primary Key): Aday anahtarlar arasından seçilen anahtardır. Varlık-İlişki Diyagramlarında bir niteliğin birincil anahtar olduğunu belirtmek için o Özellik elips içinde altı çizili olarak yazılır.
Birleşik Anahtar (Composite Key): Eğer bir aday anahtar iki ya da daha fazla özellikten oluşuyor ise bu anahtar birleşik anahtardır.
İlişkiler
İlişki (Relationship): Varlıklar arasındaki bağlantılardır. İki veya daha fazla varlık kümesi arasında kurulan anlamlı bağıntılara ilişki denir. Aynı varlıklar arasında farklı türden ilişkiler olabilir veya bir ilişki bir ya da daha fazla varlık arasında olabilir. Bir ilişki, iki ya da daha fazla veri varlığı arasındaki mantıksal etkileşimdir. Varlık-ilişki, hem varlıkları hem de ilişkileri göstermektedir. İlişkiler, eşkenar dörtgen sembolüyle ifade edilirler. Dörtgen içine ilişkinin adı yazılır. Müşteri varlık kümesi ile ürün varlık kümesi arasında satın alır ilişkisi örnekleri verilebilir (Şekil 4). Diğer örnekler ise Şekil 5’de görülmektedir.
İlişki Derecesi: İlişkide bulunan varlık kümelerin sayısı ilişkinin derecesini oluşturur. Genelde ilişkiler iki varlık kümesi arasında yapılır. Ancak bazı durumlarda, ilişkide ikiden fazla kümesi yer alabilir. Örneğin bir Çalışanın hangi projede hangi görevi yaptığı bilgisi gerekli ise; Çalışan, proje ve görev varlık kümeleri arasında çalışır ilişkisi yapılır.
Tanımlayıcı Özellik: Varlık kümeleri arasındaki ilişkiden oluşan özelliklere tanımlayıcı özellik denir. Tanımlayıcı özellikler ilişkinin olması ile var olabilir. İlişki oluşmaz ise bu özellikler de var olamaz. Müşteri varlık kümesi ile ürün varlık kümesi arasında satın alır ilişkisinde, müşterinin satın aldığı ürünün miktarı özelliği tanımlayıcı özelliktir.
İki varlık arasında genelde 3 ilişkiden bahsedilebilir. Bunlar (Şekil 7);
i) Bire-Bir (one-to-one) ilişki (1:1)
ii) Bire-Çok (one-to-many) ilişki (l:M)
iii) Çoğa-çok (many-to-many) ilişki (M:M) dir.
Bire-bir (1-1) ilişki
A varlık kümesinin bir elamanı, B varlık kümesinin bir elemanı ile ilişki kurabiliyorsa bu ilişki türüne bire-bir ilişki denir. Örneğin Her müşterinin bir hesabı olabilir ilişkisi bire-bir ilişkidir(Şekil . Kişi ve kimlik, zaman kartı ve bordro fişi, araba ve plaka vb arasındaki ilişkiler bire-bir ilişkiye örnek olarak verilebilir. Şekil 9. Çalışan - Bölüm yönetir ilişkisini gösterir.
Bire-Çok (1-N) İlişki
A varlık kümesinin bir elemanı B varlık kümesinin birden çok elemanı ile ilişki kurabiliyorsa bu ilişki bire-bir ilişkidir. Hoca ile ders varlıkları arasında bire-çok bir ilişkinin olduğu görülmektedir. Yani bir hoca, birden fazla derse girebildiği, buna karşılık bir dersi sadece bir hoca tarafından verildiği ifade edilmektedir (Şekil 10).
Çoğa-Çok (n-n ya da n-m) İlişki
A varlık kümesinin bir elemanı, B varlık kümesinin sıfır ya da birçok eleman ile ilişki kurabiliyor ve B varlık kümesinin bir elemanı, A varlık kümesinin sıfır ya da birçok elemanı ile ilişki kurabiliyorsa bu ilişki türü çoğa çok ilişki türüdür. Çoğa çok ilişki kısaca n-m ilişki olarak da adlandırılabilir. Kitap ile Yazar varlıkları arasında çoğa-çok bir ilişkinin olduğu görülmektedir. Yani bir kitabın birden fazla yazar tarafından yazılabildiği, aynı zamanda bir yazarın da birden fazla kitap yazabilmesidir. Benzer şekilde, Proje ile Çalışan, Müşteri ile Ürün arasındaki ilişkiler de çoğa-çok ilişkiye örnek olarak verilebilirler. Örneğin müşteri ile ürün varlık kümeleri arasında satın alır ilişkisi çoğa çok ilişkidir. Çünkü bir müşteri birden çok ürün satın alabilirken, bir ürünü birden çok müşteri satın alabilir. (Şekil 11).
Bire-Bir İlişkilerin Dönüştürülmesi
Birebir ilişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. Özellikleri tabloların alanlarına dönüşür. Uygun olan varlık kümesinin anahtar alanı diğer varlık kümesine yabancı anahtar olarak eklenir. Bire-bir ilişkide belirtilen tanımlayıcı özellikler, yabancı anahtar eklenen tabloya alan olarak eklenir. Örneğin proje ve Çalışan varlık kümeleri arasındaki yönetir birebir ilişkisinde iki şekilde dönüştürme yapılır.
Bire-Çok (1-n) İlişkilerin Tablolara Dönüştürülmesi
İlişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. İlişkinin n tarafındaki tabloya 1 tarafındaki tablonun anahtar alanı yabancı anahtar olarak eklenir. İlişkide belirtilen tanımlayıcı özellikler n tarafına alan olarak eklenirler. Hoca ders varlıkları arasındaki bire bir ilişki ve tablo yapısı şekilde gözükmektedir.
Çoğa-Çok (N-M) İlişkilerin Tablolara Dönüştürülmesi
İlişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. Ancak ilişki isminde yeni bir tablo oluşturulur. İlişkiyi oluşturan tabloların anahtar alanları yeni tabloya yabancı anahtar olarak eklenir. İlişkide belirtilen tanımlayıcı özellikler varsa yeni tabloya alan olarak eklenir. Yeni tablonun anahtar alanı ilişkiyi oluşturan tabloların yabancı anahtarlarından oluşan ikili veya daha fazla alandan oluşur.
Bölüm Soruları
1) Ülkeler ile şehirlerarasındaki başkentlik ilişkisi ne tür bir ilişkidir?
a) Bire-Bir ilişki (1: 1)
b) Bire-Çok ilişki (l: M)
c) Çoğa-Bir ilişki (M: l)
d) Çoğa -çok ilişki(N: M)
e) Hiçbiri
2) Çok Değerli Özellikler tabloya nasıl dönüştürülür?
a) N-M ilişkiler için uygulana kural bu durumda da aynen uygulanır.
b) 1-N ilişkiler için uygulana kural bu durumda da aynen uygulanır.
c) 1-1 ilişkiler için uygulana kural bu durumda da aynen uygulanır.
d) İlişkide belirtilen çok değerli özellikler mevcut tabloya yeni alanlar olarak eklenir.
e) Çok değerli her bir özellik için yeni bir tablo oluşturulur.
3) Bir firmada çalışanlar varlık olarak düşünülebilir. Çalışanlardan birisi ayrıldığında direk olarak çocukları da veri tabanından silinir.
a) Güçlü Varlık
b) Zayıf Varlık
c) Bağımsız Varlık
d) Türetilmiş Varlık
e) Sanal Varlık
4) Verileri mantıksal düzeyde düzenlemek için kullanılan yapılar ve kavramlar bütünü.
Doğru (X) Yanlış ( )
NORMALİZASYON
İlişkisel veri tabanları tasarlanırken verilerin gereksiz tekrarını, bilgilerin kaybını önlemek amacıyla normalizasyon işlemi uygulanması gerekir. Normalizasyon işlemi uygulanarak da ilişkilerin normal forma getirilmesi sağlanır. Normalizasyon, taslak veri tabanı üzerinde birtakım işlemler yapılarak taslağı son haline yaklaştırma yöntemidir. İyi tasarlanmamış olan bir veri tabanında güncelleme, ekleme veya silmeden kaynaklanan sorunlar nedeniyle birtakım kullanım zorlukları meydana getirmektedir. Normalizasyon, veri tabanı tasarımında bu tür sorunların da ortadan kaldırılmasını sağlayan bir süreçtir. Normalizasyon, veri tabanı tasarım aşamasında veri tekrarını, veri kaybını veya veri yetersizliğini önlemek için gerçekleştirilir. İlişkisel veritabanı tasarımında amaç, veri tekrarını azaltan ve veri tutarlılığını yükselten bir yapının oluşturulmasıdır. Bunun için yapılması gereken işlemler bütününe Normalizasyon adı verilmektedir. En iyi tasarımı gerçekleştirmek için dikkat edeceğimiz kurallara Normalizasyon işlemleri olarak isimlendiriyoruz.
Normal Formlar
Normal formlar normalleştirmenin derecelerini veren formlar olup 1NF, 2NF, 3NF,BCNF, 4NF ve 5NF şeklindedir. En dışta Daha Yüksek Dereceli NF ve en içerde 1NF olmak üzere her üst form aynı zamanda alt formun özelliklerini de taşır. Bir başka tanımlamada ise 1.NF, 2.NF, 3.NF, 4.NF, 5.NF hatta 6.NF, BOYCE‐CODD, DOMAIN/KEY olmak üzere 8 adet normalizasyon kuralı vardır.
2) Normalizasyon ile ilgili olarak aşağıdakilerden hangisi yanlıştır?
a) Bir veritabanında verilerin saklanmış olduğu nesneler tablo olarak adlandırılır.
b) İlişkisel veri tabanında tablolarda birbirleri ile tamamen aynı olan iki kayıt kullanılabilir
c) Tablolarda aynı tipte bilgiyi içerecek alanların bulunması mutlak veri fazlalığı sorunudur.
d) Birinci normal formda hazırlanmış bir tabloda ekleme, silme ve güncelleme sırasında sorunlar olabilir.
e) Birinci normal formdan ikinci normal forma geçişte kısmi bağımlılıkların ortadan kaldırılması gerekmektedir.
3) Normalizasyon ile ilgili olarak aşağıdakilerden hangisi doğrudur?
a) 1NF’den 2NF’e geçebilmesi için tüm geçişken bağımlılıklar kaldırılmalıdır.
b) Tablolarda bir bilginin birden fazla tekrarlanması bellekte fazla yer kaplamaz.
c) Normalleştirme, taslak veri tabanı üzerinde birtakım işlemler yapılarak taslağı son haline yaklaştırma yöntemidir.
d) Veri tabanı tablolarında bir alana birden fazla veri girişi olabilir.
e) Herhangi bir tablonun tekrarlı bilgiler içerdiği duruma 2NF denir.
SQL- YAPISAL SORGU DİLİ
SQL sorgulama dilinin kullanıldığı bazı bilindik veritabanı işletim sistemleri: Oracle, Sybase, Microsoft SQL Server, Access vb. dir. SQL bir programlama dili değildir. Bir kullanıcı arayüzü tanımlayamaz yada bir dosya yönetimi yapamaz. SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Bu deyimler işlevlerine göre şu şekilde sınıflandırılır: 1)Veri tanımlama dili, 2)Veri düzenleme dili, ve 3) Veri kontrol dili.
Veri Tanımlama Dili: Bu gruptaki komutlar kullanılarak, tablo, trigger, view gibi veri tabanı nesneleri tanımlanır. Üç temel ifadesi, CREATE ile bir nesne tanımlanır, ALTER ile nesne üstünde değişiklik yapılır ve DROP ifadesi ile bir nesne silinebilir.
Veri Düzenleme Dili: Bu alt dil bir tabloya veri ekleme (INSERT), silme (DELETE) ve güncelleme(UPDATE) yapmanın yanı sıra verileri seçmek ve raporlamak için SELECT ifadesi ve SELECT ifadesi ile birlikte kullanılan, INTO, FROM, WHERE, LIKE, GROUP BY, ORDER BY, HAVING... gibi çok yan ifade vardır. Bu ifadelere ait örnekleri bir çok yerde bulmak mümkündür.
Veri Kontrol Dili: Temel 2 ifadeden oluşur. VTYS'de tanımlı Roller ve kullanıcılar için ifade ve nesne kullanma izni tanımlar. Erişim (GRANT) ve erişim kaldırma (REVOKE) ifadeleri ile bu yetkiler ayarlanır. SQL Server gibi VTYS'lerinde bunlara ek olarak erişim engelleme(DENY) ifadesi de yer almaktadır.
SQL ile Gerçekleştirilecek İşlemler
Veri Tabanı Oluşturma
SQL ile gerçekleştirilecek işlemlerde, üzerinde işlem yapılacak tablolar, bir veri tabanı içinde oluşturulur. Bu veri tabanını oluşturmak için, CREATE DATABASE isim; şeklindeki SQL komutunu kullanmak gerekir. Bu komut belirtilen isim’deki veri tabanını oluşturur.
Tablo Oluşturma
SQL ile giriş bölümünde verilen tabloların oluşturulması için, CREATE TABLE komutunu kullanmak gerekir. Aşağıda bu tabloyu oluşturacak SQL komutları verilmiştir. CREATE TABLE tabloadı; komutu ile tablolar oluşturulur. Bu komutu kullanırken SQL’in uygun veri tipleri kullanılır.
Tabloya Veri Girişi
Bir tabloya veri girişi işlemi için; INSERT INTO Tabloadı VALUES komutu kullanılır.
Tabloda Sorgulamalar Yapma
SQL içinde, tek bir tablo içinde çeşitli kriterlere göre bilgi sorgulama, bilgiyi sıralı olarak elde etme, bilgi özetleme, ortalama vb. gibi matematiksel işlemleri gerçekleştirmeyi sağlayan komut ve fonksiyonlar vardır.
Temel SQL Sorgulamaları Select Komutu
SELECT YAPISI
SELECT < * | [kolonadi [AS takmakolonadi] [, …] ] >
FROM tablo [takmatabloadi] [, …]
[WHERE <koşul>]
[GROUP BY <kolon_listesi>]
[HAVING <koşul>]
[ORDER BY <kolon_listesi> [ASC | DESC] ]
GROUP BY <kolon_listesi> içindeki kolonların değerleri aynı olan satırlar gruplanır.
Tablo Bilgilerinin Sıralanmış Olarak Listelenmesi
Tablodan listelenecek bilgilerin, belirli bir sütun adına göre (ad’a göre v.b.) sıralanmış olarak görüntülenmesi için, SELECT komutuna ORDER BY sözcüğü ilave edilir.
Birden Çok Alana Göre Sıralama
Bir tablo içinde verilerin aynı anda birden çok sütun (alana) göre sıralamakta mümkündür. Örneğin Personel tablosunu ad ve gelir alanlarına göre sıralamak isteyelim. SELECT sicil,ad,soyad,gelir FROM Personel ORDER BY ad,brüt;
Tekrarlı Satırların Ortadan Kaldırılması-SELECT DISTINCT
SQL dilindeki tablo yapısı, formal olarak tanımlanan ilişkisel veri tabanı tablo yapısından farklıdır. SQL de tablo içinde, birbirinin aynı data içeren satırlara müsaade edilir. İlişkisel veri modelinde ise müsaade edilmez. Birbirinin aynı olan satırların, listeleme esnasında, bir kez yazılması için, SELECT komutuna DISTINCT sözcüğü eklenir. SELECT DISTINCT FROM DISTINCT → listelen kayıtlardan tekrarlayan kayıtlardan birini göster.
Bölüm Soruları
1.Aşağıdakilerden hangisi veri tanımlama dili komutlarından değildir?
A) CREATE
B) DELETE
C) DROP
D) ALTER
2.Aşağıdaki komut dizilişinde eksik olan nedir?
create table
(
sno int primary key,
stokadi varchar(20),
adet int,
fiyat real,
sonkultar DateTime
)
a) Oluşturulacak veri tabanı adı yok.
b) Oluşturulacak tablo adı yok.
c) Girilecek değerler yok.
d) Ne oluşturulacağı açıklanmamış.
e) Veri türleri eksik.
3.Karakter türü bilgi içinde arama yapmak için yazılmış olan LIKE ‘AH%’ifadesinin anlamı aşağıdakilerden hangisidir?
a) Ah nin yüzde kaç olduğunu hesaplar.
b) AH ile başlayan tüm isimler.
c) AH ile biten tüm isimler.
d) Ah ile başlayan tüm isimler.
e) Ah ile biten tüm isimler.
1.2.2. Uzman Sistemlerin Tarihçesi
US’ ler, YZ ile uğraşanlar tarafından 1950’ li yıllardan itibaren geliştirilmeye başlandı. (37) Bu dönemde araştırmacılar birkaç muhakeme kuralı ve güçlü bilgisayarlar ile insanüstü bir performans gösterecek bir uzmanı üretebileceklerine inanıyorlardı. Bu alandaki çalışmalar genel amaçlı problem çözücülere yönelikti.
Genel amaçlı problem çözücü mantık teorisinden hareketle akıllı bir bilgisayar yaratmaya yönelik bir çabaydı. Bu çaba US’ lerin öncüsü sayılır. (38)
Genel amaçlı programlardan özel amaçlı programlara geçiş 1960’ ların ortalarından itibaren geliştirilmeye başlandı. Bu dönemin sonunda araştırmacılar, problem çözme mekanizmasının akıllı bir bilgisayar sisteminin küçük bir parçası olduğunun farkına vardılar ve şu sonuçlara ulaştılar:
• Genel amaçlı problem çözücüler, yüksek performanslı US’ leri kurmak için yeterli değildir.
• İnsan problem çözücüler (insan-uzman) sadece çok dar bir alanda çalışırlarsa başarılı oluyorlar.
• US’ lerin yeni bilgiler geldikçe sürekli olarak yenilenmesi gerekir. Bu da kurala dayalı bir sistemin varlığıyla gerçekleşebiliyor.
1970’li yıllarda pek çok US geliştirildi. Bu sistemlerde bilginin merkezi rolünün farkına varan YZ araştırmacıları kapsamlı bir bilgi sunum teorisi üzerinde çalışmaya başladılar. Fakat bu kapsamlı bilgi sunumunda genel amaçlı problem çözme çabalarında olduğu gibi ancak sınırlı başarılı bir sonuçla karşılaşıldı ve US’ lerin başarısının uzmanının sahip olduğu belirli bilgiden kaynaklandığı sonucuna varıldı.
US’ ler 1980’ li yılların başından itibaren, akademik hayattan ticari hayata geçiş yapmış ve bu dönemde oldukça yoğun içerikli programlar uygulamaya konulmuştur.
1.2.3. Uzman Sistemlerin Günümüzdeki Kısıtları
US’ ler günümüzde azımsanamayacak gelişmeler kaydetmiş olmasına karşın, yine de bazı kısıtlara sahiptir. Bu kısıtlar aşağıda satırbaşları halinde verilmiştir. (39)
• US’ lerin dış dünya ile bağlantıları yetersizdir,
• Tabandaki bilgi yüzeyseldir.
• Aşırı derecede insan-uzman emeğine muhtaçtır.
• Hemen hemen hiç öğrenme becerisi yoktur.
• Kullanım alanı şimdilik sınırlı sayılabilir.
• Akıl yürütme metodları sınırlıdır.
1.2.5. Uzman Sistemlerde İnsan Faktörü
US’ in geliştirilmesi ve kullanılmasına en azından iki kişi katılır; uzman ve kullanıcı.
Çoğunlukla bilgi mühendisi ve sistem yapıcı da bu gruba dahil edilir.
Uzman: Uzman özel bilgisi, yargısı, deneyimi, metoduyla birlikte, bu yetenekleri sorunlara uygulayabilir ve tavsiyede bulunabilir. Uzmanın görevi bilgi sisteminin yapacağı görevleri, nasıl yapacağını sisteme sunmaktır. Uzman hangi gerçeklerin önemli olduğunu ve bu gerçekler arasındaki ilişkilerin anlamını bilen kişidir.
Kullanıcı: US’ lerin birçok kullanıcıları vardır. Bunlar şu kimliklerle karşımıza çıkabilirler:
Direkt danışmanlık isteyen ve uzman olmayan müşteri, öğrenmek isteyen bir öğrenci, bilgi tabanını geliştirmek veya arttırmak isteyen US yapıcı, uzman vb. Kullanıcıların bilgisayarlar hakkında bilgileri veya problemler hakkında derin bilgileri olmayabilir. Ama birçok kişi US'’leri kullanarak daha çabuk ve muhtemelen daha az maliyeti olan kararlara ulaşmak isterler. US’ lerin kapasiteleri zaman ve çaba tasarrufu etmek için geliştirildiği için, bunlar kullanıcılara geleneksel bilgisayar sistemlerinin aksine en kısa cevapları sağlarlar.
Bilgi Mühendisi: Bilgi mühendisi, uzmana problem alanlarını yapılandırmak için yardım eder. Bunu insan-uzman cevaplarını yorumlayarak, bütünleştirerek, benzetmeler yaparak, ters örnekler vererek yapar. Bu kişi aynı zamanda (çoğunlukla) sistemi yapan kişidir. US yapımında bilgi mühendislerinin eksikliği (azlığı) önemli bir problemdir. US’ i dizayn edenler bu güçlüğü yenmek için üretim araçları kullanarak bilgi mühendisine olan ihtiyacı azaltmaktadırlar.
Diğer Katılanlar: US’ lere birçok diğer kişiler katılabilir. Örneğin sistem yapıcı, US’ lerin diğer bilgisayar sistemleri ile bütünleşmesine yardım eder. Satıcı ve diğer destek elemanları da bu başlık altında ifade edilebilirler.
2. PROBLEM TANIMLAMA VE PROBLEM ÇÖZME STRATEJİLERİ
Yapay zekanın makineler açısından bakıldığında en önemli amacı, makinelerin özellikle insanlar gibi karar verme işlerini yapmasını sağlamaktır. Karar verme yada problem çözme insanlar için bile zor bir iştir. Problem çözerken sebep bulma işlemi, zekice bir davranışın temel karakteristiğidir. Yapay zeka ve özellikle uzman sistemlerin nasıl çalıştığını anlamak için yapay zekanın kullandığı problem çözme prosesini ve yaklaşımlarını bilmek gerekir.
2.1. Problem Çözme ve Karar Verme
Problem çözme çoğunlukla düşünen varlıkların performans çıktılarıyla ilgilidir. Problem çözme bir probleme çözüm ararken yapılan zihin aktivitesidir. Problem terimi biraz yanıltıcıdır. Biz çoğunlukla problemi üzüntü ve tehlike durumları olarak düşünürüz. Bu bazı durumlarda doğru olmasına rağmen her durumda doğru değildir. Örneğin, potansiyel bir mergeri analiz etmek bir fırsat araştırmasıdır ve problem çözme olarak düşünülebilir. Aynı şekilde yeni bir teknoloji araştırması da bir problem çözme işlemidir. Problem çözme deyimi ilk olarak matematikçiler tarafından kullanılmıştır. İş dünyasında karar verme deyimi problem çözme anlamında kullanılmaktadır.
3.2. Problem Çözme Prosesi
Problem çözme prosesinin tanımı araştırmacıların eğitim ve tecrübelerine göre değişir.
Örneğin Bel et al, problem çözme ve karar vermeye insanların önsezilerine göre kantitatif olarak değişen birkaç yaklaşım ortaya atmıştır. Genellikle altı temel adım proses içinde gözlenebilir: problemi saptama ve tanımlama, bir çözüm bulmak için kriter belirleme, alternatifler oluşturma, çözüm arama ve değerlendirme, seçim yapma ve tavsiyelerde bulunma ve uygulama (Şekil 2.1). Bazı bilginler değişik sınıflandırmalar kullanırlar. Örneğin, Simon' un klasik yaklaşımında üç evre vardır: zeka, tasarım ve seçim.
Şekil 2.1 deki proses lineermiş gibi gösterilmesine rağmen nadiren lineerdir. Gerçek hayatta bu adımlardan bazıları birleştirilebilir, bazı adımlar temel adım olabilir yada başlangıç adımlarında revizyonlar yapılabilir. Kısaca bu proses iteratiftir. Her bir adımın kısa açıklaması aşağıda verilmektedir.
1. Adım: Problemi Saptama ve Tanımlama: Bir problem (ya da fırsat) ilk olarak fark edilmelidir. Problemin (ya da fırsatın) büyüklüğü ve önemi belirlenir ve tanımlanır.
2. Adım: Kriteri Saptama: Bir problemin çözümü olası alternatifleri karşılaştırmak için kullanılan kritere bağlıdır. Örneğin iyi bir yatırım arama güvenlik, likidite ve geri çevirme oranı gibi kriterlere bağlıdır. Bu adımda kriterleri ve bir birine göre bağıl önemlerini belirleriz.
3. Adım: Alternatifler Oluşturma: Tanıma göre bir karar durumu olabilmesi için iki ya da daha fazla hareket şansı olmalıdır. Potansiyel çözümler yaratma yaratıcılık ve zeka gerektirir.
4. Adım: Çözüm Arama ve Değerlendirme: Bu adımda önceden belirlenmiş kriterler ışığında çözüm seçenekleri incelenir. Bu adım, en iyi ya da "yeterince iyi" çözümleri bulmaya çalıştığımız için temel olarak bir arama prosesidir. Bu adımda birkaç tane arama, değerlendirme ve sebep bulma metodolojileri kullanılabilir.
5. Adım: Seçim Yapma ve Tavsiyelerde Bulunma: Aramanın sonucu, bir probleme çare olarak tavsiye etmek için bir çözüm seçmedir.
6. Adım: Uygulama: Problemi çözmek için tavsiye edilen çözüm başarılı olarak gerçekleştirilmelidir.
2.3. İnsanın Problem Çözme Tekniği Bir Bilgi İşleme Yaklaşımı
Yapay zekanın esas amacı insan zekasını anlamaktır. İnsan zekasını bilgisayarda modellemeye çalışınca, bilgiyi nasıl sakladığımızı ve nasıl kullandığımızı öğrenme başlarız. Düşünce kalıplarımızı, sebep bulma tekniklerimizi ve problem çözme yaklaşımlarımızı anlamaya başlarız. Nasıl öğrendiğimizi öğreniriz, güçlü ve zayıf noktalarımız ortaya çıkar. Sonuçta zekamızı daha iyi anlarız ve bu bizi daha iyi öğrenme yollarına ve zekamızı gerçek dünya problemlerine uygulamamıza yöneltir. Bu tür çalışmaları yapan bilime kavramsal bilim denir ve bu bilimin ilginç bir alanı da insanların ve bilgisayarların bilgi işleme yoludur. Yapay zekayı uygularken problem çözmeye ve karar vermeye özel bir yaklaşım düşünürüz. Bu yaklaşım, problem çözmenin bilgi işleme prosesi olarak düşünülebileceği inancına dayanmaktadır ve bu yaklaşım insanların düşünme yollarının nitel tanımlarını kullanan kavramsal yaklaşıma dayanmaktadır. Aşağıda insanların bilgi işleme prosesini tanımlayan Newell-Simon Modeli açıklanmaktadır.
Algısal Alt Sistem
İnsan bilgi işleme sistemi için dış uyarıcılar, girdilerdir. Bu uyarıcılar, gözümüz ve kulağımız gibi duyargalar tarafından alınır. Algısal alt sistem, bu duyargalar ve onların tampon belleklerinden oluşur. Bu bellekler, algısal alt sistem kavramsal alt sistem tarafından kullanılmayı beklerken gelen verileri saklar.
Kavramsal Alt Sistem
İnsan Duyuları tampon belleklerde çok büyük miktarda yer tutar. Karar vermek gerektiği zaman kavramsal alt sistem uygun bilgiyi seçer. Bilgisayardaki merkezi işleme birimi gibi, temel işlemci bu kararı vermek için duyarga belleklerinden gerekli bilgiyi alır ve geçici belleğe transfer eder. İşlemciler, bilgisayardaki "al-çalıştır" döngülerine benzer döngülerde çalışır. Bu döngülerde işlemci, bir bellekten bilgiyi alır, değerlendirir ve bu bilgiyi başka bir belleğe saklar.
Kavramsal alt sistemde üç bölüm vardır: temel işlemci, geçici bellek ve problem çözme komutlarından oluşan programın bir kısmını veya tamamını yorumlayan yorumlayıcıdan oluşur.
Uzun-süreli bellek, kompleks indeksleme sistemiyle saklanmış büyük miktarda sembollerden oluşur.
Motor Alt Sistemi
İşlemci, bellekleri taradıktan ve aradıktan sonra bilgiyi motor alt sistemine gönderir. Motor işlemcileri kas ve insanın diğer iç sistemlerinin hareketlerini başlatır. Bunun sonunda gözlenebilir aktiviteler örneğin konuşma meydana gelir.