5. Yapay Zeka Nedir?
AI kısaltmasıyla da ifade edilen Yapay Zeka,
görevleri yerine getirmek için insan zekasını
taklit eden ve topladığı bilgilerle kendisini
kademeli olarak geliştirebilen sistemler veya
makineler anlamına gelir [1].
Makine Öğrenimi Nedir?
Makine öğrenimi (ML), tükettikleri verilere
göre öğrenen ya da performansı iyileştiren
sistemler oluşturmaya odaklanan bir yapay
zeka (AI) alt kümesidir. Yapay zeka, insan
zekasını taklit eden sistemler veya
makineler anlamına gelen kapsamlı bir
terimdir [2].
7. Anaconda Programı
Anaconda ücretsiz ve açık kaynaklı, Python
ve R programlama dillerinin bilimsel
hesaplama kullanımında paket yönetimini
kolaylaştırmayı amaçlayan bir özgür ve açık
kaynaklı dağıtımdır. Paket sürümleri conda
paket yönetim sistemi ile yönetilir.
Anaconda dağıtımı Windows, Linux ve
MacOS işletim sistemlerinde kullanılabilen
veri bilimi paketleri içerir [3].
8. Spyder Yazılımı
Spyder, Python dilinde bilimsel
programlama için açık kaynaklı bir çapraz
platform entegre geliştirme ortamıdır.
Spyder, bilimsel Python yığınındaki NumPy,
SciPy, Matplotlib, pandalar, IPython, SymPy
ve Cython ve diğer açık kaynaklı yazılımlar
dahil olmak üzere bir dizi önde gelen
paketle entegre olur [4].
9. VERİ SETİ
• Veri Seti Tanıtımı
• Veri Setinin Spyder Yazılımına Aktarılması
• Veri Seti ile İlgili Bilgiler
03
10. Veri Seti Tanıtımı
Auto MPG veri kümesi, StatLib kitaplığında sağlanan veri
kümesinin biraz değiştirilmiş bir versiyonudur [5].
Veri seti toplam 398 örnekten ve 9 sınıf özellik (class
attribute) bilgilerinden oluşmaktadır.
Veri Setinin Özellik Bilgileri:
• mpg: continuous – 1 galon benzin veya mazotla kaç mil
gittiğini gösterir
• cylinders: multi-valued discrete – silindir sayısı
• displacement: continuous – motor hacmi
• horsepower: continuous – beygir gücü
• weight: continuous – ağırlığı
• acceleration: continuous – hızlanma
• model year: multi-valued discrete – model yılı
• origin: multi-valued discrete – kökeni
• car name: string (unique for each instance) – araç ismi
11. Veri Setinin Spyder Yazılımına Aktarılması
Öncelikle aktarmak istediğimiz veri setinin ismini yazmamız gerekiyor (auto-mpg.data). Sonraki işlemler sırasıyla
names (sütun adı), na_values (boş değer – eğer boş değer varsa soru işareti ile gösterilecek), comment (yorum), sep
(ayırma – veri seti boşluklarla ayrıldığı için tırnak içinde boşluk kullanılmıştır.) ve skipinitialspace (boşluk – veri
boşluklarla ayrıldığı için boşluk atlamaya yarayan komut)
12. Veri Seti ile İlgili Bilgiler
Data Info() komutu: Göründüğü gibi 398 tane girdi
(entries) var ve bunlar 0’dan 397’e kadar
işaretlenmişler. 8 tane sütun mevcut ve sadece
beygir gücünde (Hoursepower) 6 tane kayıp değer
var. Veri seti ondalık (float) ve tam (int) sayılardan
oluşmaktadır.
Describe komutu: Count (sayı) – Girdi sayısını
ifade eder. Mean (ortalama) – veri setimizdeki tüm
veri noktalarının toplamının toplam veri noktasına
bölümü ile edilen bir ortalama sayıdır. Std
(Standart Sapma) – Varyansın karekökü olarak
tanımlanır.
13. VERİ ANALİZİ
• Kayıp Değerlerin Bulunması ve Doldurulması
• Keşifsel Veri Analizi
• Aykırı Değer
• Öz Nitelik Mühendisliği
• Ön İşleme
• Doğrusal Regresyon
• Düzenlileştirme
• XGBoost
• Modellerin Ortalaması
04
14. Kayıp Değerlerin Bulunması ve Doldurulması
Her sütundaki eksik değerleri bulmak için
data.isna().sum() komutunu kullanmak gerekiyor.
Bu veri seti için en sağlıklı yöntem istatistiksel
dağılıma göre (mean) kayıp verilerin
doldurulmasıdır.
Göründüğü gibi Hoursepower (beygir gücü)
sütununda 6 tane kayıp değer bulunmaktadır.
Diğer sütunlarda kayıp değer bulunmamaktadır.
Burada fillna kayıp değerleri doldurmak için
kullanılan bir komut.
15. Keşifsel Veri Analizi
Korelasyon, olasılık kuramı ve istatistikte iki rassal değişken
arasındaki doğrusal ilişkinin yönünü ve gücünü belirtir [6].
Veri setinde nümerik sayılar olduğu için birbirleri arasındaki
ilişkiyi daha iyi analiz etmek mümkün.
Acceleration (hızlanma) ile Weight (ağırlık) arasındaki ilişkiye
baktığımız zaman negatif korelasyon gözükmektedir. Yani
aracın ağırlığı ne kadar az ise o kadar hızlıdır sonucunu
çıkarabiliriz. Target (MPG) ile Horsepower (beygir gücü),
Weight (ağırlık), Cylinders (silindir sayısı) ve Displacement
(motor hacmi) arasındaki ilişkiye baktığımız zaman yine
negatif bir korelasyon gözükmektedir. Target (MPG) ile diğer
sütunlar arasındaki ilişkiyi araştırdığımız için burada Target
(MPG) bağımlı değişken diğer sütunlar ise bağımsız
değişkenlerdir.
16. Keşifsel Veri Analizi
Bir korelasyon matrisinde birleri ile yüksek korelasyona
sahip özellikler varsa buna çoklu doğrusal bağlantı
(multicollinearity) denir.
Korelasyon matrisini küçültmek ve daha iyi analiz yapmak
için ±0,75 aralığındaki korelasyonlara bakıldı ve özellikler
arasında yüksek korelasyon bulundu. Sonuç olarak özellikler
arasında çoklu doğrusal bağlantı (multicollinearity) vardır.
17. Keşifsel Veri Analizi
Genel Grafiğe bakıldığı zaman Target (MPG) ile Target (MPG)
arasında histogram ortaya çıkmıştır. Target (MPG) ile
Cylinders (silindir sayısı) ve Origin (kökeni) arasında
kategorik bir ilişki mevcuttur. Target (MPG) ile Displacement
(motor hacmi), Horsepower (beygir gücü) ve Weight (ağırlık)
arasında ters orantı vardır. Target (MPG) ile Acceleration
(hızlanma) ve Model Year (model yılı) arasında herhangi bir
korelasyon gözükmemektedir.
18. Aykırı Değer
İstatistikte aykırı değer (outlier), diğer gözlemlerden önemli ölçüde farklı olan bir veri noktasıdır. Aykırı değer,
ölçümdeki değişkenlikten kaynaklanabilir veya deneysel hatayı gösterebilir; ikincisi bazen veri setinden hariç tutulur.
Bir aykırı değer, istatistiksel analizlerde ciddi sorunlara neden olabilir [7].
Q1 (1. Çeyreklik) ve Q3 (3. Çeyreklik) değerleri birbirlerinden çıkartılarak IQR (Çeyrek arası açıklık) değeri elde edilir. Q3
ile 1,5*IQR topladığı zaman sağ, Q1 ile 1,5*IQR farkını aldığımız zaman sol aykırı değer sınırını elde etmiş oluyoruz.
Aykırı sınır değerlerinden dışarda kalan değerler aykırı değerlerdir.
19. Aykırı Değer
Aykırı Değerlerin Tespiti
Grafikten de görüldüğü gibi, Horsepower (beygir
gücü) ve Acceleration (hızlanma) sütununda aykırı
değerler mevcuttur. Target (MPG) sütununda çok
az aykırı değer vardır. Diğer sütunlarda aykırı
değerler yoktur.
Aykırı Değerlerin Çıkarılması
Göründüğü gibi 398 tane girdiden sadece 395
tanesi kaldı. Horsepower (beygir gücü) ve
Acceleration (hızlanma) sütunlarındaki aykırı
değerler başarılı bir şekilde veri setinden çıkarıldı.
20. Öz Nitelik Mühendisliği
Çarpıklık olasılık kuramı ve istatistik bilim dallarında bir reel-değerli rassal değişkenin olasılık dağılımının simetrik
olamayışının ölçülmesidir [8].
21. Öz Nitelik Mühendisliği
İlk önce Target (MPG) bağımlı değişkenin çarpıklık
dağılımının grafiğine bakacak olursak, kuyruğun
sağ tarafta olduğu görülmektedir. Yani pozitif bir
çarpıklık vardır.
Bu çarpıklık değerini azaltabilmek için Log
dönüşümü yapıldı.
Grafikten de anlaşılacağı üzere çarpıklık değeri
azalmıştır.
22. Öz Nitelik Mühendisliği
Bağımsız Değişkenlerin Çarpıklık Dağılımı
Horsepower (beygir gücü) 1’den büyük
olduğu için pozitif bir çarpıklık var fakat
çok küçük olduğu için sorun teşkil
etmemektedir. Geri kalan bağımsız
değişkenlerin çarpıklık değeri gayet
idealdir.
23. Öz Nitelik Mühendisliği
One Hot Encoding, kategorik
değişkenlerin ikili (binary) vektörler
olarak temsilidir.
Cylinders (silindir sayısı) ve Origin
(kökeni) kategorik özellikler oldukları için
başarılı bir şekilde One Hot Encoding
yapılmıştır.
24. Ön İşleme
Ön işleme, makine öğrenimi modellerini eğitmeden önce veri seti üzerinde yapılan birtakım işlemlerdir.
25. Ön İşleme
Eğitim ve Test Verisinin Tanımlanması Eğitim ve Test Verisinin Tanımlanması
26. Ön İşleme
Standardizasyon, veri yapısını bozmadan standart hale getirme işlemidir.
Normal bir dağılım olması için Train ve Test verisinin Mean (ortalama) değeri 1 olarak, Std (Standart Sapma) değeri 0
olarak tanımlandı.
27. Doğrusal Regresyon
Doğrusal regresyon, bir bağımlı
değişken ile diğer başka bir
bağımsız değişken arasındaki ilişkiyi
tahmin etmeye çalışan doğrusal bir
model yaklaşımıdır.
Amaç her zaman en küçük kareler
yöntemini (Least Squared Error)
minimize etmektir.
Ortalama kare hata (mean squared
error) payı 0,020 olarak bulundu.
29. Düzenlileştirme
Ridge Regularization
Birden fazla değişkenli regresyon
verilerini analiz etmek için kullanılır.
Doğrusal bir modeldir.
Ortalama kare hata (mean squared
error) payı 0,018 olarak bulundu.
30. Düzenlileştirme
Lasso Regularization
Oluşturulan modelin tahmin
doğruluğunu geliştirmek için hem
değişken seçimi hem de düzenleme
gerçekleştirir.
Ortalama kare hata (mean squared
error) payı 0,016 olarak bulundu.
Ridge Regularization’dan en büyük
farkı gereksiz özelliklere sıfır değeri
atamasıdır.
31. Düzenlileştirme
ElasticNet Regularization
Ridge ve Lasso Regularization’nın
karışımı gibidir. Her ikisinin de
kuvvetli yönlerine sahiptir.
Ortalama kare hata (mean squared
error) payı 0,017 olarak bulundu.
32. XGBoost
Büyük ve karmaşık veri setleri için tasarlanmış bir algoritmadır. Bu algoritmanın en önemli özelliği hızlı çalışması ve
yüksek tahmin gücü elde edebiliyor olmasıdır.
Ortalama kare hata (mean squared error) payı 0,017 olarak bulundu.
34. Modellerin Ortalaması
En iyi sonucu veren iki algoritmanın ortalaması alınarak bulunur.
Ortalama kare hata (mean squared error) payı 0,015 olarak bulundu.
35. Sonuç
Kullanılmış olan modellerin regresyon skoru bulunmuş ve en iyi sonucu veren modellerin ortalaması alınarak test
skoru ortaya çıkarılmıştır. Projenin geliştirilme sürecinde karşılaşılan hataları çözebilmek için literatür araştırması
yapılmıştır. Yapılan bu araştırmalarda yapay zeka, veri analizi, makine öğrenimi modelleri ve Python programlama dili
ile ilgili bilgiler edinilmiştir. Yeni makine öğrenimi modelleri kullanılarak proje daha da geliştirilebilir.
36. [1] Oracle, «Yapay Zeka nedir? Yapay Zeka hakkında bilgi edinin», erişim tarihi: 15 Haziran 2022,
https://www.oracle.com/tr/artificial-intelligence/what-is-ai/
[2] Oracle, «Makine Öğrenimi nedir?», erişim tarihi: 15 Haziran 2022,
https://www.oracle.com/tr/data-science/machine-learning/what-is-machine-learning/
[3] Wikipedia, “Anaconda (Python dağıtımı)”, erişim: 15 Haziran 2022,
https://tr.wikipedia.org/wiki/Anaconda_(Python_da%C4%9F%C4%B1t%C4%B1m%C4%B1)
[4] Wikipedia, “Spyder (software)”, erişim: 15 Haziran 2022,
https://en.wikipedia.org/wiki/Spyder_(software)
[5] UCI Machine Learning Repository, “Auto MPG Data Set”, erişim: 02 Haziran 2022,
https://archive.ics.uci.edu/ml/datasets/Auto+MPG
[6] Wikipedia, “Korelasyon”, erişim: 02 Haziran 2022,
https://tr.wikipedia.org/wiki/Korelasyon
[7] Wikipedia, “Aykırı değer”, erişim: 02 Haziran 2022,
https://tr.wikipedia.org/wiki/Ayk%C4%B1r%C4%B1_de%C4%9Fer
[8] Wikipedia, “Çarpıklık”, erişim 02 Haziran 2022,
https://tr.wikipedia.org/wiki/%C3%87arp%C4%B1kl%C4%B1k
KAYNAKÇA