Makine Öğrenmesini Tahmin İçin Kullanmak: Regresyon

Özet: Regresyonu tanımlayıp Excel’de bir örnek üzerinde anlattıktan sonra Python ile giriş seviyesinde adım adım uyguladım.

Regresyon Nedir?

☞ Genel Tanım : Değişkenler arasındaki (bağımlı/bağımsız) ilişki gözlenerek tahminde bulunmak, değişkenlerin birbirleri üzerinde nasıl etkide bulunduğunu incelemek ve bilinmeyene dair çıkarım yapmak için regresyondan yararlanılır.

1 bağımlı ve 1 bağımsız değişken ile tahmin yapmaya çalıştığımızda bu basit doğrusal regresyon, birden çok değişkenler olduğunda ise çoklu doğrusal regresyon olur. Bu yazımda giriş amaçlı basit doğrusal regresyon üzerinden gideceğim.

İlişkiyi kurup istenen tahmine ulaşmak için gereken model y=a+bx+e ' dir. a⇨ sabit değer, b⇨ regresyon katsayısı/doğrunun eğimi, y⇨ tahmin edilmesi istenen değer, x⇨ bağımsız değişkenin değeri ve e⇨ (var ise) ana kütledeki hatadır.

Vereceğim örnekle model işini basite indirgeyerek bu değerlerin Excel’de nasıl bulunduğunu ve çok rahat yerlerine koyulduğunu göstereceğim.

Problem-1: Çalışma Saati Notu Etkiliyor mu?

Elimizde 5 öğrencinin bir derse ait ne kadar çalıştığı ve karşılığında hangi notu aldığını gösteren bir veri var.

Model kurup yerine koymak için Excel ile sabit değer (a, x=0 iken alacağı not) ve regresyon katsayısı (b, çalıştığı her saat için notunun kaç puan artacağı) değerlerini bulacağız.

Giriş sekmesinde sağ üstte yer alan ∑ (formüller) > alt ok tuşu > Diğer İşlevler diyoruz. İşlev Ara > DOT yazıyoruz. Açılan sayfada Bilinen_y’ler (tahmin edilmesi istenen, y) Not sütunumuz oluyor ve seçiyoruz. Bilinen_x’ler (nota etki edenler, b) Çalışma Saati sütunumuz oluyor. İkisinde de sadece sayıları seçiyoruz, yani sütun isimlerini değil.

Aldığımız sonuç sırası ile ilk yazılan hücre (b:)5,03 ve ikinci yazılan (a:)17,83 oluyor. Sayıları modele döktüğümüzde y=17,83+5,03.x ' e ulaşıyoruz. Bunun anlamı şu : Bir öğrencinin çalıştığı her extra saat için notunun 5,03 puan artması ve hiç çalışmayan bir öğrencinin 17,83 alması beklenir. Artık kaç saat çalıştığını x’e yazdığımızda sonucu alabiliriz.

6 saat ders çalışan bir öğrencinin kaç alması beklenir?

y=17,83+5,03*6=47,9 ≌ 48

Excel ile Regresyon Doğrusu Eğimi

Amacımız bu çizilen çizginin tüm noktalara en yakın, hata değeri minimum olacak şekilde çizilmesidir.

ctrl+A ile tablo seçilir. Ekle>Dağılım (XY) > tablodan 1 noktaya farenin sağ tuşu ile tıkla>eğim çizgisi ekle.

Çalışma saati(x) artarken notlar(y) da arttığı için aralarında pozitif bir ilişki olduğunu söyleyebiliriz.

Python ile Regresyon Uygulaması

Problem-2 : Satışlar Reklam Harcamalarından Etkileniyor mu?

1-Kullanacağımız paketleri çağıracağız.

2-Veri setini tanımlayacağız.

3-En uygun Regresyon modelini kurmaya çalışacağız.

4-Sonuçları değerlendirip tahminde bulunacağız.

Paketler çağrıldı.

Veri tanımlandı.

çıktı: a=16.74857142857143, b=0.484 ⇨ Model: 16.74+0.48*x

çıktı: 0.9317000000000001 | Öğreterek elde ettiğimiz model %93 oranında başarılı diyebiliriz. Artık yukarıdaki modelde x yerine ulaşmak istediğimiz sayıyı girdiğimizde bize %93 doğru yanıt verecek.

Karşılaştırmalı Görsel

Tecrübe edindiğim bilgileri paylaşmak mutluluk verdiği için buradayım. | www.linkedin.com/in/fadime-akdogan

Tecrübe edindiğim bilgileri paylaşmak mutluluk verdiği için buradayım. | www.linkedin.com/in/fadime-akdogan