Professional Documents
Culture Documents
Çeşitli makine öğrenimi algoritmalarını aynı işlemin parçaları için ayrı ayrı manuel olarak
uygulamak ve sonuçları birleştirmek oldukça zor olabilir. Scikit-learn, sınıflandırma,
regresyon, kümeleme ve karar ağaçları gibi farklı makine öğrenme algoritmalarını birleştiren
bir python kütüphanesidir. Scikit-learn kullanarak, makine öğrenimini uygulamak sadece
modelin eğitileceği ve tahminin yapılacağı veriye uygun fonksiyonu çağırmak olarak
basitleşecektir.
REGRESYON:
Regresyon analizinin temelinde; gözlenen bir olayın değerlendirilirken, hangi olayların etkisi
içinde olduğunun araştırılması yatmaktadır. Bu olaylar bir veya birden çok olacağı gibi dolaylı
veya direkt etkileniyor da olabilirler. Regresyon analizi yapılırken, gözlem değerlerinin ve
etkilenilen olayların bir matematiksel gösterimle yani bir fonksiyon yardımıyla ifadesi
gerekmektedir. Kurulan bu modele regresyon modeli denilmektedir. Regresyon analizi
incelenirken, genellikle konusunu oluşturan, etkilendiği olaylara değişkenler adı verilir ve bu
değişkenlerin yer alacağı matematiksel model incelenir. İstatistikte değişkenler arasındaki
ilişkinin derecesini gösteren katsayıya korelasyon, değişkenler arasındaki ilişkinin fonksiyonel
şeklini belirleyen denkleme ise regresyon denklemi denir.
Regresyon modelinin kullanılması, ilgilenilen olayla ilgili olarak, bir sebep-sonuç ilişkisi
bulunması gerekmektedir. Sebep-sonuç ilişkisi, regresyon modeli kurulurken, bağımlı ve
bağımsız değişkenler olarak anlatılmaktadır. Regresyon analizi yapılırken kurulan
matematiksel modelde yer alan değişkenler bir bağımlı değişken ve bir veya birden çok
bağımsız değişkenden oluşmaktadır. Bağımsız değişkenler kurulacak modelde bir değişkenli
olarak ele alınırsa basit doğrusal regresyon, birden fazla bağımsız değişkenli olarak alınırsa
çoklu regresyon modeli konusunu oluşturmaktadır. Makine öğrenmesinde regresyon yaklaşımı
nedensellik ilişkisini ortaya çıkarmaktan ziyade gelecek değerlerin tahminin de
kullanılmaktadır. Bağımlı değişken hedef (target) değişken olarak isimlendirilirken, bağımsız
değişken özellik (feature) olarak isimlendirilir.
Regresyon modelinde regresyon doğruna göre tahmin hataları olarak bilinen artıkların (𝜀)
gösterimi aşağıdaki grafikte gösterilmiştir.
5 öğrencinin günlük ders çalışma saatleri ile belli bir dersin sınavından aldığı notları aşağıdadır.
Öğrencilerin çalışma saatlerinin özellik (bağımsız değişken) ve notların hedef değişken olduğu
basit bir regresyon modelini Python’da Scikit-learn kütüphanesi yardımıyla kuralım. İlk olarak
grafik çizimleri için matplotlib.pyplot kütüphanesini içe aktaralım.
Grafikten, çalışma saati ile notlar arasında pozitif bir korelasyon olduğunu görülebilir. Bu
noktalardan geçen düz bir çizgi çizilebilir ve bu doğru kullanılarak çalışma saati girilerek bir
başka kişinin notu tahmin edilebilir. Tüm noktaları kesen bir doğru çizmek için Scikit-learn
kütüphanesinden LinearRegression sınıfından yararlanılabilir. Model kurma(eğitme) işlemi
fit() fonksiyonu ile halledilir.
Model kurulduktan (eğitildikten) sonra predict() fonksiyonu yardımıyla yeni öğrenciler için
tahminlerde bulunulabilir. Günde 1.75 saat ders çalışan bir öğrencinin kurulan modele göre
alacağı tahmini not;
Yukarıdaki regresyon doğrusunun y ekseninin hangi noktada kestiğini görmek açık değildir.
Bunun nedeni, X ekseninin başlangıç noktasını 1,5 olarak seçmemizdir. Daha iyi bir
görselleştirme için, x-eksenini 0’dan başlatabiliriz ve y-ekseninin genişliğini artırabiliriz. Saat
değişkeninin iki uç değerini o ve 1,8’i kullanarak aşağıdaki kodla daha açık bir görselleştirme
elde edilir.
Regresyon doğrusunun tüm veri noktalarına iyi uyup uymadığını bilmek için artık kareler
toplamı (AKT) kullanılabilir.
AKT mümkün olduğu kadar küçük olmalıdır. AKT değerinin sıfır olması regresyon
doğrusunun noktalara tam olarak uyduğu anlamına gelir.
Test verilerinin regresyon doğrusuna ne kadar yakın olduğunu R-Kare yöntemi ile ölçebiliriz.
R-Kare yöntemi aynı zamanda basit regresyonda, belirleme katsayısı olarak ve çoklu
regresyonlar için çoklu belirleme katsayısı olarak da bilinir.
𝐴𝐾𝑇
𝑅2 = 1 − , 𝑇𝐾𝑇 = ∑𝑛𝑖=1(𝑦𝑖 − 𝑦̅)2 𝐴𝐾𝑇 = ∑𝑛𝑖=1(𝑦𝑖 − 𝑓(𝑥𝑖 ))2
𝑇𝐾𝑇
Bir modeli eğittikten sonra, daha sonra tekrar kullanmak içim kaydetmek genellikle
yararlıdır. Yeni bir veriyi test etmek için, modeli tekrar yeniden eğitmek yerine, kaydedilen
model, eğitimli modeli indirmenize ve modeli hemen tahminler yapmanıza olanak tanır.
VERİ TEMİZLEME:
Kayıp veri olup olmadığını görmek için csv formatındaki veriyi Pandas veri çerçevesi içine
yükleyip isnull() fonksiyonu aşağıdaki gibi kullanılabilir.
Veri kümenizdeki NaN ile başa çıkmanın yollarından biri, bunları bulundukları sütunların
ortalaması. İle yer değiştirmektir. Bu işlem, aşağıdaki komut satırlarıyla kolaylıkla yapılabilir.
SÜTUNLARI NORMALLEŞTİRME: