İçeriğe geç

Lineer Regression algoritması

Merhabalar bu yazımda Makine Öğrenme algoritmalarından olan Lineer Regresyon nedir ve Swift dili ile örneğini göreceğiz.

Regresyon nedir ? Regresyon, iki (ya da daha çok) değişken arasındaki doğrusal ilişkinin fonksiyonel şeklini, biri bağımlı diğeri bağımsız değişken olarak bir doğru denklemi olarak , göstermekle kalmaz, değişkenlerden birinin değeri bilindiğinde diğeri hakkında kestirim yapılmasını sağlar.

Kısaca verilerimizi x-y kordinatında değerlerine göre dağıttığımızı düşünelim. Bu veriler bir biri arasında bir uzaklıkları vardır. Amacımız tüm verilerden geçebilecek yada en doğru şekilde geçen bir doğru çizmektir. Buradaki doğru çizmek olayı lineer bir yapıda regresyon gerçekleştirdiğimiz içindir. Amacımız train verilerimizin düzlem üzerindeki dağılımını matematiksel bir modele benzetmek böylelikle doğru regresyon türünü bulabiliriz. Örneğin sürekli inişli çıkışlı bir veri setimiz var ise lineer regresyon kullanmak mantıklı olmayacaktır. Bunun için lojistik regresyon kullanmanız daha başarılı sonuçlara ulaşmanızı sağlayacaktır. Çünkü lojistik regresyon verileri düzlem üzerinde logaritmik olarak dalga biçiminde yakalamaya çalışır.

Şekilde görüldüğü gibi en doğru lineer çizgi çizilmeye çalışılır ve buda tahminleme işleminin başarısını yükseltir.

Yukardaki resimde doğru formulleri verilmiştir. Aşağıdaki örneğimde Araba yılı ve fiyatları olan data setimizden araba yılına göre tahmin işlemi gerçekleştirmekteyiz. Kodu inceleyebilirsiniz.

Hata fonksiyonu olarak rootMeanSquare kullanılmıştır. Bir çok farklı hata bulma fonksiyonları mevcuttur. Bu konuyada ayrıca ilerleyen yazılarımda değineceğim. Örnekte RMS gerçek değer ile tahmini değer arasındaki hata birimini vermektedir.

Not: Lineer regresyon sayısal değerlerin tahmini için uygulanır. Nominal yani tamamıyla String verilerin tahminini gerçekleştiremez. Gerçekleştirmesi için bu değerlerin sayısal değere dönüştürülüp daha sonra formül üzerinde uygulanması gerekir.

Github link.

Tarih:AlgorithmMachine Learning

Bu yazı yorumlara kapalı.

© 2018 Kenan Atmaca