Numpy'de en küçük kareler nasıl sığdırılır (örnekle)
En küçük kareler yöntemi, belirli bir veri kümesine en iyi uyan regresyon doğrusunu bulmak için kullanabileceğimiz bir yöntemdir.
En küçük kareler ayarlamasını gerçekleştirmek için NumPy’deki linalg.lstsq( ) fonksiyonunu kullanabiliriz.
Aşağıdaki adım adım örnek, bu işlevin pratikte nasıl kullanılacağını gösterir.
Adım 1: X ve Y değerlerini girin
Aşağıdaki NumPy dizilerini oluşturarak başlayalım:
import numpy as np #define x and y arrays x = np. array ([6, 7, 7, 8, 12, 14, 15, 16, 16, 19]) y = np. array ([14, 15, 15, 17, 18, 18, 19, 24, 25, 29])
2. Adım: En küçük kareler ayarını gerçekleştirin
En küçük kareler uyumunu gerçekleştirmek ve verilere en iyi “uyan” satırı bulmak için aşağıdaki kodu kullanabiliriz:
#perform least squares fitting n.p. linalg . lstsq (np. vstack ([x, np. ones ( len (x))]). T , y, rcond= None )[ 0 ] array([0.96938776, 7.76734694])
Sonuç, en uygun çizginin eğim ve kesişme değerlerini içeren bir tablodur.
Sonuçtan şunu görebiliriz:
- Eğim: 0,969
- Çalma sayısı: 7.767
Bu iki değeri kullanarak en uygun çizginin denklemini yazabiliriz:
ŷ = 7,767 + 0,969x
3. Adım: Sonuçları yorumlayın
En iyi uyum çizgisini nasıl yorumlayacağınız aşağıda açıklanmıştır:
- X 0 olduğunda y’nin ortalama değeri 7,767’dir .
- X’teki her bir birim artış için y ortalama 0,969 artar.
Ayrıca x’in değerine bağlı olarak y’nin değerini tahmin etmek için en iyi uyum çizgisini de kullanabiliriz.
Örneğin, xa’nın değeri 10 ise y’nin değerinin 17,457 olacağını tahmin ederiz:
- ŷ = 7,767 + 0,969x
- ŷ = 7,767 + 0,969(10)
- ŷ = 17,457
Ek kaynaklar
Aşağıdaki eğitimler NumPy’de diğer genel görevlerin nasıl gerçekleştirileceğini açıklamaktadır:
NumPy dizisinden belirli öğeler nasıl kaldırılır
NumPy dizisinde maksimum değer indeksi nasıl elde edilir
NumPy dizisini değerlerle doldurma