e
sv

Python ile doğrusal regresyon: makine öğrenimi için önemli bir algoritma

avatar

Yazılım Method

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

Doğrusal regresyon, birden çok sayısal özniteliği olan bir veri kümesini değerlendirmek için kullanılır. Bunu bir örnekle açıklamak gerekirse, iklimi gözlemlediğimizi hayal edebiliriz. Sıcaklığı (°C olarak), bulut yoğunluğunu (% olarak), zamanı ve saatte yağış miktarını (mm/h olarak) ölçüyoruz. Karşılık gelen bir veri seti daha sonra şöyle görünebilir: 18 °C, %45, 17:00, 14 mm/saat. Artık bu tür ölçümleri düzenli olarak yapıyor ve değerleri kaydediyoruz. Daha sonra bunları diğer durumlar için tahminler yapmak için kullanmak istiyoruz. Doğrusal regresyon analizi, yalnızca diğer tüm parametrelere dayalı bir değeri tahmin etmek için kullanılır. Örneğin, örneğimizde sıcaklığı, bulut örtüsünü ve zamanı biliyorsak yağış miktarını tahmin edebiliriz.

Doğrusal regresyonda her zaman değerler arasında doğrusal bir ilişki olduğunu varsayıyoruz. Bu, değerler arasındaki ilişkinin temel formülünün aşağıdaki gibi olduğu anlamına gelir:

f(x 1 , x 2 , x 3 , … x n ) = bir 1 * x 1 + bir 2 * x 2 + bir 3 * x 3 + … + bir n * x n + b

Bu, her değerin yalnızca belirli bir parametre ile çarpıldığı anlamına gelir. Bunun karesini almasına, kökünü almasına veya onunla başka herhangi bir hesaplama yapmasına izin verilmez. Bu nedenle belirlediğimiz fonksiyon düz bir çizgiyi tanımlar. Buna regresyon çizgisi diyoruz.

Doğrusal regresyonun avantajı, hesaplanmasının özellikle kolay olmasıdır. Bununla birlikte, doğrusal bir fonksiyon olması gerektiği kısıtlaması, genellikle gerçek değerlere çok yakın olmadığı anlamına gelir. Farklı bir eğri şekli genellikle daha iyi olurdu.

Doğrusal regresyonun görevi, tüm parametreleri – yani a 1 , a 2 , a 3 , … a n değerlerini ve b değerini – elde edilen fonksiyonun gerçek değerleri tam olarak tanımlayacak şekilde seçmektir. olabildiğince. Bunu yapmak için, düz çizgiyi, ölçülen bir değer ile düz çizgi üzerindeki ilgili değer arasındaki mesafeler mümkün olduğunca küçük olacak şekilde tasarlamak gerekir. Ancak regresyon analizinde basit uzaklıklarla değil, uzaklıkların karesiyle çalışıyoruz. Sonuç olarak, regresyon çizgisinden özellikle uzak olan noktalar daha ağır bir şekilde ağırlıklandırılır.

Regresyon çizgilerini hesaplarken, basit lineer regresyon ile çoklu lineer regresyon arasında ayrım yaparız. Az önce verilen örnek, çoklu doğrusal regresyonu temsil eder: Burada, bir değer diğer birkaç değere bağlıdır. Basit doğrusal regresyon özel bir durumu temsil eder: Hesaplanacak değer yalnızca bir başka değere bağlıdır.

Basit lineer regresyonun hesaplanması özellikle kolay değildir. Ek olarak, bu bir diyagram yardımıyla da iyi bir şekilde temsil edilebilir. Birbiriyle ilişkili iki değer, bir koordinat sisteminde bir nokta oluşturur. İlişkili fonksiyon daha sonra şöyle görünür: f(x) = a * x + b.

Yukarıdaki şekil sadece basit doğrusal regresyonu görselleştirmek için değildir. Ayrıca burada hangi aralığı kullandığımızı da açıkça ortaya koyuyor. Bunlar yeşil renkle gösterilmiştir. Bunlar dikey çizgilerdir. Bunlar, regresyon çizgisine olan minimum mesafeyi değil, karşılık gelen noktadaki fonksiyon değerine olan mesafeyi belirler.

Bir çizgiyi belirlemek için iki değer gereklidir – çizginin eğimi ve y-kesme noktası. Bunlar, yukarıda sunulan fonksiyondaki a ve b değerlerine karşılık gelir. Ancak grafik gösterimlerde eğim genellikle m harfi ile gösterilir. Şimdi iki değeri ayrı ayrı hesaplamamız gerekiyor.

Doğrunun eğimini hesaplamak için, her nokta için, x değeri ile tüm x değerlerinin ortalaması arasındaki farkı, y değeri ile tüm y değerlerinin ortalaması arasındaki farkla çarpıyoruz. Daha sonra tüm noktalar için sonuçları toplarız. Ardından, her bir nokta için, x değeri ile tüm x değerlerinin ortalaması arasındaki farkı hesaplarız. Önce bu değerlerin karesini alırız ve sonra tüm noktalar için toplarız. Son olarak, ilk toplamı ikinci toplama böleriz. Bunun için matematiksel formül şöyle görünür:

Y ekseni kesişimi daha sonra eğim kullanılarak hesaplanabilir. Bunu yapmak için, tüm y değerlerinin ortalamasından x değerleri çarpı eğimin ortalamasını çıkarmamız gerekir:

Bu algoritmayı kullanarak, verilen bir veri setini kullanarak regresyon çizgisinin fonksiyonunu belirleyen bir Python programı oluşturabiliriz.

Bunu yapmak için önce ilgili çıktı verilerini oluşturuyoruz. Bunları iki boyutlu bir listeye kaydediyoruz. Örneğin, beş veri noktasından oluşan bir liste şöyle görünebilir:

Bundan sonra hem x değerlerinin hem de y değerlerinin ortalamasını hesaplıyoruz:

Bu hazırlık çalışmasından sonra, şimdi yukarıda sunulan formülü kullanarak gradyanı belirleyebiliriz:

Şimdi bunu y ekseni kesişimini hesaplamak için kullanmak mümkündür:

Gerekli tüm değerleri zaten hesapladık.

etiketlerETİKETLER
Üzgünüm, bu içerik için hiç etiket bulunmuyor.

Sıradaki içerik:

Python ile doğrusal regresyon: makine öğrenimi için önemli bir algoritma