ORACLE VTYS ile ÖĞRENCİ OTOMASYONU

advertisement
T.C.
MUSTAFA KEMAL ÜNİVERSİTESİ
FEN BİLİMLERİ ENSTİTÜSÜ
BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
ORACLE DATA MINER ile GÖĞÜS KANSERİ
VERİLERİ ÜZERİNE BİR VERİ MADENCİLİĞİ
UYGULAMASI
BÜLENT SİYAH
LİSANS TEZİ
İskenderun/HATAY
MAYIS-2012
MUSTAFA KEMAL ÜNİVERSİTESİ
FEN BİLİMLERİ ENSTİTÜSÜ
ORACLE DATA MINER ile GÖĞÜS KANSERİ VERİLERİ
ÜZERİNE BİR VERİ MADENCİLİĞİ UYGULAMASI
BÜLENT SİYAH
LİSANS TEZİ
BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
Yaşar DAŞDEMİR danışmanlığında hazırlanan bu tez
/
/
tarihinde
aşağıdaki jüri üyeleri tarafından oybirliği/oyçokluğu ile kabul edilmiştir.
İmza………………….
İmza…………………
İmza………………
Başkan
Üye
Üye
Bu tez Enstitümüz Bilgisayar Mühendisliği Anabilim Dalında hazırlanmıştır.
Kod No:
…………………..
Enstitü Müdürü
İmza ve Mühür
Bu çalışma …………………….. tarafından desteklenmiştir.
Proje No:
Not: Bu tezde kullanılan özgün ve başka kaynaktan yapılan bildirişlerin, çizelge, şekil
ve fotoğrafların kaynak gösterilmeden kullanımı, 5846 sayılı Fikir ve Sanat Eserleri
Kanunundaki hükümlere tabidir.
İÇİNDEKİLER
İÇİNDEKİLER ............................................................................................................. I
ÖZET.......................................................................................................................... III
KISALTMA DİZİNİ .................................................................................................. IV
ŞEKİLLER DİZİNİ..................................................................................................... V
1. GİRİŞ ....................................................................................................................... 1
1.1. Gögüs Kanseri ve Alınan Verileri ..................................................................... 1
2. VERİ MADENCİLİĞİ ............................................................................................. 3
2.1. Tanım ................................................................................................................ 3
2.2. Temel Adımlar .................................................................................................. 7
2.3. Problemlerin Çözüm Yöntemleri ...................................................................... 9
2.3.1.Karakterize Etme (Characterization)....................................................................... 9
2.3.2. Ayrımlaştırma (Discrimination) ........................................................................... 10
2.3.3. Sınıflandırma (Classification) .............................................................................. 10
2.3.4. Tahmin etme (Prediction) .................................................................................... 10
2.3.5. Birliktelik kuralları (Association rules) ............................................................... 11
2.3.6. Kümeleme (Clustering) ........................................................................................ 11
2.3.7. Aykırı değer analizi (Outlier analysis) ................................................................. 11
2.3.8. Zaman serileri (Time series) ................................................................................ 12
2.3.9. Veri görüntüleme (Visualization) ........................................................................ 12
2.3.10. Yapay sinir ağları (Artificial neural networks) .................................................. 12
2.3.11. Genetik algoritmalar (Genetic algorithms) ........................................................ 13
2.3.12. Karar ağaçları (Decision trees)........................................................................... 13
2.3.13. Kural çıkarma (Rules induction) ........................................................................ 13
3. ORACLE VERİTABANI YÖNETİM SİSTEMİ .................................................. 14
3.1. Giriş Ekranı ............................................................................................................. 14
3.2. Veritabanı Ana Yönetim Ekranı.............................................................................. 14
3.3. Sunucu Ekranı ......................................................................................................... 15
4. ORACLE DATA MINER ...................................................................................... 18
I
4.1. Erişim .............................................................................................................. 18
4.2. ODM Ana Ekranı ............................................................................................ 19
4.3. Veri Aktarımı .................................................................................................. 20
4.4. İstatistik İşlemleri ............................................................................................ 24
4.5. Veri Temizleme ve Hazırlama İşlemleri ......................................................... 25
4.6. Veri Madenciliği Etkinlikleri .......................................................................... 31
4.6.1. Model Oluşturma ................................................................................................. 31
4.6.2. Modelin Uygulanması .......................................................................................... 42
5. SONUÇ .................................................................................................................. 47
KAYNAKLAR ...................................................................................................... 49
TEŞEKKÜR ........................................................................................................... 50
ÖZGEÇMİŞ ........................................................................................................... 51
II
ÖZET
Bu çalışmada gögüs kanseri verileri üzerine bir veri madenciliği uygulaması
yapılmıştır. Bu uygulama ile gögüs kanseri verilerinden iyi huylu kanser verilerini
yüksek doğrulukla tahmin edilmesi amaçlanmıştır. İyi huylu kanser verilerinin
tahmin edilmesinin nedeni eldeki verilerle bir kanser verilerine test işlemi
uygulamadan ilk anda teşhis edilmesini sağlamaktır.
Bu amaçla gögüs kanseri verileri Wisconsin Diagnostic Breast Cancer (WDBC)
datasetinden alınmış, ayıklanarak tablolara ayrılmıştır. Kanser verilerinin yapısından
dolayı veri madenciliği probleminin sınıflandırma modeline uygun olduğu
belirlenmiştir. Bu problemi çözmek için de sınıflandırma modellerinin
algoritmalarından biri olan Naive Bayes seçilmiştir.
Veri madenciliği uygulamasını gerçekleştirmek için ilk olarak sunucu üzerine Oracle
veritabanının 11g sürümü, istemci üzerine ise Oracle Data Miner paket programı
yüklenmiştir. Daha sonra oluşturulan tablolar veritabanına aktarılmış ve gerekli
modeller oluşturulmuştur. Bu modeller yardımıyla da istenilen doğrulukta tahminler
elde edilmiş ve yorumlanmıştır.
Anahtar Kelimeler: Oracle Data Miner, Veri Madenciliği, ODM ile Veri
Madenciliği, Oracle Veritabanı
III
KISALTMA DİZİNİ
ABN
CART
CHAID
KDD
NB
ODM
SVM
SQL
VTYS
WDBC
: Adaptive Bayes Network
: Classification and Regression Trees
: Chi Square Automatic Interaction Detection
: Knowledge Discovery in Databases
: Naive Bayes
: Oracle Data Miner
: Karar Destek Vektörleri
: Yapısal Sorgulama Dili (Structured Query Language)
: Veritabanı Yönetim Sistemi
: Wisconsin Diagnostic Breast Cancer
IV
ŞEKİLLER DİZİNİ
Şekil 2.1. Veri madenciliği disiplinler arasıdır ........................................................... 4
Şekil 2.2. Veri indirgeme yöntemleri .......................................................................... 8
Şekil 2.3. Veri madenciliği algoritmaları .................................................................. 13
Şekil 3.1. Oracle VTYS’nin giriş ekranı ................................................................... 14
Şekil 3.2. Oracle VTYS’nin ana yönetim ekranı ...................................................... 15
Şekil 3.3. Oracle VTYS’nin sunucu ekranı ............................................................... 15
Şekil 3.4. Oracle’da tüm kullanıcıların listelendiği ekran......................................... 16
Şekil 3.5. Oracle’da seçilen kullanıcıya ait bilgi ekranı............................................ 16
Şekil 3.6. Oracle’da seçilen kullanıcıya hakların verilmesi ...................................... 17
Şekil 4.1. ODM erişim ekranları ............................................................................... 18
Şekil 4.2. ODM ana ekranı........................................................................................ 19
Şekil 4.3. ODM kullanıcıların gösterimi ................................................................... 20
Şekil 4.4. ODM’de tabloların gösterimi .................................................................... 20
Şekil 4.5. Tabloya veri aktarımı ................................................................................ 21
Şekil 4.6. Tabloya veri aktarımı 1. aşama, aktarılacak verilerin seçimi ................... 21
Şekil 4.7. Tabloya veri aktarımı 2. aşama, verideki sütunlar .................................... 22
Şekil 4.8. Tabloya veri aktarımı 3. aşama, verideki sütunların seçilmesi ................. 22
Şekil 4.9. Tabloya veri aktarımı 4. aşama, sütunların ilişkilendirilmesi ................... 23
Şekil 4.10. Tabloya veri aktarımı 5. aşama, işlemin sonu ........................................ 23
Şekil 4.11. ODM'ye aktarılan tablonun görünümü ................................................... 24
Şekil 4.12. ODM'de bir tablonun istatistiksel verileri ............................................... 24
Şekil 4.13. ODM'deki bir tablonun bir sütunu için histogram örneği ....................... 25
Şekil 4.14. Verinin model ve test tablolarına ayrılması işleminin 1. aşaması .......... 26
Şekil 4.15. Verinin model ve test tablolarına ayrılması işleminin 2. aşaması .......... 27
Şekil 4.16. Verinin model ve test tablolarına ayrılması işleminin 3. aşaması .......... 27
Şekil 4.17. Transformation 1.aşama .......................................................................... 28
Şekil 4.18. Transformation 2.aşama .......................................................................... 28
Şekil 4.19. Transformation 3.aşama .......................................................................... 29
Şekil 4.20. “SONUC” için histogram (Eşitlenmeden önceki durum) ....................... 30
Şekil 4.21. Transformation 4.aşama .......................................................................... 30
Şekil 4.22. Transformation 5.aşama.......................................................................... 31
Şekil 4.23. ODM'de model oluşturma yöntemi, fonksiyon tipi seçimi ..................... 32
Şekil 4.24. Algoritma seçimi..................................................................................... 32
Şekil 4.25. Model oluşturma, 1. aşama ..................................................................... 33
Şekil 4.26. Model oluşturma, 2. aşama ..................................................................... 33
Şekil 4.27. Gelişmiş ayarlar, “Sample” sekmesi ....................................................... 34
Şekil 4.28. Gelişmiş ayarlar, “ Discretize” sekmesi.................................................. 34
Şekil 4.29. Gelişmiş ayarlar, “Split” sekmesi ........................................................... 35
Şekil 4.30. Gelişmiş ayarlar, “Build” sekmesi .......................................................... 35
Şekil 4.31. Gelişmiş ayarlar, “Test Metrics” sekmesi ............................................... 36
Şekil 4.32. Model oluşturma sürecinin son hali ........................................................ 37
Şekil 4.33. Testin sonucu, “Predictive Confidance” sekmesi ................................... 37
Şekil 4.34. Testin sonucu, “Accuracy” sekmesi ....................................................... 38
Şekil 4.35. Testin sonucu, Accuracy’de Cost'un görüntülenmesi ............................. 39
Şekil 4.36. Testin sonucu, “ROC” sekmesi .............................................................. 39
V
Şekil 4.37. Testin sonucu, “Lift” sekmesi, Cumulative Lift Chart ........................... 40
Şekil 4.38. Testin sonucu, “Lift” sekmesi, Cumulative Positive Cases Chart .......... 41
Şekil 4.39. Testin sonucu, “Test Settings” sekmesi .................................................. 41
Şekil 4.40. Testin sonucu, “Task” sekmesi ............................................................... 42
Şekil 4.41. ODM'de modelin uygulanması ............................................................... 42
Şekil 4.42. Uygulama 1. aşama, uygulama yapılacak modelin seçimi ..................... 43
Şekil 4.43. Uygulama 2. aşama, uygulama yapılacak tablonun seçimi .................... 43
Şekil 4.44. Uygulama 3. aşama, sonuç tablosunda gösterilecek sütunların seçimi .. 44
Şekil 4.45. Uygulama 4. aşama, tahmini yapacak olan aktivitenin seçimi ............... 44
Şekil 4.46. Uygulama 5. aşama, tahmin yönteminin seçimi ..................................... 45
Şekil 4.47. Uygulama 6. aşama, aktivitenin isminin belirlenmesi ............................ 45
Şekil 4.48. Uygulama sürecinin son hali ................................................................... 46
Şekil 4.49. Uygulama sonuç tablosu ......................................................................... 46
Şekil 5.1. Uygulama sonucu...................................................................................... 47
Şekil 5.2. Modelin doğruluk tablosu ......................................................................... 48
VI
1. GİRİŞ
Son yıllar içerisinde elektronik ortamda saklanan veri miktarında büyük bir artış
meydana gelmiştir. Yeryüzündeki bilgi miktarı ve buna bağlı olarak yeni veritabanı
sayısı da hızla artmaktadır. Süpermarket alışverişi, banka kartları kullanımı, telefon
aramaları gibi günlük hayatta kullanılan birçok faaliyetin yanında birçok farklı bilim
disiplininden elde edilen veriler, hava tahmini simülasyonu, sanayi faaliyet testleri
büyük veritabanlarında kayıt altına alınmaktadır. Bilginin iş dünyasında çok değerli
olduğu ve iş dünyasının kalbini oluşturduğu, karar alıcıların bu bilgi ışığında şirket
stratejileri geliştirdiği bilinmektedir. Bu çalışma kapsamında gögüs kanseri verileri
değerlendirmede kolay sağlaması amaçlanmıştır.
1.1. Gögüs Kanseri ve Alınan Verileri
Göğüs kanseri göğüs hücrelerinde başlayan kanser türüdür. Göğüs kanserine sebep
olan tümor iyi veya kötü huylu olabilir. İyi huylu (benign) tümörler kanser değildir.
Komşu bölgelere yayılmazlar. Sınırları belirgindir. Komşu dokuları eritmezler.
Tamamen çıkartıldığı zaman genellikle tekrarlamazlar. Kötü huylu (malign) tümörler
ise kanser olarak adlandırılır. Komşu organ ve dokulara yayılırlar, kemik doku ile
karşılaştıklarında onu dahi eritirler (rezorbsiyon). Sınırları belirsizdir. Lenf ve kan
yoluyla uzak organlara da yayılırlar.
Çalışmada gögüs kanseri verileri Wisconsin Diagnostic Breast Cancer (WDBC)
dataseti
ile değerlendirilmiştir. Dataset
(http://archive.ics.uci.edu/ml/machine-
learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data) adresinden
alınmıştır. Verilerdeki öznitelik sayısı 11 dur. Bu öznitelikler; veriyi tanımlayan id,
hücrenin küme kalınlığı, boyutu, şekli, kenar yapışma durumu, tek epitel hücre
boyutu, çekirdek, yumşak kromatin, normal çekirdekçik, mitoz durumu ve verilerin
ait olduğu sınıftır. Bu sınıf iyi veya kötü huylu anlamına gelen değerler ile ifade
edilir. Çalışmada iyi huylu veriler için 2, kötü huylu veriler için 4 değeri verilmiştir.
1
Verilerdeki gögüs kanseri verisi 699 tanedir. Bu verilerden 241 tanesi sonuç olarak
kötü huylu, 458 tanesi de iyi huylu olan kanser türüdür.
2
2. VERİ MADENCİLİĞİ
Günümüzde kullanılan veri tabanı yönetim sistemleri eldeki verilerden sınırlı
çıkarımlar yaparken geleneksel çevrimiçi işlem sistemleri (on-line transaction
processing systems) de bilgiye hızlı, güvenli erişimi sağlamaktadır. Fakat ikisi de
eldeki verilerden analizler yapıp anlamlı bilgiler elde etme imkanını sağlamakta
yetersiz kalmışlardır. Verilerin yığınla artması ve anlamlı çıkarımlar elde etme
ihtiyacı arttıkça uzmanlar Knowledge Discovery in Databases (KDD) adı altında
çalışmalarına hız kazandırmışlardır. Bu çalışmalar sonucunda da veri madenciliği
(Data Mining) kavramı doğmuştur. Veri madenciliğinin temel amacı, çok büyük veri
tabanlarındaki ya da veri ambarlarındaki veriler arasında bulunan ilişkiler, örüntüler,
değişiklikler, sapma ve eğilimler, belirli yapılar gibi bilgilerin matematiksel teoriler
ve bilgisayar algoritmaları kombinasyonları ile ortaya çıkartılması ve bunların
yorumlanarak değerli bilgilerin elde edilmesidir.
2.1. Tanım
İlişkisel veri tabanı sistemleriyle ulaşılan veriler tek başına bir anlam ifade etmezken
veri madenciliği teknolojisi bu verilerden anlamlı bilgi üretilmede öncü rol
oynamaktadır. Aşağıda bazı veri madenciliği tanımlarına yer verilmektedir.
1.
"Veri madenciliği; veritabanında bilgi keşfi (KDD), eldeki verilerden
önceden bilinmeyen fakat potansiyel olarak yararlı olabilecek bilgileri
çıkarmaktır. Bu kümeleme, veri özetlemesi, öğrenme sınıflama kuralları,
değişikliklerin analizi ve sapmaların tespiti gibi birçok farklı teknik bakış
açısını içine alır." [1].
2.
"Veri madenciliği, otomatik veya yarı otomatik çözüm araçları (tools) ile
büyük ölçeklerdeki verinin anlamlı yapılar ve kurallar keşfetmek üzere
araştırılması (exploration) ve analiz edilmesidir." [2].
3.
"Veri madenciliği çok büyük tabanları içindeki veriler arasındaki
bağlantılar ve örüntüleri araştırarak, gizli kalmış yararlı olabilecek
verilerden değerli bilginin çıkarılması sürecidir." [3].
3
4.
"Veri Madenciliği, büyük veri ambarlarından daha önceden bilinmeyen,
doğru ve eyleme geçirilebilir bilgiyi ayrıştırma ve çok önemli kararların
alınması aşamasında ayrıştırılan bu bilgiyi kullanma sürecidir." [4].
Veri madenciliğinin, disiplinler arası bir teknoloji olarak dört ana başlıktan oluştuğu
kabul edilmektedir. Bunlar sınıflama, kategori etme, tahmin etme ve görüntülemedir.
Bu dört temel dışında istatistik, makine bilgisi, veritabanları ve yüksek performanslı
işlem gibi temelleri de içerir.
Şekil 2.1. Veri madenciliği disiplinler arasıdır [5]
Algoritma: Verideki ilişki ya da örgüleri belirlemekte kullanılan programatik
tekniklerdir.
Model: Algoritma tarafından belirlenen ilişkilerin tanımıdır. Bu tanım genelde
kurallar kümesi, karar ağacı, denklemler ya da ilişkiler ağı şeklinde ifade edilir.
Vaka: Tekil bir nesneyle ilişkilendirilen özellikler ve ilişkiler koleksiyonudur.
Gözlem olarak da adlandırılır. Vaka kümesi, aynı özellikleri paylaşan vakalar
grubudur. Bu bir tablo gibi düşünülebilir, tablonun her satırında bir vaka yer alır. Tek
tablo yerine birbiriyle ilişkili iki ayrı tablo kullanılması da sözkonusu olabilir. Bu
durumda ana tablodaki her satır için yavru tabloda birden fazla satır bağlantılı olarak
eklenebilir. Gözlem kümesi olarak da adlandırılır.
4
Bağımlı değişken (ya da tahmin edilen özellik): Algoritmanın tahmin etmek ya da
gruplamak için model inşa edeceği değişken.
Bağımsız değişken (ya da tahmin eden özellik): Modeli inşa ederken kullanılan ve
tarif edici bilgilere sahip olan değişkenlere denir. Bağımsız değişkenlerin içlerindeki
çeşitli kombinasyonlar ele alınarak algoritma tarafından gruplamalar ve tahminler
oluşturulur.
Kesikli ya da sürekli değişkenler: Kesikli ya da sürekli değerlere sahip olan sayısal
kolonlar. Mesela maaşlarla ilgili gerçek değerleri içeren bir kolon süreklidir. Ama
maaş aralıkları belirler ve gerçek değerleri bu aralıklara karşılık gelen 0, 1, 2… gibi
bir sayı dizisiyle ifade ederseniz, kesikli bir kolon elde etmiş olursunuz. Daha yeni
araçlarda, kesikli kolonlar için sayısal değerler yerine tarif edici karakter ifadelerine
de izin verilmektedir. Kolon tipinin kesikli ya da sürekli olması, kullanılan veri
madenciliği algoritmaları için önemli olabilmektedir.
Bağıntı: “Çocuk bezi alan müşterilerin %30’u bira da satın alır.” Sepet analizinde
(basket analysis) müşterilerin beraber satın aldığı malların analizi yapılır. Buradaki
amaç mallar arasındaki pozitif veya negatif korelâsyonları bulmaktır.
Korelasyon, olasılık kuramı ve istatistikte iki bağımsız değişken arasındaki doğrusal
ilişkinin yönünü ve gücünü belirtir. Genel istatistiksel kullanımda korelasyon,
bağımsızlık durumundan ne kadar uzaklaşıldığını gösterir.Korelasyon, olasılık
kuramı ve istatistikte iki bağımsız değişken arasındaki doğrusal ilişkinin yönünü ve
gücünü belirtir. Genel istatistiksel kullanımda korelasyon, bağımsızlık durumundan
ne kadar uzaklaşıldığını gösterir.
Çocuk bezi alan müşterilerin mama da satın alacağını veya bira satın alanların cips
de alacağını tahmin edebiliriz ama ancak otomatik bir analiz bütün olasılıkları göz
önüne alır ve kolay düşünülemeyecek, örneğin çocuk bezi ve bira arasındaki
bağıntıları da bulur.
Sınıflandırma: “Genç kadınlar küçük araba satın alır; yaşlı, zengin erkekler büyük,
lüks araba satın alır.” Amaç bir malın özellikleri ile müşteri özelliklerini eşlemektir.
Böylece bir müşteri için ideal ürün veya bir ürün için ideal müşteri profili
5
çıkarılabilir. Örneğin bir otomobil satıcısı şirket geçmiş müşteri hareketlerinin analizi
ile yukarıdaki gibi iki kural bulursa genç kadınların okuduğu bir dergiye reklâm
verirken küçük modelinin reklâmını verir.
Regresyon: “Ev sahibi olan, evli, aynı iş yerinde beş yıldan fazladır çalışan, geçmiş
kredilerinde geç ödemesi bir ayı geçmemiş bir erkeğin kredi skoru 825’dir.” Başvuru
skorlamada (application scoring) bir finans kurumuna kredi için başvuran kişi ile
ilgili finansal güvenilirliğini notlayan örneğin 0 ile 1000 arasında bir skor hesaplanır.
Bu skor kişinin özellikleri ve geçmiş kredi hareketlerine dayanılarak hesaplanır.
Zaman İçinde Sıralı Örüntüler: “İlk üç taksitinden iki veya daha fazlasını geç
ödemiş olan müşteriler %60 olasılıkla kanuni takibe gidiyor.” Davranış skoru
(behavioral score), başvuru skorundan farklı olarak kredi almış ve taksitleri ödeyen
bir kişinin sonraki taksitlerini ödeme/geciktirme davranışını notlamayı amaçlar.
Benzer Zaman Sıraları: “X şirketinin hisse fiyatları ile Y şirketinin hisse fiyatları
benzer hareket ediyor.” Amaç zaman içindeki iki hareket serisi arasında bağıntı
kurmaktır. Bunlar örneğin iki malın zaman içindeki satış miktarları olabilir. Örneğin
dondurma satışları ile kola satışları arasında pozitif, dondurma satışları ile salep
satışları arasında negatif bir bağıntı beklenebilir.
Fark Saptanması: “Normalden farklı davranış gösteren müşterilerim var mı?”
Amaç önceki uygulamaların aksine kural bulmak değil, kurala uymayan istisnai
hareketleri bulmaktır. Bu da örneğin olası sahtekârlıkların saptanmasını (fraud
detection) sağlar. Örneğin Visa kredi kartı için yapılan CRIS sisteminde bir yapay
sinir ağı kredi kartı hareketlerini takip ederek müşterinin normal davranışına
uymayan hareketler için müşterinin bankası ile temasa geçerek müşteri onayı
istenmesini sağlar.
Doküman Madenciliği: “Arşivimde (veya internet üzerinde) bu dokümana benzer
hangi dokümanlar var?” Amaç dokümanlar arasında ayrıca elle bir tasnif
gerekmeden benzerlik hesaplayabilmektir (text mining). Bu genelde otomatik olarak
çıkarılan anahtar sözcüklerin tekrar sayısı sayesinde yapılır.
6
Madencilik Yapısı (Mining Structure): Microsoft tarafından kullanılan bir
tanımdır. Analysis Services’daki bir vaka kümesini temsil eder. Aslında alttaki veri
yapısı üzerinde yer alan bir metadata katmanıdır. Verilerin temel özellikleri yanısıra
veri madenciliği açısından çeşitli özelliklerini de barındırır. Bu yapı üzerine modeller
kurulur.
Madencilik modeli: Belirli bir algoritmanın belirli bir madencilik çatısı üzerine
uygulanmış halidir. Aynı çatı üzerine farklı algoritmalar ya da farklı parametrelerle
birden fazla model oluşturabilirsiniz.
2.2. Temel Adımlar
Veri madenciliği uygulamalarında sırasıyla takip edilmesi gereken temel aşamalar
aşağıda sistematik biçimde verilmiştir.

Uygulama alanının ortaya konulması
Bu ilk adımda veri madenciliğinin hangi alan ve hangi amaç için yapılacağı tespit
edilir.

Hedef veri grubu seçimi
Belirlenen amaç doğrultusunda bazı kriterler belirlenir. Bu kriterler çerçevesinde
aynı veya farklı veritabanlarından veriler toplanarak hedef (target) veri grubu elde
edilir.

Model seçimi
Veri madenciliği probleminin seçimi datalar üzerinden belirlenir. (Sınıflandırma,
Kümeleme, Birliktelik Kuralları, Şablonların ve İlişkilerin Yorumlanması v.b.)

Ön işleme
Bu aşamada seçilen veriler ayıklanarak silinir, eksik veri alanları üzerine stratejiler
geliştirilir. Veriler tekrardan düzenlenip tutarlı bir hale getirilir. Bu aşamada yapılan
işlem data temizleme ve data birleştirme olarak bilinen uyumlandırma işlemidir. Veri
birleştirme (bütünleştirme), farklı veri tabanlarından ya da kaynaklarından elde
7
edilen verilerin birlikte değerlendirmeye alınabilmesi için farklı türdeki verilerin tek
türe dönüştürülebilmesi demektir.

Veri indirgeme
Çözümleme işlemi veri madenciliği uygulamalarında uzun sürebilmektedir. İşlem
yapılırken eksik ya da uygun olmayan verilerin oluşturduğu tutarsız verilerle
karşılaşılabilir. Bu gibi durumlarda verinin söz konusu sorunlardan arındırılması
gerekmektedir. Çözümlemeden elde edilecek sonuçta bir değişiklik olmuyorsa veri
sayısı ya da değişkenlerin sayısında azaltmaya gidilir. Veri indirgeme çeşitli
biçimlerde yapılabilir. Bu yöntemler aşağıda gösterilmiştir [7].
Şekil 2.2. Veri indirgeme yöntemleri
Veriyi indirirken bu verileri çok boyutlu veri küpleri biçimine dönüştürmek söz
konusu olabilir. Böylece çözümler sadece belirlenen boyutlara göre yapılır. Veriler
arasında seçme işlemi yapılarak da veri tabanından veriler silinip boyut azaltılması
yapılır.

Veri dönüştürme
Verileri direkt veri madenciliği çözümlerine katmak çoğu zaman uygun olmayabilir.
Değişkenlerin ortalama ve varyansları birbirlerinden çok farklıysa büyük ortalama ve
varyansa sahip değişkenlerin diğer değişkenler üzerindeki etkisi daha fazla olur. Bu
nedenle bir dönüşüm yöntemi uygulanarak değişkenlerin normalleştirilmesi ya da
standartlaşması uygun yoldur.
8

Algoritmanın belirlenmesi
Bu aşamada indirgenmiş veriye ve kullanılacak modele hangi algoritmanın
uygulanacağına karar verilir. Mümkünse bu algoritmanın seçimine uygun veri
madenciliği yazılımı seçilir değilse oluşturulan algoritmaya uygun programlar
yazılır.

Yorumlama ve doğrulama
Uygulama sonucunda elde edilen veriler üzerine yorumlama yapılır, bu yorumların
test verileri üzerinden doğrulanması hedeflenir. Doğruluğu onaylanan bu yorumlar
gizli bilgiye ulaşıldığını göstermektedir. Elde edilen bu bilgiler çoğu kez grafiklerle
desteklenir.
2.3. Problemlerin Çözüm Yöntemleri
Veri madenciliği uygulaması gerektiren problemlerde, farklı veri madenciliği
algoritmaları ile çözüme ulaşılmaktadır. Veri madenciliği görevleri iki başlık altında
toplanmaktadır.
o Eldeki verinin genel özelliklerinin belirlenmesidir.
o Kestirimci/Tahmin edici veri madenciliği görevleri, ulaşılabilir veri
üzerinde tahminler aracılığıyla çıkarımlar elde etmek olarak
tanımlanmıştır.
Veri madenciliği algoritmaları aşağıda açıklanmaktadır.
2.3.1.Karakterize Etme (Characterization)
Veri karakterizasyonu hedef sınıfındaki verilerin seçilmesi, bu verilerin genel
özelliklerine göre karakteristik kuralların oluşturulması olayıdır.
Örnek: Perakende sektöründe faaliyet gösteren, uluslararası ABC şirketinin binlerce
kurumsal müşterisi olsun. ABC şirketinin pazarlama biriminde, büyük kurumsal
müşterilere yönelik kampanyalar için her yıl düzenli olarak bu şirketten 10 milyon
TL ve üstü alım yapan kurumsal müşteriler hedeflenmektedir. Veritabanından hedef
grup belirlenerek genelleme yapılır ve genel kurallar oluşturulur.
9
2.3.2. Ayrımlaştırma (Discrimination)
Belirlenen hedef sınıfa karşıt olan sınıf elemanlarının özellikleri arasında
karşılaştırma yapılmasını sağlayan algoritmadır. Karakterize etme metodundan farkı
mukayese yöntemini kullanmasıdır.
Örnek: ABC kurumsal müşterilerinden her yıl 10 milyon TL ve üstü alışveriş yapan
fakat geri ödeme konusunda riskli olan müşteri grubunun belirlenmesi
2.3.3. Sınıflandırma (Classification)
Sınıflandırma, veri tabanlarındaki gizli örüntüleri ortaya çıkarabilmek için veri
madenciliği
uygulamalarında
sıkça
kullanılan
bir
yöntemdir.
Verilerin
sınıflandırılması için belirli bir süreç izlenir. Öncelikle var olan veritabanının bir
kısmı eğitim amaçlı kullanılarak sınıflandırma kurallarının oluşturulması sağlanır. Bu
kurallar kullanılarak veriler sınıflandırılır. Bu veriler sınıflandırıldıktan sonra
eklenecek veriler bu sınıflardan karakteristik olarak uygun olan kısma atanır.
Sınıflandırma problemleri için "Oracle Data Miner" (ODM)' ın uyumlu olduğu
çözüm yöntemleri Naive Bayes (NB), Karar Destek Vektörleri (SVM), Karar
Ağaçları ve Adaptive Bayes Network(ABN)' dir.
Örnek: XYZ şirketi müşterilerinin alım durumlarını göz önünde bulundurarak, alım
gücüne göre "Yüksek", "Orta", "Düşük" şeklinde sınıflandırır. Müşterilerinin risk
durumlarını sınıflandırmak için de "Risksiz", "Riskli", "Çok Riskli" şeklinde
etiketlerle sınıflandırılabilir.
2.3.4. Tahmin etme (Prediction)
Kayıt altında tutulan geçmiş verilerin analizi sonucu elde edilen bilgiler gelecekte
karşılaşılacak aynı tarz bir durum için tahmin niteliği taşıyacaktır. Örneğin ABC
şirketi geçen yılın satışlarını bölge bazlı sınıflandırmış ve bu sene için bir trend
analizi yaparak her bölgede oluşacak talebi tahmin etmiştir. Bu tür problemler için
ODM'nin kullandığı regresyon analizi yöntemi SVM'dir.
10
2.3.5. Birliktelik kuralları (Association rules)
Birliktelik kuralları gerek birbirini izleyen gerekse de eş zamanlı durumlarda
araştırma yaparak, bu durumlar arasındaki ilişkilerin tanımlanmasında kullanılır. Bu
modelin yaygın olarak Market Sepet Analizi uygulamalarında kullanıldığı
bilinmektedir. Örneğin bir süpermarkette X ürününden alan müşterilerin büyük bir
kısmı Y ürününden de almıştır. Birliktelik kuralı ile bu durum ortaya çıkarılarak,
süpermarketin X ve Y ürününü aynı veya yakın raflara koyması sağlanır. ODM bu
problem sınıfı için de Birliktelik Kuralları modelini kullanmaktadır.
2.3.6. Kümeleme (Clustering)
Yapı olarak sınıflandırmaya benzeyen kümeleme metodunda birbirine benzeyen veri
grupları aynı tarafta toplanarak kümelenmesi sağlanır. Sınıflandırma metodunda
sınıfların kuralları, sınırları ve çerçevesi belli ve datalar bu kriterlere göre sınıflara
atanırken kümeleme metodunda sınıflar arası bir yapı mevcut olup, benzer özellikte
olan verilerle yeni gruplar oluşturmak asıl hedeftir. Verilerin kendi aralarındaki
benzerliklerinin göz önüne alınarak gruplandırılması yöntemin pek çok alanda
uygulanabilmesini
sağlamıştır.
Örneğin,
pazarlama
araştırmalarında,
desen
tanımlama, resim işleme ve uzaysal harita verilerinin analizinde kullanılmaktadır.
Tüm bu uygulama alanlarında kullanılması, ODM'nin desteklediği "K-means" ve "OCluster" kümeleme yöntemleri ile mümkün kılınmıştır.
2.3.7. Aykırı değer analizi (Outlier analysis)
İstisnalar veya sürpriz olarak tespit edilen aykırı veriler, bir sınıf veya kümelemeye
tabii tutulamayan veri tipleridir. Aykırı değerler bazı uygulamalarda atılması gereken
değerler olarak düşünülürken bazı durumlarda ise çok önemli bilgiler olarak
değerlendirilebilmektedir.
Örneğin markette müşterilerin hep aynı ürünü iade etmesi bu metodun araştırma
konusu içine girer. ODM; temizleme, eksik değer, aykırı değer analizi gibi birçok
yöntemi veri hazırlama aşaması içine almakta ve desteklemektedir.
11
2.3.8. Zaman serileri (Time series)
Yapılan veri madenciliği uygulamalarında kullanılan veriler çoğunlukla statik
değildir ve zamana bağlı olarak değişmektedir. Bu metot ile bir veya daha fazla
niteliğin belirli bir zaman aralığında, eğilimindeki değişim ve sapma durumlarını
inceler. Belirlenen zaman aralığında ölçülebilir ve tahmin edilen/beklenen değerleri
karşılaştırmalı olarak inceler ve sapmaları tespit eder.
Örneğin ABC şirketinin Ocak-Haziran 2009 dönemi için önceki yılın satış miktarları
göz önünde tutularak bir hedef ortaya konulmuştur. 2008 ve 2009 değerleri
karşılaştırmalı olarak incelenerek sapma miktarı belirlenir. ODM her ne kadar çeşitli
histogramlarla kullanıcıya görsel destek sağlasa da tam anlamıyla bu tür problemleri
desteklememektedir.
2.3.9. Veri görüntüleme (Visualization)
Bu
metot,
çok
boyutlu
özelliğe
sahip
verilerin
içerisindeki
karmaşık
bağlantıların/bağıntıların görsel olarak yorumlanabilme imkanını sağlar. Verilerin
birbirleriyle olan ilişkilerini grafik araçları görsel ya da grafiksel olarak sunar. ODM
zaman serilerinde olduğu gibi histogramlarla bu metodu desteklemektedir.
2.3.10. Yapay sinir ağları (Artificial neural networks)
Yapay sinir ağları insan beyninden esinlenilerek geliştirilmiş, ağırlıklı bağlantılar
aracılığıyla birbirine bağlanan işlem elemanlarından oluşan paralel ve dağıtılmış bilgi
işleme yapılarıdır. Yapay sinir ağları öğrenme yoluyla yeni bilgiler türetebilme ve
keşfedebilme
gibi
yetenekleri
hiçbir
yardım
almadan
otomatik
olarak
gerçekleştirebilmek için geliştirilmişlerdir. Yapay sinir ağlarının temel işlevleri
arasında veri birleştirme, karakterize etme, sınıflandırma, kümeleme ve tahmin etme
gibi veri madenciliğinde de kullanılan metotlar mevcuttur. Yüz ve plaka tanıma
sistemleri
gibi
teknolojiler
yapay
sinir
teknolojilerdendir.
12
ağları
kullanılarak
geliştirilen
2.3.11. Genetik algoritmalar (Genetic algorithms)
Genetik algoritmalar doğada gözlemlenen evrimsel sürece benzeyen, genetik
kombinasyon, mutasyon ve doğal seçim ilkelerine dayanan bir arama ve
optimizasyon yöntemidir. Genetik algoritmalar parametre ve sistem tanılama, kontrol
sistemleri, robot uygulamaları, görüntü ve ses tanıma, mühendislik tasarımları, yapay
zeka uygulamaları, fonksiyonel ve kombinasyonel eniyileme problemleri, ağ tasarım
problemleri, yol bulma problemleri, sosyal ve ekonomik planlama problemleri için
diğer eniyileme yöntemlerine kıyasla daha başarılı sonuçlar vermektedir.
2.3.12. Karar ağaçları (Decision trees)
Ağaç yapıları esas itibariyle kural çıkarma algoritmaları olup, veri kümelerinin
sınıflanması için “if-then” tipinde kullanıcının rahatlıkla anlayabileceği kurallar inşa
edilmesinde kullanılırlar. Karar ağaçlarında veri kümesini sınıflamak için
“Classification and Regression Trees (CART)” ve “Chi Square Automatic Interaction
Detection (CHAID)” şeklinde iki yöntem kullanılmaktadır.
2.3.13. Kural çıkarma (Rules induction)
İstatistiksel
öneme
sahip
yararlı
“if-else”
kurallarının
problemlerini inceler.
Şekil 2.3. Veri madenciliği algoritmaları[8]
13
ortaya
çıkarılması
3. ORACLE VERİTABANI YÖNETİM SİSTEMİ
Veritabanı yönetim konsolu kullanıcılar ve veritabanı yöneticilerinin veritabanına
erişimlerini ve verilen haklar çerçevesinde istedikleri özellikleri kontrol etmelerini
sağlayan bir arayüzdür. Aşağıda Oracle veritabanı yönetim konsolu ile ilgili bazı
ekran görüntüleri ve açıklamaları verilmektedir.
3.1. Giriş Ekranı
Aşağıda verilen ekrana ulaşmak için Oracle ile ilgili servisler otomatik başlat olarak
ayarlanmamışlarsa öncelikle bu servisler başlatılmalı, sonrasında da internet
tarayıcısına https://<localhost>:1158/em yazılarak çalıştırılmalıdır. Oracle Database
11g programı yüklendikten sonra "SYS" kullanıcısının kilidi (varsayılan) açılmıştır
ve bu kullanıcı "Süper Yönetici" olduğundan bütün işlemleri yapmaya yetkilidir.
"SYS" kullanıcısı ile sisteme SYSDBA olarak girilir.
Şekil 3.1. Oracle VTYS’nin giriş ekranı
3.2. Veritabanı Ana Yönetim Ekranı
Sisteme “SYS” kullanıcısı olarak girildikten sonra aşağıdaki ekran karşımıza çıkar.
Bu ekran aracılığıyla veritabanındaki bütün özellikler; Performans, Ulaşılabilirlik,
Sunucu, Şema, Veri Hareketleri, Yazılım ve Destek gibi bileşenler kontrol edilebilir.
14
Şekil 3.2. Oracle VTYS’nin ana yönetim ekranı
3.3. Sunucu Ekranı
Veritabanı ile ilgili tüm bilgilere erişip, değişiklikler yapabileceğimiz ekrandır.
Şekil 3.3. Oracle VTYS’nin sunucu ekranı
Buradan “SecurityUsers” yolundan hareket ederek veritabanında tanımlı tüm
kullanıcılar aşağıdaki gibi görülebilir. Veri madenciliği uygulaması için yükleme
15
sırasında ODMBULENT isimli yeni bir kullanıcı oluşturulmuş, kilidi kaldırılmış ve
gerekli haklar verilmiştir.
Şekil 3.4. Oracle’da tüm kullanıcıların listelendiği ekran
ODMBULENT kullanıcısı seçilirse kullanıcı özelliklerini belirten bir sayfa açılır.
Şekil 3.5. Oracle’da seçilen kullanıcıya ait bilgi ekranı
Burada kullanıcıya ait genel özellikler, roller, kullanıcı sistem hakları, nesneler
üzerindeki hakları, kontenjan bilgisi, Proxy kullanıcısı, tüketici grup hakları gibi
kısımlar bulunur. ODM için oluşturulan kullanıcı bu haklardan bazıları(temel
işlemler için) verilmelidir.
16
Gerekli hakları verebilmek için kullanıcı listesinden, data miner için oluşturulan
kullanıcı (ODMBULENT) seçilir. Edit System Privileges seçenekleri seçilir.
EditList seçeneği ile tüm haklar listenelir. Move All seçeneği ile kullanıcı geniş yetki
tanınır. Böylece kullanıcı ODM için hazır durumdadır.
Şekil 3.6. Oracle’da seçilen kullanıcıya hakların verilmesi
17
4. ORACLE DATA MINER
“Oracle Data Mining”, Oracle veritabanı üzerinde çalışan ve kullanıcıların
incelemeye uygun tahmini bilgiler üretmesine olanak tanıyan yardımcı bir özelliktir.
Kullanıcılar, Oracle 10g Veritabanında gömülü data mining (veri arama) işlevini
kullanarak verilerinde gizlenmiş düzen ve bilgileri bulabilirler [9].
Oracle Data Miner (ODM) ise kullanıcılara, değerli gizli bilgileri, şablonları ve yeni
kavrayışları bulabilmeleri için yardımcı olan bir grafiksel kullanıcı ara yüzüdür. Bu
ara yüz, kullanıcılara, büyük çaplı veriler üzerinde değişik amaçlara yönelik modeller
oluşturma, bu modelleri test etme ve değişik veriler üzerinde uygulama yapma
imkanı tanır.
"Oracle Data Mining" işlemi, Oracle10g ve Oracle 11g sürümleri tarafından
desteklenmektedir. Bu nedenle sunucu üzerine Oracle10g veritabanı, istemciye ise
ODM paketi yüklenerek veritabanına erişim sağlanmıştır.
4.1. Erişim
ODM paketinin veritabanına bağlantı ekranları aşağıda verilmiştir. Ancak ODM ilk
kez çalıştırıldığında bazı erişim bilgilerinin girilmesi gerekmektedir.
Şekil 4.1. ODM erişim ekranları
18
4.2. ODM Ana Ekranı
ODM programının genel görünüşü aşağıdaki gibidir. Sol tarafta yer alan "Navigator"
kısmından modeller, tablolar, testler, sonuçlar ve görevlere erişim sağlanır.
Şekil 4.2. ODM ana ekranı
“Mining Activities” katmanında kullanıcılar tarafından oluşturulan “build”,”test” ve
“apply” aktiviteleri görüntülenmektedir.
“Data Sources” katmanı, veritabanında bulunan kullanıcılar ve bu kullanıcılara ait
tablo ve görünümleri içermektedir. Belirtmek gerekir ki “Oracle Data Mining”
işlemine erişim hakkı sadece kurulum sırasında tanımlanan “ODMBULENT”
kullanıcısına verilmiştir. Bu sebeple üzerinde veri madenciliği çalışması yapılacak
tabloların sadece bu kullanıcı ile bağlanılarak veritabanına aktarımı mümkün olabilir.
19
Şekil 4.3. ODM kullanıcıların gösterimi
Şekil 4.4. ODM’de tabloların gösterimi
4.3. Veri Aktarımı
ODM nin “DataImport” yolu ile veritabanına dışarıdan veri aktarımı yapılabilir.
Bu yolla text formatındaki (.txt) tablolar veritabanına aktarılarak üzerlerinde çalışma
imkanı sağlanır. Bu yöntemin dışında Oracle SQL Developer ile bağlantı ayarları
yapılır. Veri madenciliği için ayarlanan kullanıcıya ait tabloya veriler import
edilebilir. Verilerin import edilebilmesi için .xls veya .csv formatında olması
gerekmektedir. Örnek uygulama için seçilen verileri gögüs kanseri verileri
Wisconsin
Diagnostic
Breast
Cancer
20
(WDBC)
dataseti
(http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin
/breast-cancer- wisconsin.data) adresinden alınmıştır.
Şekil 4.5. Tabloya veri aktarımı
Şekil 4.6. Tabloya veri aktarımı 1. aşama, aktarılacak verilerin seçimi
21
Şekil 4.7. Tabloya veri aktarımı 2. aşama, verideki sütunlar
Şekil 4.8. Tabloya veri aktarımı 3. aşama, verideki sütunların seçilmesi
22
Şekil 4.9. Tabloya veri aktarımı 4. aşama, sütunların ilişkilendirilmesi
Şekil 4.10. Tabloya veri aktarımı 5. aşama, işlemin sonu
Veritabanında herhangi bir tablo görüntülenip, sağ üst köşede bulunan “export”
tuşuna basılarak ilgili tablo dışarı aktarılabilir. Bu yolla dışarı alınan tablo yine text
formatında (.txt dosyası) olacaktır.
23
Şekil 4.11. ODM'ye aktarılan tablonun görünümü
4.4. İstatistik İşlemleri
Herhangi bir tablo ile ilgili istatistiksel verileri görmek için tablonun format
özelliklerinden birini seçmek gerekir. Böylece herhangi bir sütunun maksimum,
minimum değerleri, ortalaması, standart sapması, varyansı ve dağıtılmış değerlerin
histogramla gösterilmesi sağlanabilir. Aşağıda “DataShow Summary Single
Record” için bir örnek verilmiştir.
Şekil 4.12. ODM'de bir tablonun istatistiksel verileri
24
Şekil 4.13. ODM'deki bir tablonun bir sütunu için histogram örneği
4.5. Veri Temizleme ve Hazırlama İşlemleri
Veri madenciliği işlemini gerçekleştirmenin öncesinde veri temizliği yapmak
gerekmektedir. Bu veri temizliği, ODM' nin sağladığı değişik fonksiyonlarla yapılır.
Bu adım çok kritiktir ve veri madenciliği sürecinin başarılı ya da başarısız olmasında
önemli bir rol üstlenir. Veri temizleme işleminde, farklı veri tipleri farklı teknikleri
gerektirdiği için, dikkatli bir yaklaşım gerektirmektedir. Veri temizleme eksik, hatalı,
çelişkili ve ekstrem kayıtların ortaya çıkarılmasını içerir. Ekstrem kayıtlar, tipik
değerlerden önemli ölçüde farklı olan değerlerdir. Örnek olarak, bir kişinin boyunu
tanımlayan parametrenin 3 metreye eşit olduğu bir durum gösterilebilir. Eksik
kayıtlar ise, veri giriş sistemlerindeki hataların sonuçları olabilir. Eksik verilerin
sistematik bir hataya yol açıp açmayacağı kontrol edilmelidir. Örnek olarak, hız
ölçüm cihazı arızalanmış ve ölçüm yapmayı bu nedenle durdurmuş olabilir. Hatalı ya
da tamamlanmamış veriler bir kere tespit edildiğinde, analizden çıkarılmalı ya da
düzeltilmelidir [10].
Bazı veri madenciliği algoritmaları, özellikler nümerik olduğunda bu özelliklerin çok
farklı değerler almasına karşı duyarlıdır. Örneğin “yaş” genelde 100' den küçük iken,
25
“gelir” milyon mertebesinde değerler alabilmektedir. Bu durumda belirli
hesaplamalar için "gelir" sütununun “yaş” sütununa göre değer ölçüsünden dolayı
çok önemli olduğu gibi bir yanılgı ortaya çıkmaktadır. Oysa hem "gelir" hem de
“yaş” sütunundaki değerler normalizasyon ile 0-100 aralığına çekilerek birbirleri ile
karşılaştırılabilir. ODM bir sütunun nümerik değerlerini belirli bir aralığa göreceli
ağırlıkları ile orantılı olarak taşımak için bir normalizasyon fonksiyonu sağlar [10].
Ayrıca verinin model oluşturma ve oluşturulan modelin test edilmesi için bölünmesi
gerekebilir. Buna benzer bazı veri hazırlama aşamalarının ekran çıktıları aşağıda
verilmiştir. Sınıflandırma probleminde "Build" aktivitesinin uygulanacağı tablonun
iyi ve kötü kayıtları eşit miktarda içermesi gerekmektedir. Burada iyi huylu kanser
hucreleri 2, kötü huylu kanser hücreleri ise 4 olarak seçilmiştir. İyi ve kötü huylu
kanser kayıt sayılarının eşit olmadığı tablo, ODM' nin “Data Transform Split”
özelliği kullanılarak %60 Build ve %40 Test olarak bölünmüştür.
Şekil 4.14. Verinin model ve test tablolarına ayrılması işleminin 1. aşaması
26
Şekil 4.15. Verinin model ve test tablolarına ayrılması işleminin 2. aşaması
Şekil 4.16. Verinin model ve test tablolarına ayrılması işleminin 3. aşaması
Daha sonra “Data TransformStratified Sample” özelliği kullanılarak “Build”
tablosundaki iyi ve kötü huylu kanser verilerinin sayısı eşitlenmiştir.
27
Şekil 4.17. Transformation 1.aşama
İlk aşamada, iyi huylu ve kötü huylu kanser kayıtların sayılarının eşitleneceği tablo
seçilir. Tabloda her kayıt için tek bir satır bulunduğundan “Single Record Per Case”
seçenek düğmesi seçili halde bırakılmıştır.
Şekil 4.18. Transformation 2.aşama
28
Sonraki aşamada, işlem sonunda oluşacak olan yeni tabloya isim verilir. Yapılan
işlem sonunda görüntü (view) değil tablo oluşturulacağından “Tables” seçeneği
işaretli halde bırakılmıştır.
Şekil 4.19. Transformation 3.aşama
Bir sonraki adımda, dengeleme işleminin hangi sütundaki veriler için yapılacağı
seçilir. İyi huylu ve kötü huylu kayıtların sayıları eşitleneceği için SONUC
seçilmiştir.
Eğer istenirse, seçilen sütunun içerdiği verilerin dağılımını görmek için
“Histogram”a tıklanır ve aşağıdaki şekilde görülen ekrandaki gibi bahsi geçen
sütundaki her bir değerin sayısı ve dağılım içindeki yüzdesi görüntülenir.
29
Şekil 4.20. “SONUC” için histogram (Eşitlenmeden önceki durum)
Şekil 4.21. Transformation 4.aşama
30
Sonraki adıma geçildiğinde, sütunda farklı değer alan kayıtların sayısı eşitlenmek
istendiği için “Equal Distribution” seçeneği seçilmiştir. “Equal Distribution”
seçildikten sonra, farklı değer alan kayıt sayılarının eşitlendiği görülür. Bu eşitleme,
hangi değer için kayıt sayısı azsa o sayıya göre yapılır.
Şekil 4.22. Transformation 5.aşama
4.6. Veri Madenciliği Etkinlikleri
Bu bölümde model oluşturma, oluşturulan modeli test etme ve modelin yeni veriye
uygulanarak sonuçların elde edilmesi aşamaları anlatılacaktır.
4.6.1. Model Oluşturma
Burada uygulanacak veri madenciliği problemi, bunun çözümü için geçerli
algoritmalar, uygulanacak veri kümesi ve ilgili diğer parametreler seçilerek model
oluşturulur.
ODM' de veriler temizlendikten ve değişkenler yeniden düzenlendikten sonra veri
madenciliği modeli oluşturulur. Bir veri madenciliği projesinde model oluşturulurken
hedeflerin neler olduğu ve hangi tip verilerle nasıl bir veri madenciliği görevini
31
gerçekleştireceği belirlenmelidir. Örneğin projenin; bir sınıflandırma (classification)
mı yoksa birliktelik (Association, Market Basket Analyse) projesi mi olacağı
gerçeğinden yola çıkılarak model oluşturulmalıdır.
Şekil 4.23. ODM'de model oluşturma yöntemi, fonksiyon tipi seçimi
Şekil 4.24. Algoritma seçimi
32
Şekil 4.25. Model oluşturma, 1. aşama
Şekil 4.26. Model oluşturma, 2. aşama
Şekilde verilen ekran model oluşturmanın en önemli adımıdır. Burada hangi sütunun
tahmin edilmek istendiği ve bu tahminin diğer hangi sütunlarla yapılacağı
seçilmektedir. Dolayısıyla burada tahmini etkilemeyecek olan, örneğin “talep
33
numarası” gibi sütunlar girdi olarak seçilmemeli, sadece tahmini etkileyebilecek
sütunların seçilmesine özen gösterilmelidir.
Şekil 4.27. Gelişmiş ayarlar, "Sample" sekmesi
Şekil 4.28. Gelişmiş ayarlar, " Discretize" sekmesi
34
Şekil 4.29. Gelişmiş ayarlar, " Split" sekmesi
Şekil 4.30. Gelişmiş ayarlar, “Build” sekmesi
“Build” ayarları iki bölüme ayrılmıştır. "General" sekmesinde, modelin genel
doğruluğu artırıcı yönde mi ("Maximum Overall Accuracy"), yoksa her bir hedef
değer için yüksek tahminde bulunan ve ortalama doğruluğu artırıcı yönde mi
("Maximum Average Accuracy") olacağı seçilir. Örneğin model, karlı olmayan
müşteri tahminini yüksek doğrulukla yaparken karlı müşteri tahminini daha düşük
35
doğrulukla yapıyor olabilir. Açıktır ki modelin hedef olarak seçilen sütundaki her bir
değeri yüksek doğrulukla tahmin etmesi istenecektir. Bu sebeple "Maximum
Average Accuracy" seçeneği model kurulurken varsayılan olarak seçilidir ve o
şekilde bırakılmıştır [11].
Model tipi için üç ayrı seçenek bulunmaktadır ve varsayılan seçenek "Single
Feature"dır. Fakat modelde tahminleme yapmak için birden fazla özellik
kullanılacağından burada "Multi Feature" seçeneği seçilmiştir. "Multi Feature"
seçeneği seçildiğinde, "Attribute Importance" fonksiyonuna göre önem sıralaması
yapılan sütunlar tahminlemeye katılmaya başlanır. Her bir özellik tahminlemeye
katıldığında bir önceki adımla karşılaştırılır ve modelin doğruluğunda bir artış yapıp
yapmadığına bakılır. Bu şekilde devam ederek yeni eklenen özelliğin modelin
doğruluğunda bir artış yapmadığı görülünce model tamamlanmış olur [11].
Belirtmek gerekir ki bütün bu süreci, ODM arka planda gerçekleştirir, yani
kullanıcıya sadece hangi model tipini seçeceğine karar vermek kalır.
Şekil 4.31. Gelişmiş ayarlar, "Test Metrics" sekmesi
Gelişmiş ayarlar yapıldıktan sonra model oluşturma süreci başlatılır. Bu sürecin
tamamlanmış hali şekilde görüldüğü gibidir.
36
Şekil 4.32. Model oluşturma sürecinin son hali
Model oluşturmak veri madenciliği için çok önemli bir aşamadır. Bu aşamada
öncelikle hangi tip veriyle, hangi tip veri madenciliği görevinin gerçekleşeceği çok
iyi anlaşılmalı ve buna uygun algoritmalar seçilmelidir.
Bu ekranda, "Test Metrics" bölümünün altında yer alan "Result" a tıklanarak test
sonuçları aşağıdaki gibi görüntülenebilir.
Şekil 4.33. Testin sonucu, "Predictive Confidance" sekmesi
37
Şekildeki sonuç kısmının ilk sekmesi olan "Predictive Confidence" görüntülenmiştir.
Bu sonuç modelin, bir insanın rastgele yapacağı tahmine karşı ne kadar etkili
olduğunun görsel halidir. Örneğin, model kurulan tabloda hedef sütunundaki
verilerin %40' ı "2" değerine, %60'ı "4" değerine sahipse rastgele bir değer tahmini
yapıldığında %40 oranında başarı beklenir. Fakat tahminlemede, oluşturulan model
kullanılırsa başarı oranının yaklaşık %93.24 olacağı görülmüştür.
Şekil 4.34. Testin sonucu, "Accuracy" sekmesi
"Accuracy" sekmesi tıklandığında, modelin test tablosuna uygulandığında elde edilen
sonucun doğruluk oranları görüntülenir. Tahmin edilmek istenen hedef sütunundaki
gerçek değerler bilinmektedir, böylece modelin yaptığı tahminler gerçek değerlerle
karşılaştırılabilir. Modelde, SONUC değeri "2" olan 129 kayıt vardır ve model
bunların %96.9' unu doğru olarak tahmin etmiştir. Aynı şekilde SONUC değeri "4"
olan 82 kayıttan %96.34' ünün tahmini doğru olarak yapılmıştır. "Show Cost"
butonuna tıklandığında, yanlış tahminin modele vereceği zarar aşağıdaki gibi
görüntülenir. Düşük "Cost" değeri, modelin başarılı olduğu anlamına gelir [11].
38
Şekil 4.35. Testin sonucu, Accuracy’de Cost'un görüntülenmesi
Şekil 4.36. Testin sonucu, "ROC" sekmesi
ROC sekmesine bakıldığında modelde yapılabilecek olası değişiklikler görülebilir.
ROC grafiği, yapılan değişikliklerin nasıl sonuçlanacağının ve güvenilirlik matrisinin
nasıl etkileneceğinin görülebilmesini sağlar [11]. Modelde istenilen, iyi huylu kanser
hücresi olan yani "2" değerini alan verilerin tahmininin mümkün olduğunca doğru
39
yapılmasıdır. Bu yüzden güvenilirlik matrisinde ilgili alanda yer alan sayının yüksek
olması gerekir.
Şekil 4.37. Testin sonucu, "Lift" sekmesi, Cumulative Lift Chart
"Lift" sekmesinde, modelin lift hesaplarının iki farklı gösterilişi yer alır. "The
Cumulative Positive Cases" grafiği genel olarak lift grafiği olarak düşünülür.
ODM modeli test tablosuna uygular ve kayıtların gerçek değerleri ile tahmini
değerlerini bir araya getirir. Tahmin değerlerini, olasılıklarına göre azalan şekilde
sıraladıktan sonra bu sıralı listeyi eşit parçalara böler (varsayılan olarak 10 parça) ve
her bir parçada yer alan doğru tahminleri sayar [11].
Bu test sonucu, hangi yüzdelik dilimdeki iyi huylu kanser verileri SONUC
değerlerinin daha iyi tahmin edildiğini göstermektedir. Örneğin ilk %20'lik dilim için
lift değeri 1.63'tür. Yani model, bu aralıkta kalan hedef değerlerini, veriden alınacak
rastgele bir gruba göre 1.63 kat daha iyi ve doğru tahmin etmektedir. Lift grafiği,
modelin etkinliğinin önemli bir ölçüsüdür.
40
Şekil 4.38. Testin sonucu, "Lift" sekmesi, Cumulative Positive Cases Chart
"Test Settings" bölümünde, şekilde görüldüğü gibi modelle ilgili bilgiler yer
almaktadır. Buradan cost matrix de görüntülenebilir.
Şekil 4.39. Testin sonucu, "Test Settings" sekmesi
"Task" sekmesinde modelin adı, oluşturulma tarihi, kullanılan tablo gibi bilgiler
aşağıdaki gibi görüntülenmektedir.
41
Şekil 4.40. Testin sonucu, "Task" sekmesi
4.6.2. Modelin Uygulanması
Bu bölümde veri madenciliği probleminin son adımı olarak bir önceki adımda elde
edilen modelin yeni veri kümesine uygulanması adımları verilecektir.
Bu aşamada oluşturulan model kullanılarak tahminleme yapılır. Tahminleme
yapılabilmesi için hazırlanmış bir model ve kurgulanmak için hazır bir senaryoya
ihtiyaç vardır. Örneğin, hastanın verileri ile kanser olup olmadığı düşündüğümüzde,
kanser riski üzerine hazırlanmış bir model vardır.
Şekil 4.41. ODM'de modelin uygulanması
42
Şekil 4.42. Uygulama 1. aşama, uygulama yapılacak modelin seçimi
Yukarıdaki ekranda daha önce oluşturulan hangi modelin uygulamasının yapılacağı,
aşağıdaki ekranda ise hangi veriye uygulanacağı seçilmektedir. Bu tablo, "Data
Transform-Split" yoluyla oluşturulmuş olan ve bütün verinin %40' ını içeren test
tablosudur.
Şekil 4.43. Uygulama 2. aşama, uygulama yapılacak tablonun seçimi
43
Şekil 4.44. Uygulama 3. aşama, sonuç tablosunda gösterilecek sütunların seçimi
Şekil 4.45. Uygulama 4. aşama, tahmini yapacak olan aktivitenin seçimi
44
Şekil 4.46. Uygulama 5. aşama, tahmin yönteminin seçimi
Şekil 4.47. Uygulama 6. aşama, aktivitenin isminin belirlenmesi
45
Şekil 4.48. Uygulama sürecinin son hali
Burada sonuç ekranından "Result"a basılarak elde edilen sonuçlar görülebilir.
Şekil 4.49. Uygulama sonuç tablosu
Sonuç ekranında, görülmesi istenerek seçilen sütunların yanısıra, tahmin (prediction)
ve bu tahminin gerçekleşme olasılığı (probability) olmak özere iki ek sütun yer
almaktadır. Burada daha önceden sonuçları varolan bir veri kümesi üzerinde
uygulama gerçekleştirildiği için, hem tahmin hem de gerçekte hastanın kanser
durumu (SONUC) görülebilmektedir.
46
5. SONUÇ
Aşağıda sonuç olarak verilen tüm ekran çıktılarında, tahminleri “Prediction”
sütununda, tahminlerin olma olasılığı ise “Probability” sütununda görülmektedir.
Diğer sütunlar ise girdi verilerinde de bulunan ve karşılaştırma için buraya da dahil
edilen sütunlardır.
Şekil 5.1. Uygulama sonucu
Uygulama sonucu, sayfanın sağ üst köşesinde yer alan “Export” tuşuna basılarak
dışarı aktarılıp Excel tablosuna dönüştürülerek incelenmiştir. Lift sekmesinde
anlatıldığı gibi bu tablo “Probability” sütununa göre en yüksek olasılık değerinden
başlayarak azalan şekilde sıralanmıştır. Ardından bu tablo, 10 eşit parçaya bölünerek
inceleme kolaylığı sağlanmıştır. Buna göre ilk %60'lık bölümde, belirgin bir şekilde
iyi huylu kanser verileri tahminine ağırlık verildiği gözlemlenmiştir. İlk %60'lık
kısımda iyi huylu kanser verileri tahmininin doğruluğu yaklaşık olarak %100'dür.
Bahsi geçen dilimdeki en yüksek olasılık değeri 0.9999, en düşük olasılık değeri
0.9928'dir. Bu değerler, yukarıdaki şekilde gösterilmiştir.
Uygulama sonucunun son %40'lık dilimi incelendiğinde ise kötü huylu kanser
verileri tahminine ağırlık verildiği gözlemlenmiştir.
Son %40'lık dilimde kötü
huylu kanser verileri tahmininin doğruluğu %100'dür. Bahsi geçen dilimdeki en
yüksek olasılık değeri 0.9928, en düşük olasılık değeri 0.7213'tür.
47
Bunun dışında aynı veri grubu analiz işleminden geçirildikten sonraki sonuç verileri
incelenmiştir. Testin Sonucu, “Accuracy” Sekmesi tıklandığında, modelin test
tablosuna uygulandığında elde edilen sonucun doğruluk oranları görüntülenir.
Tahmin edilmek istenen hedef sütunundaki gerçek değerler bilinmektedir, böylece
modelin yaptığı tahminler gerçek değerlerle karşılaştırılabilir. Modelde, SONUC
değeri “2” olan 129 kayıt vardır ve model bunların %96.9' unu doğru olarak tahmin
etmiştir. Aynı şekilde SONUC değeri “4” olan 82 kayıttan %96.34' ünün tahmini
doğru olarak yapılmıştır.
Şekil 5.2. Modelin doğruluk tablosu
Modelde gerçek sonucu 2 yani iyi huylu olan kanser verisi sayısı 129 iken yapılan
tahmin 125 veri doğru olarak sınıflandırılmıştır. Yanlış sınıflandırılan 4 veri aslında
iyi huylu kanser olmasına rağmen sınıflandırma işlemi bu verileri kötü huylu kanser
verisi grubu içinde zannetmiştir. Diğer veri türü olan kötü huylu kanser verisinin
sayısı 82 iken bunun 81 tanesini doğru sınıflandırılmıştır. Yanlış sınıflandırılan 1 veri
aslında kötü huylu kanser verisi olmasına rağmen sınıflandırma işlemi bu veriyi iyi
huylu kanser verisi grubuna dahil etmiştir.
Elde edilen sonuçlar gerçek kanser verileri olduğu için modelde bulunan öznitelikler
sınıflandırmanın başarısını artırmıştır. Eldeki özniteliklerden sadece id bilgisi
algoritmaya dahil edilmemiştir. Benzer bir durum diğer modellemeler için
uygulanırsa gereksiz öznitelik bilgisi başarıyı olumsuz etkiler.
48
KAYNAKLAR
[1] Frawley W. J., Shapiro G. P., Matheus C. J., 1992. Discovery in Databases: An
Overview, AI Magazine, 13-3, 57-70.
[2] Berry J. A., Linoff G., 1997. Data mining techniques for marketing, sales and
customer support, John Wiley & Sons Inc., New York.
[3] Holshemier M., Siebes A., 1994. Data mining http://www.pcc.qub.ac.uk
[4] Cabena P., Hadjnian P., Stadler R., 1998. Discovering data mining from concept
to implementation, Prentice Hall PTR, NJ.
[5] Christen, P., 2005. A very short introduction to data mining, Lecture Notes, http
://www.datamining.anu.edu.au.
[6] Dilly R., 1995. Data Mining, An introduction Student Notes,
http://www.pcc.qub.ac.uk/tec/courses/datamining/stu_notes/dm_book_ 1.html.
[7] Özkan, Y., Veri Madenciliği Yöntemleri, p.41.
[8] Baykasoğlıı A., 2005. Veri madenciliği ve çimento sektörüne bir uygulama,
Akademik Bilişim Konferansı, pp.82-83, Gaziantep Üniversitesi, Gaziantep.
[9] http://www.oracle.com/global/tr, ziyaret tarihi 22.04.2012.
[10] http://www.infora.com.tr/veri_temizleme.html, ziyaret tarihi 29.04.2012.
[11] ORACLE CORPORATION, 2006. Oracle 10g Release 2 Data Mining Tutorial,
pp. 78, 81, 82, 83, 84, 85, 86, 96.
49
TEŞEKKÜR
Tez çalışmam boyunca değerli yardım ve katkılarıyla beni yönlendiren, sabır ve
özveriyle bana destek olan, kıymetli tecrübelerinden faydalandığım danışman hocam
Yaşar DAŞDEMİR’e sonsuz teşekkürlerimi sunarım.
50
ÖZGEÇMİŞ
1986 yılında Diyarbakır’da doğdum. Diyarbakır’da bulunan Fatih İlköğretim
Okulunu, Birlik Lisesini bitirdim. 2006 yılında girdiğim Dicle Üniversitesi Eğitim
Fakültesi Fizik Öğretmenliği bölümünü 2 yıl okuduktan sonra , 2008 yılında Mustafa
Kemal Ünivetsitesi Mühendislik Fakültesi Bilgisayar Mühendisliğine yerleştim.
2005 yılından beri B sınıfı sürücü ehliyetim var.
51
Download