weka ile yapay zekÂ...dr. Öğr. Üyesi emrah aydemİr weka ile yapay zek makine Öğrenmesi...

39
Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve Makine Öğrenmesi Yapay Zekâ Yapay Sinir Ağları ve Derin Öğrenme Yapay Zekâ Hata Analizi WEKA Weka ile Yapay Sinir Ağları C# ile Weka Kullanımı Çeşitli Uygulamalar Güncellenmiş 2. Baskı SEÇKİN | Teknik Ankara 2019

Upload: others

Post on 27-Dec-2019

26 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

Dr. Öğr. Üyesi Emrah AYDEMİR

Weka ile

YAPAY ZEKÂ Makine Öğrenmesi

Yapay Sinir Ağları - Derin Öğrenme

Veri, Enformasyon Bilgi

Veri Madenciliği ve Makine Öğrenmesi

Yapay Zekâ

Yapay Sinir Ağları ve Derin Öğrenme

Yapay Zekâ Hata Analizi

WEKA

Weka ile Yapay Sinir Ağları

C# ile Weka Kullanımı

Çeşitli Uygulamalar

Güncellenmiş

2. Baskı

SEÇKİN | Teknik Ankara 2019

Page 2: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

Akademik ve Mesleki Yayınlar

WEKA ile Yapay Zekâ Emrah AYDEMİR

SEÇKİN | Teknik No: 264

ISBN 978-975-02-5536-6

İkinci Baskı: Temmuz 2019

Sayfa Tasarımı: Ömer Candan

231 Sayfa, 16x23,5 cm.

1. Weka

2. Yapay Zekâ

3. Makine Öğrenmesi

4. Yapay Sinir Ağları

5. Derin Öğrenme

6. Veri Madenciliği

7. Yapay Zekâ Yöntemleri

8. Veri

9. Enformasyon

10. Bilgi

Kapak Tasarımı: Yiğit Can Aydın

© Seçkin Yayıncılık San. ve Tic. A.Ş. Bu kitabın her türlü yayın hakkı Seçkin Yayıncılık San. ve Tic. A.Ş’ye aittir. Yayınevinin yazılı izni olmadan, tanıtım amaçlı toplam bir sayfayı geçmeyecek alıntılar hariç olmak üzere, hiçbir şekilde kitabın tümü veya bir kısmı herhangi bir ortamda yayımlanamaz ve çoğaltılamaz.

Satış ve Dağıtım:

Yayınevi Merkezi Mustafa Kemal Mahallesi 2158. Sokak No:13 Çankaya/ANKARA Tel: 0-312-435 30 30 Faks: 0-312-435 24 72 [email protected]

İstanbul Çağlayan Adliyesi Şubesi D Blok 2. Bodrum Kat No: 1 Çağlayan Tel: (212) 240 0015 Faks: (212) 240 0015 [email protected]

İstanbul Kartal Adliyesi Şubesi C Blok Zemin Kat No: 29 Kartal Tel: (216) 303 11 23 Faks: (216) 303 11 23 [email protected]

İstanbul Şişli Şubesi Abide-i Hürriyet Cad. No:183/A Şişli Tel: (212) 234 34 77 Faks: (212) 231 24 69 [email protected]

Bölge Adliye Mahkemesi Şubesi C Blok Zemin Kat No: 23 Kartal Tel: (216) 303 20 00/5462 [email protected]

Ankara Sıhhiye Şubesi Strazburg Caddesi No: 23/B Sıhhiye Tel: (312) 230 52 62 Faks: (312) 230 52 62 [email protected]

Web Sitesi: www.seckin.com.tr

Seçkin Yayıncılık Sertifika No: 12416

Baskı: Sözkesen Matbaacılık Tic. Ltd. Şti. – Sertifika No: 13268 İVOGSAN 1518 Sok. Mat-Sit İş Merkezi No: 2/40 Yenimahalle/ANKARA - Tel: (0-312) 395 21 10

Page 3: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

İkinci Baskıya Önsöz

Fırat Üniversitesi Bilgisayar Öğretmenliğin-

den mezun oldum. Yine aynı üniversitede yük-

sek lisansımı yaptıktan sonra İstanbul’a taşındım

ve bir vakıf üniversitesinde çalışmaya başladım.

Bu sırada İstanbul Üniversitesi Enformatik bö-

lümünde doktorama başladım ve dört yılın so-

nunda yapay zekâ üzerine olan tez çalışmamı

bitirdim. Fakülteyi bitirdikten sonra çeşitli yazı-

lım şirketlerinde hem yazılımcı olarak hem de

danışmanlık vererek çalıştım. Bilgisayar, yazılım

ve yapay zekâ ile ilgili birçok konuda hem yurt

içinde hem de yurt dışında çeşitli bildiriler sunup, makaleler yayınladım.

Ayrıca birçok farklı dernekte çeşitli görevlerde de bulundum.

Bu kitap Weka programının kullanımına ve C# programı ile bağlantısına

odaklanarak konuları ele almaktadır. Weka programının her bir algoritması-

nın çalışma mantığı detaylı olarak bu alandaki üstadımız kabul ettiğimiz

Şadi Evren ŞEKER hocamız tarafından hem kitabında hem kanalındaki vi-

deolarda ele alınmıştır. O konu ile ilgilenen kişilerin oradan yararlanması

daha faydalı olacaktır. Yapay Sinir Ağlarına genel bir giriş yaptıktan sonra

Weka programını kullanmaya aşina olmayı sağlayan ve algoritmaları hak-

kında okuyucusunu fikir sahibi yapan bu kitap büyük bir özenle herkesin

anlayabileceği şekilde hazırlanmıştır. Yapay Zekâ yöntemleri ile öğrenci not

tahmini uygulamasının tüm detayları ayrıntılı olarak ikinci baskıda yeni bir

bölüm olarak eklenmiştir. Kitabın yazımında çoğunlukla programın web

sitesi ve arayüzündeki açıklamalarından yararlanılmıştır. Bu çalışmanın hem

lisans derslerinde hem de lisansüstü derslerinde kaynak kitap olarak yararla-

nılabileceği de düşünülmektedir. Tüm okuyucularımıza faydalı bir kitap

olması temennimizle…

Bu kitabı yazabilecek duruma gelmem de bana akademik hayatım bo-

yunca örnek olan Doç. Dr. Cihad DEMİRLİ hocama ve doktora danışmanım

Prof. Dr. Sevinç GÜLSEÇEN hocama her zaman şükranlarımı sunarım.

Dr. Emrah AYDEMİR

Page 4: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

İçindekiler

İkinci Baskıya Önsöz ................................................................................................... 5

Şekiller Listesi ........................................................................................................... 14

1. VERİ, MADENCİLİK VE ÖĞRENME .............................................................. 21

1.1. Veri ............................................................................................................... 21

1.2. Enformasyon ................................................................................................. 21

1.3. Bilgi .............................................................................................................. 22

1.4. Karar Destek Sistemi (KDS) ............................................................................ 23

1.5. Veri Tabanları................................................................................................ 23

1.6. Veri Ambarları ............................................................................................... 24

1.7. Veri Madenciliği ............................................................................................ 25

1.8. Veri Madenciliğinde Verileri Hazırlama .......................................................... 27

1.9. Yapay Zekâ .................................................................................................... 28

1.10. Makine Öğrenmesi ...................................................................................... 29

1.11. Derin Öğrenme ........................................................................................... 30

1.12. Yapay Zekâ Yöntemleri ................................................................................ 31

1.13. Yapay Zekâ Uygulama Alanları ve Geleceği .................................................. 32

1.14. Yapay Zekâ Uygulamalarında Kullanılan Programlar ..................................... 33

2. YAPAY SİNİR AĞLARI ................................................................................. 35

2.1. Yapay Bir Sinirin Öğeleri ................................................................................ 35

2.2. Yapay Sinir Ağlarının Güçlü ve Zayıf Yönleri .................................................... 37

2.3. Yapay Sinir Ağlarının Genel Özellikleri ............................................................ 38

2.4. Yapay Sinir Ağlarının Dezavantajları ............................................................... 39

2.5. Yapay Sinir Ağlarının Temel Öğrenme Kuralları .............................................. 40

2.6. Yapay Sinir Ağları Modelleri ........................................................................... 41

2.6.1. İleri Beslemeli Yapay Sinir Ağları .................................................................... 42

2.6.2. Geri Beslemeli Yapay Sinir Ağları.................................................................... 43

2.7. Yapay Sinir Ağlarının Eğitilmesi ...................................................................... 43

Page 5: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

8 Weka ile Yapay Zekâ

3. TAHMİNİN HATA DÜZEYİNİN BELİRLENMESİ ............................................. 47

3.1. Sayısal Sonuçları Tahmin Etmek ..................................................................... 48

3.1.1. Korelasyon Katsayısı ....................................................................................... 49

3.1.2. Ortalama Mutlak Hata ................................................................................... 49

3.1.3. Hataların Karelerinin Ortalamasının Karekökü ............................................... 50

3.1.4. Göreceli Mutlak Hata ..................................................................................... 50

3.1.5. Göreceli Mutlak Hata Karekökü ..................................................................... 51

3.2. Nominal Sonuçları Tahmin Etmek .................................................................. 51

3.2.1. Hata Matrisi.................................................................................................... 51

3.2.2. Doğru Yerleştirme Başarısı ............................................................................. 52

3.2.3. Kappa İstatistiği .............................................................................................. 53

3.2.4. Tahmin Sınıflarının Doğruluk Detayları .......................................................... 53

4. WEKA ........................................................................................................ 59

4.1. Weka Programını İndirme ............................................................................. 61

4.2. Paket Yönetim sistemi ................................................................................... 62

4.3. Başlangıç ....................................................................................................... 64

4.3.1. Veri Dosyası ve Formatları ............................................................................. 64

4.3.2. Örnek Bir Analiz Yapma .................................................................................. 67

4.3.3. Eğitim ve Test Verilerini Parçalama ................................................................ 70

4.3.4. Çıktının İncelenmesi ....................................................................................... 71

4.3.5. Tekrar Çalıştırma ............................................................................................ 72

4.3.6. Modeller ile Çalışma ....................................................................................... 73

4.3.7. Hata Oluştuğunda .......................................................................................... 77

4.4. Explorer Penceresi ........................................................................................ 77

4.4.1. ARFF Uzantılı Dosyalar Oluşturma.................................................................. 79

4.4.2. Veri Ön İşleme ................................................................................................ 84

4.4.3. Filtreleri Kullanma .......................................................................................... 86

4.4.4. Öğrenme Şemaları ile Eğitim ve Test ............................................................. 90

4.4.5. Meta Öğrenme Algoritması Kullanma ............................................................ 96

4.4.6. Kümeleme Analizleri ...................................................................................... 97

4.4.7. İlişkilendirme Kuralları.................................................................................. 100

4.4.8. Nitelik Seçimi ................................................................................................ 102

4.4.9. Görselleştirme .............................................................................................. 102

4.5. Filtre Algoritmaları ...................................................................................... 104

4.5.1. Gözetimsiz Nitelik Filtreleri .......................................................................... 105

Page 6: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

İçindekiler 9

4.5.1.1. Nitelikleri Silme ve Ekleme ................................................................. 105 Add................................................................................................................ 105 Copy .............................................................................................................. 105 AddUserFields ............................................................................................... 106 AddID ............................................................................................................ 106 Remove ......................................................................................................... 106 RemoveType.................................................................................................. 106 RemoveUseless ............................................................................................. 106 InterquartileRange ........................................................................................ 106 AddCluster..................................................................................................... 107 ClusterMembership ....................................................................................... 107 AddExpression ............................................................................................... 107 MathExpression ............................................................................................ 107 NumericTransform ........................................................................................ 107 Normalize...................................................................................................... 108 Center ........................................................................................................... 108 Standardize ................................................................................................... 108 RandomSubset .............................................................................................. 108 CartesianProduct .......................................................................................... 108 PartitionedMultiFilter ................................................................................... 108 Reorder ......................................................................................................... 108

4.5.1.2. Değerleri Değiştirme .......................................................................... 109 SwapValues ................................................................................................... 109 MergeTwoValues .......................................................................................... 109 MergeManyValues ........................................................................................ 109 MergeInfrequentValues ................................................................................ 109 ReplaceMissingValues................................................................................... 109 ReplaceMissingWithUserConstant ................................................................ 109 ReplaceWithMissingValue ............................................................................ 109 NumericCleaner ............................................................................................ 110 AddValues ..................................................................................................... 110 ClassAssigner ................................................................................................ 110 SortLabels ..................................................................................................... 110

4.5.1.3. Dönüştürmeler .................................................................................. 110 Discretize....................................................................................................... 110 PKIDiscretize ................................................................................................. 110 MakeIndicator............................................................................................... 110 NominalToBinary .......................................................................................... 111 NumericToBinary .......................................................................................... 111 NumericToNominal ....................................................................................... 111 FirstOrder ...................................................................................................... 111 KernelFilter .................................................................................................... 111 PrincipalComponents .................................................................................... 111 Transpose...................................................................................................... 111

4.5.1.4. String Dönüştürme............................................................................. 112 StringToNominal ........................................................................................... 112

Page 7: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

10 Weka ile Yapay Zekâ

NominalToString ........................................................................................... 112 StringToWordVector ..................................................................................... 112 FixedDictionaryStringToWordVector............................................................. 112 ChangeDateFormat....................................................................................... 112

4.5.1.5. Zaman Serisi Verileri .......................................................................... 112 TimeSeriesTranslate ...................................................................................... 112 TimeSeriesDelta ............................................................................................ 113

4.5.1.6. Niteliklerin Rastgele Yapılması............................................................ 113 AddNoise ....................................................................................................... 113 Obfuscate ...................................................................................................... 113 RandomProjection ........................................................................................ 113

4.5.2. Verilere Yönelik Gözetimsiz Filtreler ............................................................ 113 Randomize .................................................................................................... 113 Resample ...................................................................................................... 113 RemoveFolds ................................................................................................. 113 ReservoirSample ........................................................................................... 114 RemovePercentage ....................................................................................... 114 RemoveRange ............................................................................................... 114 RemoveWithValues ....................................................................................... 114 RemoveFrequentValues ................................................................................ 114 SubsetByExpression....................................................................................... 114 RemoveMisclassified ..................................................................................... 114 NonSparseToSparse ...................................................................................... 114 SparseToNonSparse ...................................................................................... 114

4.5.3. Gözetimli Filtreler......................................................................................... 115 4.5.3.1. Gözetimli Nitelik Filtreleri................................................................... 116

Discretize....................................................................................................... 116 NominalToBinary .......................................................................................... 116 ClassOrder ..................................................................................................... 116 AddClassification........................................................................................... 116 AttributeSelection ......................................................................................... 116 ClassConditionalProbabilities ........................................................................ 116

4.5.3.2. Verilere Yönelik Gözetimli Filtreler ..................................................... 117 Resample ...................................................................................................... 117 SpreadSubsample.......................................................................................... 117 Smote ............................................................................................................ 117 StratifiedRemoveFolds .................................................................................. 117

4.6. Öğrenme Algoritmaları ................................................................................ 117

4.6.1. Bayes Sınıflandırıcılar ................................................................................... 118 NaiveBayes .................................................................................................... 118 NaiveBayesUpdateable .................................................................................. 120 NaiveBayesMultinomial ................................................................................. 120 NaiveBayesMultinomialUpdateable ................................................................ 121 NaiveBayesMultinomialText ........................................................................... 121

4.6.2. Ağaç Algoritmaları (Tree) ............................................................................. 122

Page 8: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

İçindekiler 11

J48................................................................................................................. 122 DecisionStump ............................................................................................... 123 RandomTree .................................................................................................. 123 RandomForest ............................................................................................... 124 REPTree ......................................................................................................... 124 M5P............................................................................................................... 125 LMT ............................................................................................................... 125 HoeffdingTree ................................................................................................ 126

4.6.3. Kurallar (Rules) ............................................................................................. 126 DecisionTable ................................................................................................ 126 OneR ............................................................................................................. 127 PART.............................................................................................................. 128 M5Rules ........................................................................................................ 128 JRip ............................................................................................................... 129

4.6.4. Fonksiyonlar ................................................................................................. 129 SimpleLinearRegression ................................................................................. 129 LinearRegression............................................................................................ 130 SMO .............................................................................................................. 130 SMOreg ......................................................................................................... 131 VotedPerceptron ........................................................................................... 132 GaussianProcesses ......................................................................................... 132 SGD ............................................................................................................... 133 SGDText......................................................................................................... 133 SimpleLogistic ................................................................................................ 134 Logistic .......................................................................................................... 135

4.6.5. Tembel Algoritmalar (Lazy) .......................................................................... 135 IBk ................................................................................................................. 135 KStar.............................................................................................................. 136 LWL ............................................................................................................... 137

4.6.6. Çeşitli Sınıflandırıcılar (Misc) ........................................................................ 137 SerializedClassifier ......................................................................................... 137 InputMappedClassifier ................................................................................... 138

4.6.7. Meta Öğrenme Algoritmaları ....................................................................... 139 Bagging.......................................................................................................... 139 RandomCommittee ........................................................................................ 139 RandomSubSpace .......................................................................................... 140 AdaBoostM1 .................................................................................................. 141 AdditiveRegression ........................................................................................ 141 LogitBoost ..................................................................................................... 142 Vote .............................................................................................................. 142 Stacking ......................................................................................................... 143 CostSensitiveClassifier .................................................................................... 144

Page 9: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

12 Weka ile Yapay Zekâ

AttributeSelectedClassifier ............................................................................. 144 CVParameterSelection ................................................................................... 145 MultiScheme ................................................................................................. 146 IterativeClassifierOptimizer ............................................................................ 146 ClassificationViaRegression ............................................................................ 147 RegressionByDiscretization ............................................................................ 148 MultiClassClassifier ........................................................................................ 148

4.7. Kümeleme Algoritmaları (Clustering) ........................................................... 149

Cobweb .................................................................................................................. 149

SimpleKMeans ........................................................................................................ 150

EM .......................................................................................................................... 151

HierarchicalClusterer .............................................................................................. 153

FarthestFirst ........................................................................................................... 153

MakeDensityBasedClusterer .................................................................................. 154

Canopi .................................................................................................................... 154

4.8. Birliktelik Kural Öğrenmeleri ........................................................................ 155

Apriori .................................................................................................................... 155

FPGrowth ............................................................................................................... 156

FilteredAssociator .................................................................................................. 157

4.9. Nitelik Seçimi .............................................................................................. 158

4.9.1. Nitelik Değerlendiriciler ............................................................................... 158 CfsSubsetEval................................................................................................. 158 WrapperSubsetEval........................................................................................ 159 ReliefFAttributeEval ....................................................................................... 159 InfoGainAttributeEval .................................................................................... 160 GainRatioAttributeEval................................................................................... 161 SymmetricalUncertAttributeEval .................................................................... 161 OneRAttributeEval ......................................................................................... 162 PrincipalComponents ..................................................................................... 162

4.9.2. Arama Yöntemleri ........................................................................................ 163 BestFirst ........................................................................................................ 163 GreedyStepwise ............................................................................................. 164 Ranker ........................................................................................................... 165

5. WEKA İLE YAPAY SİNİR AĞLARI ............................................................... 167

5.1. GUI Ekranı ................................................................................................... 169

5.2. Parametre Değerleri .................................................................................... 175

5.2.1. Otomatik Oluşturma (AutoBuild) ................................................................. 175

5.2.2. Yığın Boyutu (BatchSize)............................................................................... 176

Page 10: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

İçindekiler 13

5.2.3. Ayıklama (debug) ......................................................................................... 177

5.2.4. Zayıflama (decay) ......................................................................................... 177

5.2.5. Verileri Kontrol Etme (doNotCheckCapabilities) .......................................... 178

5.2.6. Öğrenme Oranı (learningRate) ..................................................................... 179

5.2.7. Momentum (momentum) ............................................................................ 179

5.2.8. Kategorik Verileri İkili Verilere Dönüştürme (nominalToBinaryFilter) .......... 180

5.2.9. Verileri Normalize Etme (normalizeAttributes) ............................................ 181

5.2.10. Sayısal Tahmin Değerini Normalize Etme (normalizeNumericClass) .......... 181

5.2.11. Gizli Katmanlar (hiddenLayers)................................................................... 182

5.2.12. Ondalıklı Sayı Sınırını Belirleme (numDecimalPlaces) ................................ 186

5.2.13. Baştan Başlatma (reset) ............................................................................. 187

5.2.14. Başlangıç (seed) .......................................................................................... 187

5.2.15. Devir Sayısı (TrainingTime) ......................................................................... 188

5.2.16. Doğrulama Kümesi Oranı (validationSetSize) ............................................. 189

5.2.17. Doğrulama Eşiği (validationThreshold) ...................................................... 189

6. C# İÇİNDEN WEKA KULLANIMI ................................................................ 191

6.1. IKVM Uygulamasını İndirme ........................................................................ 192

6.2. C# Tarafından Kullanılacak Weka.dll Dosyasını Üretme ................................ 193

6.3. Visual Studio İçinden Weka.dll Dosyasını Kullanma ...................................... 198

7. ÖĞRENCİ DERS GEÇME NOTUNUN YAPAY ZEKÂ YÖNTEMLERİ İLE TAHMİN EDİLMESİ.................................................................................. 213

Kaynakça ................................................................................................................ 225

Kavramlar Dizini ..................................................................................................... 229

Page 11: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

Şekiller Listesi

Şekil 1.1. Veri, Enformasyon, Bilgi Piramidi ........................................................................ 22 Şekil 1.2. Veritabanı ve Veritabanı Yönetim Sistemi ........................................................... 24 Şekil 1.3. Örnek Veri Ambarı ............................................................................................. 25 Şekil 1.4. Veri Madenciliği Süreci ....................................................................................... 26 Şekil 1.5. Veri Madenciliğinde Bilgi Keşfi ............................................................................ 28 Şekil 1.6. Yapay Zeka ve Düşünme ..................................................................................... 29 Şekil 1.7. Makine Öğrenmesi ............................................................................................. 30 Şekil 1.8. Yapay zeka, makine öğrenimi ve derin öğrenme .................................................. 31 Şekil 1.9. Yapay Zeka Yöntemleri ....................................................................................... 32 Şekil 2.1. Biyolojik bir beyin sinir hücresi [27] .................................................................... 36 Şekil 2.2. Yapay bir bir sinir elemanı .................................................................................. 36 Şekil 2.3. Biyolojik Sinir Hücresi ile Yapay Bir Sinir Hücresinin Benzetimi ............................. 36 Şekil 2.4. İleri Beslemeli Yapay Sinir Ağlarının Yapısı ........................................................... 42 Şekil 2.5. Geri Beslemeli YSA Yapısı.................................................................................... 43 Şekil 2.6. Yapay Bir Sinirin Çalışma Prensibi ....................................................................... 44 Şekil 2.7. Yapay Sinir Ağlarında İterasyon Sayısı ile Hata Düzeyi İlişkisi ................................ 46 Şekil 3.1. Sayısal Sonuç Tahmininde Hata Ölçümleri ........................................................... 47 Şekil 3.2. Kategorik Sonuç Tahmininde Hata Ölçümleri ...................................................... 48 Şekil 3.3. Hata Matrisi Örneği ............................................................................................ 52 Şekil 3.4. Doğru Yerleştirilen Örnek Sayısı ve Oranı ............................................................ 52 Şekil 3.5. Doğru Pozitif Oranı ve Yanlış Pozitif Oranı ........................................................... 55 Şekil 3.6. ROC Eğrisi .......................................................................................................... 56 Şekil 3.7. PRC Grafiği ......................................................................................................... 57 Şekil 4.1. Weka programı açılış ekranı introsu .................................................................... 59 Şekil 4.2. Weka programı ana sayfası ................................................................................. 60 Şekil 4.3. Weka Paket Yöneticisi Açma Ekranı .................................................................... 62 Şekil 4.4. Paket Yönetici Üzerinden Ek Paket Kurma ........................................................... 62 Şekil 4.5. Paketin Yeni Sürümü Olduğu Ekranı .................................................................... 63 Şekil 4.6. Explorer Penceresinden Dosya Seçme................................................................. 64 Şekil 4.7. Weka Programı Kurulurken Gelen Bazı ARFF Dosyaları ........................................ 65 Şekil 4.8. Diabetes.arff Dosyası.......................................................................................... 66 Şekil 4.9. Örnek Bir Analiz Sonuç Ekranı ............................................................................. 67 Şekil 4.10. Analiz Seçim ekranı ........................................................................................... 68 Şekil 4.11. Tahmin Edilecek Veri Başlığı Seçimi..................................................................... 68 Şekil 4.12. Yapay Sinir Ağları Analizi Parametre Giriş Ekranı.................................................. 69 Şekil 4.13. Çapraz Doğrulama Mantığı ................................................................................. 70 Şekil 4.14. Weka Sayısal Veri Analiz Sonuç Verileri Örneği .................................................... 71 Şekil 4.15. Weka Nominal Veri Analiz Sonuç Verileri Örneği ................................................. 72 Şekil 4.16. Weka ile Tekrar Tekrar Farklı Analizler Yapma ..................................................... 73

Page 12: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

Şekiller Listesi 15

Şekil 4.17. Weka Üretilen Modeli Kaydetme ........................................................................ 74 Şekil 4.18. Weka Sonuç Görselleştirme Ekranı ..................................................................... 74 Şekil 4.19. Weka Fayda/Maliyet Analizi Görselleştirme Ekranı .............................................. 75 Şekil 4.20. Veri Görselleştirme Ekranında Sağ Tıklama ......................................................... 75 Şekil 4.21. Weka Ağaç Yapısı Görselleştirme Ekranı .............................................................. 76 Şekil 4.22. Weka Explorer Penceresi .................................................................................... 78 Şekil 4.23. Weka Durum Satırı ............................................................................................. 79 Şekil 4.24. Weka Günlük Dosyası ......................................................................................... 79 Şekil 4.25. Örnek Bir CSV ve Dönüştürülmüş ARFF Dosyası ................................................... 80 Şekil 4.26. CSV Dosya Dönüştürme Ekranı ........................................................................... 81 Şekil 4.27. Farklı Dosya Türlerinden Veri Yükleme Seçenekleri ............................................. 81 Şekil 4.28. Farklı Dosya Tipinde Veri Yüklerken Açılan Bilgilendirme Ekranı ........................... 82 Şekil 4.29. Veritabanında Veri Yüklerken Görüntülenen Bilgi Giriş Ekranı .............................. 83 Şekil 4.30. Veritabanından Veri Yüklemek İçin SQLViewer Ekranı.......................................... 83 Şekil 4.31. Sayısal Bir Veri İçin Önişleme Ekranı .................................................................... 84 Şekil 4.32. Nominal Bir Veri İçin Önişleme Ekranı ................................................................. 85 Şekil 4.33. Verileri Düzenleme Ekranı .................................................................................. 85 Şekil 4.34. Filtre Penceresi .................................................................................................. 86 Şekil 4.35. Filtre Paremetrelerinin Giriş Ekranı ..................................................................... 87 Şekil 4.36. Seçili Filtrenin Kullanımı Hakkında Bilgi ............................................................... 87 Şekil 4.37. Seçili Filtrenin Yetenekleri Hakkında Bilgi Ekranı .................................................. 88 Şekil 4.38. Sınıflandırılmış Metinlerde İsim Değişikliği Filtresi ............................................... 89 Şekil 4.39. Filtreleme Yetenekleri Ekranı .............................................................................. 89 Şekil 4.40. Filtre Uygulanması Sonrası Geri Butonu .............................................................. 90 Şekil 4.41. breast-cancer.arff Dosyasının Yüklenmesi ........................................................... 91 Şekil 4.42. Breast-cancer.arff Dosyasına J48 Algoritmasının Uygulanması ............................. 91 Şekil 4.43. Gruplanmış Metin Türünde Veriye J48 Algoritmasının Uygulanması Sonucu......... 92 Şekil 4.44. Cpu.arff Adlı Dosyanın Seçilmiş Görüntüsü .......................................................... 93 Şekil 4.45. Cpu.arff Adlı Dosyaya M5P Algoritmasının Uygulanmış Hali ................................. 93 Şekil 4.46. Cpu.arff Adlı Dosyanın M5P Algoritma İçin Detaylı Sonuçları ............................... 94 Şekil 4.47. Cpu.arff Dosyasına Doğrusal Regresyon Uygulanmış Sonuçları............................. 95 Şekil 4.48. Cpu.arff Dosyası İçin Doğrusal Regresyon ve M5P Algoritmasının

Sınıflandırma Hata Grafiği................................................................................... 96 Şekil 4.49. AdaBoostM1 Algoritması Parametre Giriş Ekranı ................................................. 97 Şekil 4.50. AdaBoostM1 Algoritmasının Yapay Sinir Ağları ile Karşılaştırmalı Sonuçları .......... 97 Şekil 4.51. Kümeleme Sekmesinden Bir Görüntü ................................................................. 98 Şekil 4.52. Kümeleme Analizinde Bazı Sütunları Yoksayma Ekranı ......................................... 99 Şekil 4.53. Kümeleme Analizinin Saklanıp Saklanmaması Durumları ..................................... 99 Şekil 4.54. Kümeleme Analizi Görselleştirme Ekranı ........................................................... 100 Şekil 4.55. weather.nominal.arff Dosyası İçin Birliktelik Analizi Sonucu ............................... 100 Şekil 4.56. Birliktelik Analizi Parametre Giriş Ekranı ............................................................ 101 Şekil 4.57. Nitelik Seçim Sekmesi ....................................................................................... 102 Şekil 4.58. Diabetes.arff Dosyası Verilerinin Görselleştirilmiş Hali ....................................... 103

Page 13: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

16 Weka ile Yapay Zekâ

Şekil 4.59. Görselleştirme Ekranında Belirli Niteliklerin Seçimi............................................ 103 Şekil 4.60. Görselleştirme Ekranı Yakınlaştırma .................................................................. 104 Şekil 4.61. Meta Öğrenmeler Altındaki FilteredClassifier Öğrenme Metodu ........................ 115 Şekil 4.62. NaiveBayes Algoritması ve Parametreleri .......................................................... 118 Şekil 4.63. Weather.arff NaiveBayes Algoritması Uygulanması ........................................... 119 Şekil 4.64. NaiveBayesUpdateable Algoritması ve Parametreleri ........................................ 120 Şekil 4.65. NaiveBayesMultiNominal Algoritması ve Parametreleri ..................................... 120 Şekil 4.66. NaiveBayesMultinominalUpdateable Algoritması ve Parametreleri ................... 121 Şekil 4.67. NaiveBayesMultinominalText Algoritması ve Parametreleri............................... 121 Şekil 4.68. J48 Algoritması ve Parametreleri ...................................................................... 122 Şekil 4.69. DecisionStump Algoritması ve Parametreleri .................................................... 123 Şekil 4.70. RandomTree Algoritması ve Parametreleri ........................................................ 123 Şekil 4.71. RandomForest Algoritması ve Parametreleri ..................................................... 124 Şekil 4.72. RepTree Algoritması ve Parametreleri .............................................................. 124 Şekil 4.73. M5P Algoritması ve Parametreleri .................................................................... 125 Şekil 4.74. LMT Algoritması ve Parametreleri ..................................................................... 125 Şekil 4.75. HoeffdingTree Algoritması ve Parametreleri ..................................................... 126 Şekil 4.76. DecisonTable Algoritması ve Parametreleri ....................................................... 127 Şekil 4.77. OneR Algoritması ve Parametreleri ................................................................... 127 Şekil 4.78. PART Algoritması ve Parametreleri ................................................................... 128 Şekil 4.79. M5Rules Algoritması ve Parametreleri .............................................................. 128 Şekil 4.80. JRip Algoritması ve Parametreleri ..................................................................... 129 Şekil 4.81. SimpleLinearRegression Algoritması ve Parametreleri ....................................... 129 Şekil 4.82. LinearRegression Algoritması ve Parametreleri ................................................. 130 Şekil 4.83. SMO Algoritması ve Parametreleri .................................................................... 131 Şekil 4.84. SMOreg Algoritması ve Parametreleri ............................................................... 131 Şekil 4.85. VotedPerceptron Algoritması ve Parametreleri ................................................. 132 Şekil 4.86. GaussianProcesses Algoritması ve Parametreleri............................................... 132 Şekil 4.87. SGD Algoritması ve Parametreleri ..................................................................... 133 Şekil 4.88. SGDText Algoritması ve Parametreleri .............................................................. 134 Şekil 4.89. SimpleLogistic Algoritması ve Parametreleri...................................................... 134 Şekil 4.90. Logistic Algoritması ve Parametreleri ................................................................ 135 Şekil 4.91. IBk Algoritması ve Parametreleri....................................................................... 136 Şekil 4.92. KStar Algoritması ve Parametreleri ................................................................... 136 Şekil 4.93. LWL Algoritması ve Parametreleri ..................................................................... 137 Şekil 4.94. SerializedClassifier Algoritması ve Parametreleri ............................................... 138 Şekil 4.95. InputMappedClassifier Algoritması ve Parametreleri ......................................... 138 Şekil 4.96. Baggin Algoritması ve Parametreleri ................................................................. 139 Şekil 4.97. RandomCommittee Algoritması ve Parametreleri ............................................. 140 Şekil 4.98. RandomSubSpace Algoritması ve Parametreleri ................................................ 140 Şekil 4.99. AdaBoostM1 Algoritması ve Parametreleri ....................................................... 141 Şekil 4.100. AdditiveRegression Algoritması ve Parametreleri .............................................. 141 Şekil 4.101. LogitBoost Algoritması ve Parametreleri ........................................................... 142

Page 14: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

Şekiller Listesi 17

Şekil 4.102. Vote Algoritması ve Parametreleeri .................................................................. 143 Şekil 4.103. Stacking Algoritması ve Parametreleri............................................................... 143 Şekil 4.104. CostSensitiveClassifier Algoritması ve Parametreleri ......................................... 144 Şekil 4.105. AttributeSelectedClassifier Algoritması ve Parametreleri ................................... 145 Şekil 4.106. CVParameterSelection Algoritması ve Parametreleri ......................................... 145 Şekil 4.107. MultiScheme Algoritması ve Parametreleri ....................................................... 146 Şekil 4.108. IterativeClassifierOptimizer Algoritması ve Parametreleri .................................. 147 Şekil 4.109. ClassificationViaRegression Algoritması ve Parametreleri .................................. 147 Şekil 4.110. RegressionByDiscretization Algoritması ve Parametreleri .................................. 148 Şekil 4.111. MultiClassClassifier Algoritması ve Parametreleri .............................................. 149 Şekil 4.112. Cobweb Algoritması ve Parametreleri ............................................................... 150 Şekil 4.113. SimpleKMeans Algoritması ve Parametreleri ..................................................... 150 Şekil 4.114. EM Algoritması ve Parametreleri ...................................................................... 151 Şekil 4.115. Cpu.arff Dosyasına SimpleKMeans Algoritması Uygulama Sonuçları ................... 152 Şekil 4.116. HierarchicalClusterer Algoritması ve Parametreleri ........................................... 153 Şekil 4.117. FarthestFirst Algoritması ve Parametreleri ........................................................ 153 Şekil 4.118. MakeDensityBasedClusterer Algoritması ve Parametreleri ................................ 154 Şekil 4.119. Canopy Alogitması ve Parametreleri ................................................................. 155 Şekil 4.120. Apriori Algoritması ve Parametreleri ................................................................. 156 Şekil 4.121. FPGrowth Algoritması ve Parametreleri ............................................................ 157 Şekil 4.122. FilteredAssociator Algoritması ve Parametreleri ................................................ 157 Şekil 4.123. CfsSubsetEval Algoritması ve Parametreleri ...................................................... 158 Şekil 4.124. WrapperSubsetEval Algoritması ve Parametreleri ............................................. 159 Şekil 4.125. ReliefFAttributeEval Algoritması ve Parametreleri ............................................. 160 Şekil 4.126. InfoGainAttributeEval Algoritması ve Parametreleri .......................................... 160 Şekil 4.127. GainRatioAttributeEval Algoritması ve Parametreleri ........................................ 161 Şekil 4.128. SymmetricalUncertAttributeEval Algoritması ve Parametreleri .......................... 161 Şekil 4.129. OneRAttributeEval Algoritması ve Parametreleri ............................................... 162 Şekil 4.130. PrincipalComponents Algoritması ve Parametreleri ........................................... 163 Şekil 4.131. BestFirst Algoritması ve Parametreleri .............................................................. 164 Şekil 4.132. GreedyStepwise Algoritması ve Parametreleri .................................................. 164 Şekil 4.133. Ranker Algoritması ve Parametreleri................................................................. 165 Şekil 5.1. Çok Katmanlı Yapay Sinir Ağları Seçimi .............................................................. 167 Şekil 5.2. Geri Yayılımlı Yapay Sinir Ağları Parametreleri ................................................... 168 Şekil 5.3. Yapay Sinir Ağları GUI Ekranı............................................................................. 169 Şekil 5.4. Sayısal Türde Tahminler İçin Çıkış Katmanı ........................................................ 170 Şekil 5.5. Bazı Düğümleri Silinmiş Ağ Yapısı ...................................................................... 170 Şekil 5.6. Ağ Yapısında Herhangi Bir düğümün Seçilmiş Hali ............................................. 171 Şekil 5.7. İki Düğümün Birbirine Bağlanması .................................................................... 172 Şekil 5.8. Giriş Katmanındaki Düğümlerin Yeni Düğümlere Bağlanması ............................. 173 Şekil 5.9. İki Düğüm Arasındaki Bağları Kaldırmak ............................................................ 174 Şekil 5.10. Devir Sayısı ve Her Devirdeki Hata Gösterimi .................................................... 175 Şekil 5.11. Otomatik Oluşturma (AutoBuild) Özelliği Pasif Yapılmış Ağ Yapısı....................... 176

Page 15: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

18 Weka ile Yapay Zekâ

Şekil 5.12. Yığın Boyutu Karşılaştırması .............................................................................. 177 Şekil 5.13. Zayıflama Özelliği Aktif ve Pasif Yapılmış Analiz Sonuçları .................................. 178 Şekil 5.14. Verileri Kontrol Etme Özelliği Aktif ve Pasif Yapılmış Analiz Sonuçları ................. 178 Şekil 5.15. Farklı Öğrenme Oranı Değerleri İçin Analiz Sonuçları ......................................... 179 Şekil 5.16. Farklı Momentum Değerleri İçin Analiz Sonuçları .............................................. 180 Şekil 5.17. Kategorik Verilerin İkili Türe Dönüştürülmüş ve Dönüştürülmemiş Analiz

Sonuçları .......................................................................................................... 180 Şekil 5.18. Verileri Normalize Edilmiş ve Edilmemiş Analiz Sonuçları ................................... 181 Şekil 5.19. Tahmin Edilen Niteliğin Normalize Edilmiş ve Edilmemiş Analiz Sonuçları .......... 182 Şekil 5.20. Yapay Sinir Ağlarının İç Katman Sayılarının Girilmesi .......................................... 182 Şekil 5.21. İç Katman Sayıları Girilmiş Ağ Yapısı .................................................................. 183 Şekil 5.22. Farklı İç Katman Sayılarının Analiz Sonuçları ...................................................... 184 Şekil 5.23. İç Katman Sayılarının “a” Olarak Belirlenmesi .................................................... 185 Şekil 5.24. İç Katman Sayılarının “t” Olarak Belirlenmesi .................................................... 185 Şekil 5.25. Doğrusal Regresyon Algoritmasında Virgülden Sonra Farklı Sayıdaki Kısımları

Alma ................................................................................................................ 186 Şekil 5.26. YSA Algoritmasında Virgülden Sonra Farklı Sayıdaki Kısımları Alma .................... 187 Şekil 5.27. Baştan Başlatma Parametresinin Aktif veya Pasif Olma Durumuna Göre Analiz

Sonuçları .......................................................................................................... 187 Şekil 5.28. Farklı Başlangıç Değerleri ile Yapılan Analiz Sonuçları ........................................ 188 Şekil 5.29. Farklı Devir Sayıları İle Yapılan Analiz Sonuçları ................................................. 188 Şekil 5.30. Farklı Doğrulama Kümesi Oranları İle Yapılan Analiz Sonuçları ........................... 189 Şekil 6.1. IKVM Web Sayfası ............................................................................................ 192 Şekil 6.2. IKVM İndirme Sayfası ....................................................................................... 193 Şekil 6.3. İndirilmiş IKVM Dosyası .................................................................................... 193 Şekil 6.4. Weka Dosya Konumunu Açma .......................................................................... 194 Şekil 6.5. weka.jar Dosyası Kopyalama............................................................................. 194 Şekil 6.6. ikvm.exe Dosya Yolu......................................................................................... 195 Şekil 6.7. Konsol Uygulamasını Açma ............................................................................... 195 Şekil 6.8. Konsol Ekranı Dizin Yolu Değiştirme .................................................................. 196 Şekil 6.9. weka.dll Dosyası Üretme Sonuç Ekranı .............................................................. 197 Şekil 6.10. weka.dll Dosyası............................................................................................... 198 Şekil 6.11. Yeni Bir C# Projesi Açma ................................................................................... 198 Şekil 6.12. IKVM Dll Dosyaları ............................................................................................ 199 Şekil 6.13. Referans Ekleme Penceresine Ulaşım................................................................ 200 Şekil 6.14. Referans Listesine weka.dll Dosya Yolunu Gösterme ......................................... 200 Şekil 6.15. Referans Listesinde dll Dosyalarının Seçili Hali ................................................... 201 Şekil 6.16. Projenin Referans Listesine Dosyaların Eklenmiş Hali......................................... 201 Şekil 6.17. Kategorik Değer Tahmini İçin C# Programı Çalıştırılmış Sonuç Ekranı .................. 206 Şekil 6.18. Sayısal Değer Tahmini İçin C# Programı Çalıştırılmış Sonuç Ekranı ...................... 207 Şekil 7.1. Verilerin Excel Dosyasındaki Sayılara Dönüştürülmüş Hali.................................. 214 Şekil 7.2. Öğrenci Not Tahmini Veri Ön İşleme Ekran Görüntüsü ...................................... 217 Şekil 7.3. Arff Dosyası Görünümü .................................................................................... 218

Page 16: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

Şekiller Listesi 19

Şekil 7.4. Excelde Yinelenen Kayıtları Kaldırma................................................................. 219 Şekil 7.5. Gerçek Değer ve Tahmin Edilen Değerin Durumu .............................................. 223

TABLOLAR

Tablo 7.1. Harf Notları ve Sayısal Karşılıkları ...................................................................... 218 Tablo 7.2. Öğrenme Yöntemi ve Sonuçları ........................................................................ 221 Tablo 7.3. M5P Yöntemi için Farklı Çapraz Doğrulama Sayıları ve Sonuçları ........................ 222

Page 17: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

1. VERİ, MADENCİLİK VE ÖĞRENME

Bu kitabın devamındaki tüm konuların daha iyi anlaşılabilmesi için öncelikle

bazı temel kavramların net bir şekilde bilinmesi önemlidir. Bu sebeple öncelikle

bu bölümde alanın temel kavramları ve uygulamaları hakkında bilgi verilmiştir.

1.1. Veri

Olaylar ve olgular ile ilgili işlenmemiş gerçeklere veri denir. Ham halde

olması nedeniyle tek başına herhangi bir anlam ifade etmez. Ticari bir işlet-

me açısından veri, gün içerisindeki tüm işlemlerinin kayıt altına alınmasıdır.

Örnek olarak, bir lokanta için bir adet çay, iki adet kahve ve acılı ya da acı-

sız adana birer veridir. Buradaki kayıtlar kendi başlarına bir anlam ifade

etmeyip yalnızca olup bitenlerin bir kısmını açıklar. Örneğin müşterinin

neden onları tükettiği veya aynı müşterinin genelde neleri sevdiği bu verilere

bakılarak bilinemez. Dolayısıyla içerisinde yorum ve değerlendirme yoktur

yani tek başına güvenilecek bir temel oluşturmaz [1].

Veriler ölçüm işlemi, sayım işlemi, deney yapma, gözlem yapma veya

araştırma yolu ile elde edilir. Ölçüm veya sayım yolu ile elde edilen ve sayı-

sal olarak ifade edilen verilere nicel veriler denir. Sayısal olarak ifade edi-

lemeyen bilgilere ise nitel veriler denir. Her sembolik gösterim gibi, veri de

belirli bir nesne, birey ya da olguya ilişkin bir soyutlamadır [2].

1.2. Enformasyon

Verinin belirli işlemlerden geçirildikten sonra daha anlamlı biçimine en-

formasyon denir. Enformasyon veriden üretilip bir içerik ve amaca sahip

olur. Başka bir ifade ile enformasyona organize edilmiş veri denilebilir. Ve-

Veri, Madencilik ve

Öğrenme

1

Page 18: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

22 Weka ile Yapay Zekâ

riler üzerinde toplama, sayma, gruplama, özetleme, eleme, ayıklama, elle

veya bilgisayar ile işleme sonucu enformasyona dönüştürülür. Bu şekilde

veriler bir anlam kazanır ve böylece problem çözme veya karar verme süreç-

lerine temel teşkil eder [3].

Örneğin, bir lokantadaki toplam yiyecek satışlarının toplamı, satılan

toplam çay adedi, bir ay boyunca kahveden elde edilen kar işletme için en-

formasyondur. Bir diğer adıyla malumat olarak da adlandırılır. Malumat

belirli ve sınırları tanımlı bir konuya ilişkin belirli bir amaç doğrultusunda

veri parçalarının işlenmesi sonucu elde edilir.

1.3. Bilgi

Kişinin çevresinde gerçekleşen olayları tam ve doğru bir şekilde kavra-

masını sağlayan kişiselleştirilmiş enformasyonlara bilgi denir [4]. Diğer bir

deyişle enformasyonun anlam kazanmış haline bilgi denilebilir. Bilgi kişiye

özel olup, alıcılar aracılığıyla kişinin beynine ulaşan enformasyonun ve bu-

rada önceki bilgiler ile işlenmesi sonucu bilgiye dönüşür [5].

Şekil 1.1. Veri, Enformasyon, Bilgi Piramidi

Yukarıdaki şekilde gösterildiği gibi enformasyon veriden elde edilirken,

bilgi de enformasyondan elde edilir. Ayrıca çok büyük miktardaki veriden daha

az enformasyon çıkarken, enformasyondan daha az miktarda bilgi üretilir.

Bilgi, kişisel olması nedeniyle inançlar, doğrular, bakış açıları, yargılar,

beklentiler vb. değerlerden doğrudan etkilenir. Bilgi, enformasyonun ince-

lenmesi, değerlendirilmesi, sentezlenmesi ve en son olarak bir karar verme

sürecinden geçirilmesi sonucu elde edilir [3]. Örnek olarak bir lokantanın

Bilgi

Enformasyon

Veri

Page 19: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

1. Veri, Madencilik ve Öğrenme 23

geçmiş haftalardaki Pazartesi günleri tüketilen yemek sayıları ve her bir

yemekten elde edilen kâr dikkate alınarak bir sonraki Pazartesi günü için

üretilecek yemekleri belirlemek bilgidir. Burada bir önceki haftaların Pazar-

tesi günkü yemek sayıları ve elde edilen kârlar enformasyondur. Fakat bir

sonraki Pazartesi için her bir lokanta aynı sayısal sonuçlara baksa dahi bir

sonraki Pazartesi için yemek tür ve üretim sayıları farklı olacaktır. Elbette ki

burada bir önceki haftalardaki veriler üzerinden elde edilen enformasyon

bilgiye dönüşür.

1.4. Karar Destek Sistemi (KDS)

Karar destek sistemleri (KDS) karar süreci içerisindeki herhangi bir an-

da karar veren kişinin işini kolaylaştırmak amacıyla, özellikle alternatiflerin

geliştirilmesi ve bu karar alternatiflerinin değerlendirilmesi için gerekli bil-

gilerin toplanması ve analizi için oluşturulan bilgisayar temelli sistemlere

denir. Burada temel amaç, karar veren kişiye daha iyi denetim olanağı tanı-

mak ve bu kişilerin karar süreçlerine yön verecek bilgi ve analitik destek

sağlamaktır. KDS’lerde uzman sistemler gibi insan mantığını taklit ederek

ve problemleri bir uzman kişi gibi çözmeye çalışarak karar oluşturma meka-

nizması, yani soruna belirli bir cevap veya çözüm sağlama yoktur. Bunun

yerine karar veren kişilere yararlı bilgi sunmak ve analiz sürecinde karar

veren kişinin mevcut yeteneklerine destek olacak kullanımı kolay araçlar

sağlamak amaçlanır. Böylelikle karar vericinin bilgi hatırlama ve muhakeme

işlemlerini daha etkin ve daha verimli hale getirmek de hedeflenir. Sonuçta

karar vericiler zaman kaybı veri düzenlemede işini yapmama, örgütün mev-

cut durumunu daha iyi görme, alternatif senaryoları ve en fazla ümit vade-

den eylemi inceleyerek karar verme olanağına kavuşmaktadır [42].

1.5. Veri Tabanları

Gereksiz verileri kontrol ederek tekilleştiren ve verileri merkezileştirerek

birçok uygulamayı etkin ve verimli bir şekilde sunmak amacıyla düzenlenmiş

veri yığınına veritabanı denir. Veriler her bir uygulama için bağımsız olarak

ayrı ayrı saklanmak yerine tek bir konumda tutulur ve çoklu uygulamalara

hizmet sunabilir [6]. Örneğin bir fabrika üretilen ürünleri, ürün satışlarını,

fabrika giderlerini ve personel bilgilerini ayrı ayrı dosyalarda saklamak yerine

ortak bir dosyada tutabilir. Bu tür kurumların verilerini merkezi yapıda tutma-

sını sağlayan, etkili ve verimli bir şekilde kullanım ve erişim sağlayan prog-

Page 20: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

24 Weka ile Yapay Zekâ

ramlara ise veritabanı yönetim sistemleri denir. Aşağıdaki şekilde veritabanı

ve veritabanı yönetim sistemi görsel olarak anlatılmıştır [7].

Şekil 1.2. Veritabanı ve Veritabanı Yönetim Sistemi

1.6. Veri Ambarları

Farklı veritabanlarında tutulan veriler arasında ilişki kurularak bu ilişkili

verilerin tutulmasına veri ambarları denir. Veri ambarı, verilerin bir veya birden

fazla yerdeki verilerin bir yere transfer edilip depolanmasından ziyade bu veriler

üzerinde sorgulama ve analiz yapılmasına olanak tanıyan ilişkisel veri tabanıdır.

Birden farklı yerdeki verileri kendi bünyesinde saklayabileceği gibi içerisinde

farklı veri kaynakları da barındırabilir. Veri ambarları büyük miktardaki verile-

rin birden fazla yerden taşınmasından doğacak sorunları çözebileceği gibi farklı

kaynaklardaki verileri kullanılabilir hale dönüştürür [8]. Aşağıdaki şekilde bir

kurumun farklı sistemlerde tutulan verilerinden müşteri odaklı veri ambarı oluş-

turulması görsel olarak gösterilmiştir [9].

Page 21: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

1. Veri, Madencilik ve Öğrenme 25

Şekil 1.3. Örnek Veri Ambarı

1.7. Veri Madenciliği

Veri yığınları arasında gizli kalmış, bir kısım analizler sonucu geçerli ve

işe yarar bilgi elde edilmesine veri madenciliği denir. Veri madenciliği bü-

yük miktardaki veriler üzerinde işlem yapması nedeniyle veritabanları ile

doğrudan ilişkilidir. Belirli bir amaca yönelik oluşturulmasının yanı sıra

verilere hızlı ve etkin bir şekilde erişim olanağı tanıyan veri ambarlarından

yararlanılır. Veri madenciliği kendi başına çözüm değildir fakat karar verme

süreçlerini destekler ve problemin çözümü için gerekli bilgileri sağlar [10].

Veri madenciliği veri toplama, temizleme, model oluşturma, model testi

ve uygulama gibi birçok aşamaları içeren bir süreçtir. Bu süreçlerde her ne

kadar bilişim sistemleri kullanılsa dahi insanın yorum ve katkısı büyük bir

öneme sahiptir. Bu sebeple bu sürecin tamamen bilgisayar tarafından otoma-

tize edilmesi mümkün değildir [11]. Aşağıdaki şekilde veri madenciliği sü-

reci görsel olarak gösterilmiştir [12].

Page 22: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

28 Weka ile Yapay Zekâ

Veri madenciliği disiplinler arası bir çalışma olması nedeniyle istatistik,

matematik, derin öğrenme, makine öğrenmesi, yapay zekâ gibi disiplinlerin

yöntemlerini kullanmaktadır. Veri madenciliğinde belirli adımların yerine

getirilmesi sonrası veri yığınları arasından bilgi keşfi gerçekleşir. Aşağıdaki

şekilde bu durum görsel olarak gösterilmiştir.

Şekil 1.5. Veri Madenciliğinde Bilgi Keşfi

1.9. Yapay Zekâ

İnsan beyni hem dünyanın en karmaşık makinesi hem de en mükemmel

makinesi olarak kabul edilebilir. İnsan beyni üzerine çalışmalar yıllardır

devam etmesine rağmen halen daha çözümlenmiş değil. Bilgisayarlar ile

karşılaştırıldığında belki sayısal bir işlemi bilgisayardan daha yavaş yapabi-

lir fakat idrak etmeye yönelik problemleri inanılmaz kısa sürede çözer. Ör-

neğin bir çocuğun camdan aşağı sarktığını gören bir baba saniyeler içerisin-

de yaşanmış veya yaşanmamış olduğu fark etmeksizin geçmiş tecrübelerin-

den yola çıkarak bebeğin düşebileceğini düşünür ve ona engel olur. Burada

kendisinin bir başka çocuğunun daha önce düşmesinden oluşan bir tecrübeye

sahip olabileceği gibi başkalarından duymuş olduğu bilgiler ile de tecrübeye

sahip olur ya da sezgilerini kullanır. Buradaki durumun benzerini sergileye-

cek bilgisayarlar zekâsı üretmek için uzun yıllardır çalışmalar sürmektedir.

Fakat bilgisayarlar çok karmaşık sayısal problemleri çok kısa sürelerde

çözmesine rağmen, deneyimlerden elde edilen bilgileri kullanma ve idrak

gerektiren konularda yetersiz kalmaktadır [14].

Veritabanı

Veritabanı

Veritabanı

Örneklem

Düzenlenmiş

Veri

Azaltılmış

Veri

Örüntü

Kullanılabilir

Bilgi

Veri Seçimi Düzenleme Azaltma Veri

Madenciliği

Değerlendirme

ve Yorum

Page 23: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

1. Veri, Madencilik ve Öğrenme 29

Çevreyi algılama, karar verme ve hareketleri kontrol etme yeteneğine zekâ

denir. Zekâ iyileştirilebilir, geliştirilebilir ve değiştirilebilir. İnsanlar çok farklı

zekâ gruplarına sahip olup, her insanda kendine özgü ve her insanda farklı geli-

şim süreçlerin sahiptir. İnsan zekâsı ile gerçekleştirilen düşünme, anlama, kav-

rama, yorumlama ve öğrenme işlemlerini bilgisayar programları aracılığıyla

problem çözümüne uygulanmasına ise yapay zekâ denir. Elbette bir insanın

sahip olduğu his, sezgi ve ruhsal durum gibi özellikler ile düşünme eyleminin

bilgisayara kazandırılması mümkün olmayacaktır. Bilgisayarlar, işlemci hızı,

hafızası ve çalışma hızı ile değerlendirilirken yapay zekâ ise hesaplama gücü,

kullanılan yöntem ve hafıza olarak değerlendirilmektedir. İnsan beynindeki

nöronların kimyasal olarak birbirine bağlanma potansiyeli hesaplama gücü iken,

yapay zekâ donanımı işlemci hızı ile hesaplama gücüne karşılık gelmektedir.

Problem çözümünde insanlar çözümleme metodolojisi ve prensiplerini yöntem

olarak kullanırken, yapay zekâ matematiksel yöntemini kullanılır. İnsanların

belleği bilgiyi tutan hafıza kapasitesini ifade ederken, yapay zekâda bilgisayar

hafızasına karşılık gelir [15]. Aşağıdaki şekilde düşünen robotlar ile yapay zekâ

görselleştirilmiştir [16, 17].

Şekil 1.6. Yapay Zeka ve Düşünme

1.10. Makine Öğrenmesi

Makine öğrenmesi yapay zekânın bir alt dalıdır. Veriler arasındaki karma-

şık örüntülerin çıkarılması için bilgisayar tabanlı matematiksel modellerden

yararlanır. Her an milyonlarca verinin saklandığı yığınlar çeşitli analizler ya-

pılması için tutulmaktadır. Bu veri yığınları üzerinde yapılacak her bir analizde

ise farklı sonuçlar çıkacağı düşünülmektedir. Örneğin kesintisiz görüntü kaydı

yapan güvenlik kameraları olağan dışı bir durumu olağan durum olan önceki

veriler ile karşılaştırarak öğrenmeye çalışır. Kredi kartı hareketlerinin tutulması

sonucu önceki hareketlere bakarak kişinin daha fazla borçlanmayı ödeyip öde-

yemeyeceğini öğrenmeye çalışılmaktadır. Anlatılan bu tür sistemlerin tümünde

bu kadar çok geçmiş veriyi saklamanın temel amaçları arasında bunların çeşitli

Page 24: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

30 Weka ile Yapay Zekâ

analizler ile değerlendirilip yorumlanması ile geleceğe yönelik öngörüler elde

etmektir. İşte bu tür analizler için makine öğrenmesi yöntemleri geliştirilmiştir.

Makine öğrenmesi yöntemleri geçmiş verilere bakarak, onlar arasındaki örüntü-

yü bulacak en iyi modeli tespit eder ve sonraki verileri bu modeli uygulayarak

tahmin eder. Dolayısıyla önceki verilere bakarak örüntüyü nasıl bulacağını öğ-

renmiş olur. Sonraki verilere bu öğrendiğini uygular ve bu tahmin/öngörü ola-

rak karşımıza çıkar. Sonuç olarak; karar verme süreçlerine destek olmak için

çok miktardaki geçmiş verinin analiz edilerek gelecek ile ilgili öngörüler elde

edilmesini sağlayan yöntemlere makine öğrenmesi denir. Aşağıdaki şekilde bu

durum bir görsel ile gösterilmiştir [18].

Şekil 1.7. Makine Öğrenmesi

1.11. Derin Öğrenme

Yapay sinir ağlarının ne olduğu bu kitabın bir sonraki bölümünde detay-

lı olarak ele alınacaktır. Derin öğrenme kavramı yeni bir kavram olmamakla

birlikte yapay sinir ağlarının geliştirilmesi ile ortaya çıkmaya başladı. Önce-

leri yapay sinir ağları uygulamaları bir veya iki katmandan oluşur ve bu ne-

denle de bazı problemlerin çözümünde basit kalırdı. İşte buradaki iç katman

sayılarının ve iç katmandaki her bir sinir sayısının en ideal modeli tespit

etmek için bulunması, yapay sinir ağlarında kullanılan parametrelerin en iyi

değerini kendisi keşfeden sistemlere derin öğrenme denir. Aşağıdaki şekilde

de gösterildiği üzere yapay zekâ kavramı en genel bir kavram olmakla bir-

likte makine öğrenmesi ise derin öğrenme kavramını kapsar [19].

Page 25: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

2. YAPAY SİNİR AĞLARI

İnsanın en önemli özellikleri arasında yer alan düşünebilme ve öğrene-

bilme yetenekleri üzerine yapılan araştırmalarda yapay zekâ kavramı ön

plana çıkmıştır. İnsanın düşünme yapısını anlayarak benzer sonuçlar ürete-

cek bilgisayar işlemleri geliştirmeye çalışmaya yapay zekâ denir. Bir başka

deyişle programlanmış bilgisayarlara düşünme yeteneği sağlama girişimidir.

Yapay zekânın amacı insan zekâsı düzeyinde bilgisayarları geliştirmek ve

insanın zeki davranışlarına benzer makineler yapmaktır. Yapay sinir ağları

(YSA) yapay zekâ çalışmalarına destek sağlayan bir başka alandır. Dolayı-

sıyla YSA için yapay zekânın bir alt dalı olduğu ve öğrenebilen sistemlerin

temelini oluşturduğu söylenebilir. YSA’lar insan beyninin temel işlem ele-

manı olan nöronu şekilsel ve işlevsel olarak basit bir şekilde taklit etmeye

çalışırlar. Bu yolla biyolojik sinir sisteminin basit bir simülasyonunu gerçek-

leştiren programlar olduğu söylenebilir [22, 23].

İnsan beyninin çalışma ilkesinden esinlenerek geliştirilmiş, her biri be-

lirli ağırlıklara sahip bağlantılar aracılığıyla birbirine bağlanan ve yine her

biri kendi belleğine sahip işlem elemanlarından oluşan paralel ve dağıtılmış

bilgi işleme yapılarına yapay sinir ağları denir [24]. Bir başka deyişle, biyo-

lojik sinir ağlarını taklit eden bilgisayar programları olduğu da söylenebilir

[25]. Bu programlara olan ilgi günden güne artmakta ve birçok problemin

modellemesinde, kontrol edilmesinde veya çözümlenmesinde en iyi çözüm-

ler üretmeye devam etmektedir [26].

2.1. Yapay Bir Sinirin Öğeleri

Yapay bir sinir hücresi, biyolojik sinirlere göre daha basit olmasıyla bir-

likte biyolojik sinirlerin 4 temel işlevini gerçekleştirmeye çalışırlar. Aşağı-

Yapay Sinir Ağları2

Page 26: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

36 Weka ile Yapay Zekâ

daki Şekil 2.1, Şekil 2.2 ve Şekil 2.3’te biyolojik bir sinir hücresi ve yapay

bir sinir ağı şekilsel olarak gösterilmiştir.

Şekil 2.1. Biyolojik bir beyin sinir hücresi [27]

Şekil 2.2. Yapay bir bir sinir elemanı

Şekil 2.3. Biyolojik Sinir Hücresi ile Yapay Bir Sinir Hücresinin Benzetimi

Tüm yapay sinir ağları bu temel yapıdan üretilmiş olup öğrenme yete-

neği, seçilmiş olan öğrenme algoritması içerisindeki ağırlıkların en ideal

Girdiler Ağırlıklar Toplama İşlevi Etkinlik

İşlevi Çıktı

X1

X2

Xi

w1j

w2j

wij

(etkinlik) Yi

Eşik

Dendritler Gövde

Eşik

Fonksiyon

Akson

Page 27: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

3. TAHMİNİN HATA DÜZEYİNİN BELİRLENMESİ

Weka programı iki tipteki tahmin sonuçlarını elde ederken farklı hata

formüllerini kullanmaktadır. Aşağıdaki şekilde cpu.arff adlı dosya seçilmiş-

tir. Bu dosyanın tahmin edilen class adlı sütunu sayısaldır. Aşağıda sayısal

türde sonuçların tahminleri elde edilirken hata ölçüm değerlerinin nasıl ol-

duğu gösterilmektedir.

Şekil 3.1. Sayısal Sonuç Tahmininde Hata Ölçümleri

Nominal veya diğer adıyla kategorik türdeki bir tahmin elde edildiğinde

ise hata ölçüm değerleri daha farklı olmaktadır. Weather.arff dosyasının ise

Tahminin Hata

Düzeyinin Belirlenmesi

3

Page 28: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

48 Weka ile Yapay Zekâ

tahmin edilen sütun değeri kategoriktir. Aşağıdaki şekilde ise kategorik bir

değerin tahmin edilmesinde hata ölçümlerinin nasıl yapıldığı görülmektedir.

Şekil 3.2. Kategorik Sonuç Tahmininde Hata Ölçümleri

Yukarıdaki iki şekle dikkat edilirse kategorik değer tahminlerinde sayı-

sal değer tahminlerine göre daha fazla hata ölçüm değerleri gösterilmiştir.

Bunlar aşağıdaki başlıklarda daha detaylı olarak ele alınmıştır.

3.1. Sayısal Sonuçları Tahmin Etmek

Tahmin edilen talep seviyesi ile gerçekleşen talep seviyesi arasındaki

farka bakarak tahmin yönteminin etkinliği ölçülebilir. Bu hata testleri tah-

min yapmada kullanılan modelin başarısını izlemede önem arz etmektedir.

Bütün istatistik değerleri tahmin edilen talep ile gerçekleşen talep arasındaki

farka başka bir şekilde bakarlar. Bunların tümü birbirinden ne kadar uzak

olduğunu sayısal değerler ile göstermeye çalışır. Bazen karekökler alınırken

bazen de mutlak değerler dikkate alınır. Karekök alınarak aşırı yüksek de-

ğerlerin sonuç üzerindeki etkisini azaltmaya çalışılmaktır.

Tesadüfi ve tesadüfi olmayan nedenler olmak üzere hata nedenleri ikiye

ayrılır. Doğru değişkenlerin belirlenmemesi, hatalı eğim doğrusu seçilmesi,

değişkenler arasında yanlış ilişkiler kullanılması, mevsimsel etkilerin göz

ardı edilmesi gibi nedenler tesadüfi olmamakla beraber hatanın sürekli ol-

masına sebep olurlar. Fakat tahmin modeli tarafından açıklanmayan hatalar

ise tesadüfi hata olarak kabul edilir [41].

Page 29: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

3. Tahminin Hata Düzeyinin Belirlenmesi 49

Aşağıdaki başlıklarda sayısal sınıfları tahmin ederken kullanılan hata

değerleri ve hesaplama formülleri ele alınmıştır.

3.1.1. Korelasyon Katsayısı

Korelasyon katsayısı (Correlation coefficient) iki değişken arasındaki

ilişkiyi veya bir değişkenin daha fazla değişken ile ilişkisini tespit etmek,

varsa yönünü ve şiddetini bulmak için kullanılan yöntemdir. Bu değer -1 ile

+1 arasında değişmektedir. Değerin -1’e yaklaşması ilişkinin ters yönde

olduğu anlamına gelirken, +1’e yaklaşması ise ilişkinin aynı yönde olduğu

anlamına gelmektedir. Korelasyon katsayısı +1’e yaklaştıkça kuvvetli pozitif

ilişki olduğu söylenirken, -1’e yaklaştıkça kuvvetli negatif ilişki olduğu ve

0’a yaklaştıkça ise ilişkinin azaldığı söylenir [42].

Tablo 1. Korelasyon Katsayısı Değer Aralıklarına Göre Yorumları

Korelasyon Katsayısı Değer Aralıkları Yorum

+0,90 ile +1,00 arası Pozitif Çok Yüksek Korelasyon

+0,70 ile +0,90 arası Pozitif Yüksek Korelasyon

+0,40 ile +0,70 arası Pozitif Normal Korelasyon

+0,20 ile +0,40 arası Pozitif Düşük Korelasyon

0,00 ile +0,20 arası Pozitif Çok Düşük Korelasyon

0,00 ile -0,20 arası Negatif Çok Düşük Korelasyon

-0,20 ile -0,40 arası Negatif Düşük Korelasyon

-0,40 ile -0,70 arası Negatif Normal Korelasyon

-0,70 ile -0,90 arası Negatif Yüksek Korelasyon

-0,90 ile -1,00 arası Negatif Çok Yüksek Korelasyon

Korelasyon katsayısı (r) hesaplanırken aşağıdaki formül kullanılır.

𝑟 ∑(𝑥𝑦) −

(∑𝑥)(∑𝑦)𝑛

√(∑𝑥 −(∑𝑥)

𝑛 )(∑𝑦 −

(∑𝑦)

𝑛 )

3.1.2. Ortalama Mutlak Hata

Tahmin yöntemleri arasında en sık kullanılan hata ölçülerini Üreten [42]

dört grupta toplamıştır. Bunlardan biri ortalama mutlak hata (Mean Absolute

Error)’dır.

Page 30: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

4. WEKA

Weka yeni Zelanda’daki Waikato Üniversitesi’nde geliştirilmiş olan ve

GNU ile GPL lisansına sahip bir yazılımdır. Yani halka açık, ücretsiz ve

açık kaynaklı olarak sunulmakta olan bir yazılımdır. “Waikato Environment

for Knowledge Analysis” ifadesinin baş harflerinden ismini almıştır. Java

tabanlı olarak yazılan bu programın adı aynı zamanda Yeni Zelanda adala-

rında bulunan, uçamayan ve soyu tükenmekte olan bir kuş adıdır.

Şekil 4.1. Weka programı açılış ekranı introsu

Veri madenciliği ve makine öğrenmesi uygulamaları yapmak amacıyla

kullanılan bu yazılım sık kullanılan hemen hemen tüm algoritmaları kendi

içinde barındırmaktadır. Veri kümeleri üzerinde kendi içindeki mevcut yön-

temleri kullanarak hızlı bir şekilde deneyebilmek için üretilmiştir. Bu özelli-

ğinin yanı sıra sonuçların da detaylı analizine imkân tanımaktadır. Program

WEKA4

Page 31: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

60 Weka ile Yapay Zekâ

aracılığıyla genel olarak sınıflandırma, kümeleme ve birliktelik gibi temel

veri madenciliği işlemleri yapılabilmektedir. Linux, Windows ve Macintosh

başta olmak üzere tüm sistemlerde çalışabilmektedir.

Weka programı giriş verilerini hazırlamak, girdi verileri ve öğrenmenin

sonucunu görselleştirmek ve bunların yanı sıra öğrenme şemalarını istatiksel

olarak değerlendirmek gibi tüm deneysel veri madenciliği süreçlerinde kap-

samlı destek sağlar. Çok çeşitli öğrenme algoritmalarını sunarken aynı za-

manda çok çeşitli ön işleme araçları içermektedir. Program kullanıcıları

farklı yöntemleri karşılaştırabilir ve mevcut probleme yönelik en uygun olan

seçeneği görebileceği arayüzler sunar.

Verileri tanımak işin en önemli parçasıdır. Weka birçok farklı veri gör-

selleştirme olanağı ve veri ön işleme araçları sağlamaktadır. Weka’daki tüm

algoritmalar girdilerini bir dosyadan okur veya tek bir tablodan (ilişkileri

yapılmış) sorgu olarak çeker. Weka kullanmanın yolu, herhangi bir veri kü-

mesine öğrenme yöntemlerinden birini uygulamak ve çıktı hakkında detaylı

bilgi elde etmek için çıktıları analiz etmektir. Bir başka yol ise yeni verilere

yönelik tahminler üretmek için, daha önce öğrenilmiş ve kaydedilmiş modeli

seçmek ve sonuçlar üretmektir. Üçüncü bir yöntem ise birçok farklı öğrenme

algoritmasını uygulamak ve bunların performanslarını karşılaştırmaktır.

Tüm algoritmalar ayarlanabilir parametlere sahiptir. Performans ölçümünde

kullanılan değerlendirme modülü ise ortak ve tektir. İstenirse de filtreler

olarak adlandırılan verileri önceden işlemek için kullanılan araçlar ile filtre

seçilir ve gereksinimlere göre uygulanabilir.

Şekil 4.2. Weka programı ana sayfası

Page 32: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

4. Weka 155

safesine göre üst üste binebildiğinden, belirli bir örneğin birden fazla kano-

piye ait olması mümkündür.

Şekil 4.119. Canopy Alogitması ve Parametreleri

4.8. Birliktelik Kural Öğrenmeleri

Apriori

Verilerin %100’lük minimum desteğiyle başlar ve bunu en az 10 kural

oluncaya kadar (veya %10’luk alt sınıra ulaşınca kadar) %5’lik adımlarla

azaltır. Buradaki varsayılan değerler kullanıcı tarafından parametre giriş

ekranından değiştirilebilir. Sıralama kuralları için dört alternatif ölçüt vardır:

Güven (Confidence): Sonuçta kapsanan öncülün örneklere oranıdır.

Asansör (Lift): Desteğin güvene (Confidence) bölünmesiyle elde edilir.

Kaldıraç (Leverage): Hem öncül hem de sonuçların istatiksel olarak ba-

ğımsız olması durumunda beklenenlerin ötesinde, hem öncül hem de

sonuçların kapsadığı ek örneklerin oranıdır.

Kanaat (Conviction): Bir elemanın bir diğer eleman yokken ki görülme

olasılığını hesaplar.

Kullanıcı tarafından bir önem seviyesi (significance) belirleyerek kural-

ların bu düzeyde önemlilik açısından test edilmesi sağlanabilir. Bu algorit-

Page 33: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

5. WEKA İLE YAPAY SİNİR AĞLARI

Çok katmanlı geri yayılımlı yapay sinir ağları (MultilayerPerceptron)

sınıflandırma sekmesi içinde fonksiyonlar (functions) gruplaması altında yer

almaktadır. Aşağıdaki şekilde çok katmanlı yapay sinir ağlarının seçimi gös-

terilmiştir.

Şekil 5.1. Çok Katmanlı Yapay Sinir Ağları Seçimi

2 numaralı başlık içerisinde yapay sinir ağları ile ilgili detaylı bilgi ve-

rilmiştir. Yapay sinir ağları ile ilgili detaylı bilgi edinmek için o bölümün

okunması önem arz etmektedir. Bu algoritmanın birçok parametresi bulun-

maktadır. Bu parametrelerin neler olduğu ile ilgili aşağıdaki şekil incelene-

bilir.

Weka ile Yapay Sinir

Ağları

5

Page 34: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

168 Weka ile Yapay Zekâ

Şekil 5.2. Geri Yayılımlı Yapay Sinir Ağları Parametreleri

Page 35: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

5. Weka ile Yapay Sinir Ağları 169

5.1. GUI Ekranı

Yapay sinir ağlarının modeli görsel olarak oluşturulmak istenirse bunun

için GUI adlı parametre “True” olarak seçildiğinde Başlat (Start) butonuna

basılınca iç katmanların kullanıcı tarafından tasarlanabileceği bir ekran gös-

terilecektir. Ekran aşağıdaki gibidir.

Şekil 5.3. Yapay Sinir Ağları GUI Ekranı

Yukarıdaki şekilde iki katmanlı bir modelin birinci katmanında iki adet

sinir veya diğer bir adıyla düğüm ikinci katmanında ise üç adet sinir bulun-

maktadır. Kullanıcı tarafından bu ekrandaki sinirler fare imleci ile istenildiği

gibi tasarlanabilir. Yeşil dikdörtgen kutular için alınmış olanlar giriş katma-

nını ifade ederken turuncu renkteki dikdörtgenler içine alınan ve en sonda

bulunanlar ise çıkış katmanıdır. Kategorik değişkenlerin tahmin edilmesi

durumunda kategori elemanlarının her biri ayrı bir çıkış olarak gösterilir.

Dolayısıyla çıkış katmanındaki sinir sayısı kategorideki eleman sayısı ile

aynı olacaktır. Sayısal değerdeki tahminlerde ise çıkış katmanındaki sinir

yalnızca bir tane olur. Aşağıdaki şekilde bu durum gösterilmiştir.

Page 36: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

6. C# İÇİNDEN WEKA KULLANIMI

Birçok veri madenciliği uygulaması, makine öğrenme bileşeni olarak

çok daha büyük bir yazılım sisteminin sadece küçük bir parçasından

oluşmaktadır. Bir veri madenciliği uygulaması yazılmak veya kullanıcı-

nın kendisine yönelik özelleştirilmek isteniyorsa Weka’daki algoritmala-

ra kendi kodu içerisinden erişilmek istenmesi gayet doğaldır. Bu durum

herkesin kendine özgü problemini, en az ek program kodu yazarak çözüm

sunacaktır.

Makine öğrenme algoritmalarında uzman olmak isteyen biri verilerin

yazıldığı dosyayı okuduktan sonra ayrıntılar ile uğraşmak istemeyerek kendi

algoritmalarını uygulamak isteyecektir. Weka bütün bunlara imkân tanımak-

tadır. Bunun için temel veri yapıları hakkında bilgi sahibi olmak yeterli ola-

caktır.

Weka programı tamamen Java tabanlı yazıldığından Weka algoritma-

larını Java programı içerisinde kullanırken ekstra herhangi bir şey yap-

maya ihtiyaç yoktur ve gayet sorunsuz çalışacaktır. Fakat Visual Studio

içerisinden .NET tabanlı C# ile Weka algoritmalarını kullanılmak istenir-

se o zaman bazı extra şeyler yapılması gerekir. Öncelikle Java kodları

veya diğer bir deyişle Java sınıfları (class) C# içerisinden kullanılmak

istendiğinde bir aracıya ihtiyaç vardır. Bu aracının adı da IKVM’dir.

IKVM, .NET için geliştirilmiş bir Java uygulamasıdır. Java sınıflarını

doğrudan .NET kodunun içinden çağırmaya olanak tanır. GNU Classpath

aracılığıyla, .NET'te kullanılmak üzere standart Java API'sinin çoğunu

sağlar. Ayrıca Java Virtual Machine'in bir .NET sürümünü de sağlar.

Başka bir deyişle bu IKVM adlı yazılım ile neredeyse tüm Java sınıfları

C# İçinden

Weka Kullanımı

6

Page 37: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

192 Weka ile Yapay Zekâ

(class) .NET tabanlı tüm dillerde kullanılabilir. Ayrıca IKVM açık kay-

nak kodlu bir yazılım olması nedeniyle rahatlıkla kullanılabilir.

Elbette C# içerisinden Weka’nın tüm özelliklerini tam manasıyla kul-

lanmak mümkün değildir. Örneğin GUI ekranı kod ile kullanılamaz. Fakat

araştırma projelerinde temel algoritmaları kullanma ve onun üzerine devam

etmek için gayet istikrarlı bir şekilde çalışmaktadır ve geliştirme olanağı

tanımaktadır.

6.1. IKVM Uygulamasını İndirme

Öncelikle IKVM kullanılarak Weka jar dosyasından nasıl .NET altyapı-

sını kullanan diller için weka.dll dosyası elde edileceği anlatılacaktır. Elbet-

teki öncelikle IKVM dosyasının nasıl indirileceği ele alınmalıdır.

www.ikvm.net web sitesi tarayıcıya yazıldıktan sonra açılan siteden sol me-

nüdeki İndir (Download) bağlantısına tıklanmalıdır. Açılan sayfa aşağıda

gösterilen şekildeki gibi olacaktır. Şekilde de gösterilen 3 numaralı Sour-

ceforge bağlantısı tıklanır ve indirme sayfasına yönlenir.

Şekil 6.1. IKVM Web Sayfası

IKVM web sayfasından aşağıda gösterilen web sayfasına otomatik yön-

lenme gerçekleşir. Açılan yeni web sitesinden kırmızı ok ile gösterilen

“Download Latest Version” butonuna tıklanır ve indirme işlemi otomatik

olarak başlar.

Page 38: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

7. ÖĞRENCİ DERS GEÇME NOTUNUN YAPAY ZEKÂ YÖNTEMLERİ İLE TAHMİN EDİLMESİ

Buradaki örnekte üniversitede öğrenim görmekte olan lisans ve ön-

lisans öğrencilerinin güz ve bahar dönemlerine ait Türk Dili -II ders

notları diğer detayları ile birlikte yapay zekâ yöntemleri ile analiz edi-

lecek ve dönem sonu geçme notu tahmin edilmesi sağlanacaktır. 3254

adet öğrenciye ait 13 adet nitelik aşağıdaki gibi belirlenmiştir. Bu nite-

likler öğrencinin bir dersi geçmesinde etkili olan etmenlerdir. Mutlaka

bunlardan başka geçme notuna etki eden unsur vardır fakat burada top-

lanabilen veriler ancak bu kadar mümkün olmuştur.

1. Öğrenim Tipi

2. Fakülte

3. Bölüm

4. Program

5. Program Tipi

6. Ders Şubesi

7. Öğretim Elemanı

8. Öğretim Elemanı Unvanı

Öğrenci Ders Geçme

Notunun Yapay Zeka

Yöntemleri ile

Tahmin Edilmesi

7

Page 39: Weka ile YAPAY ZEKÂ...Dr. Öğr. Üyesi Emrah AYDEMİR Weka ile YAPAY ZEKÂ Makine Öğrenmesi Yapay Sinir Ağları - Derin Öğrenme Veri, Enformasyon Bilgi Veri Madenciliği ve

214 Weka ile Yapay Zekâ

9. ÖSS Giriş Türü

10. ÖSS Giriş puanı

11. ÖSS Giriş Sıralaması

12. Bir Önceki Dönemin Not Ortalaması

13. Ders Geçme Notu

Aşağıdaki şekilde bu verilerin Excel dosyasındaki hali gösterilmiş-

tir. Veriler hem daha az yer kaplaması için hem de burada bazı bilgile-

rin görünmesinin etik olmayacağı nedeniyle sayılara dönüştürülmüş tür.

Fakat bu sayı değerleri niteliğin kategorik olması özelliğini değiştir-

memektedir.

Şekil 7.1. Verilerin Excel Dosyasındaki Sayılara Dönüştürülmüş Hali

Yukarıda gösterilen veriler aşağıdaki şekilde metinlerden oluşmakta

iken sayılara dönüştürülmüştür. Kategorilerin sayısal karşılıkları bazı değer-

lerin bilinmesinin etik olmayacağı nedeniyle verilmemiştir. Ayrıca bazı de-

ğerlerin listesi çok uzun olduğundan burada örnek amaçlı birkaç kayıt ve-

rilmiştir.

Öğrenim Tipi

○ Lisans