วิธีดำเนินการกำลังสองน้อยที่สุดใน numpy (พร้อมตัวอย่าง)


วิธีกำลังสองน้อยที่สุด คือวิธีที่เราสามารถใช้เพื่อค้นหาเส้นถดถอยที่เหมาะกับชุดข้อมูลที่กำหนดมากที่สุด

เราสามารถใช้ฟังก์ชัน linalg.lstsq( ) ใน NumPy เพื่อทำการปรับค่ากำลังสองน้อยที่สุด

ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

ขั้นตอนที่ 1: ป้อนค่าสำหรับ X และ Y

เริ่มต้นด้วยการสร้างอาร์เรย์ NumPy ต่อไปนี้:

 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: ทำการปรับกำลังสองน้อยที่สุด

เราสามารถใช้โค้ดต่อไปนี้เพื่อให้พอดีกับกำลังสองน้อยที่สุดและค้นหาแถวที่ “พอดี” กับข้อมูลมากที่สุด:

 #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])

ผลลัพธ์ที่ได้คือตารางที่มี ความชัน และค่า ตัดแกน ของเส้นที่เหมาะสมที่สุด

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ความชัน: 0.969
  • ขโมย: 7,767

เมื่อใช้ค่าทั้งสองนี้ เราสามารถเขียนสมการของเส้นที่เหมาะสมที่สุดได้:

ŷ = 7.767 + 0.969x

ขั้นตอนที่ 3: ตีความผลลัพธ์

ต่อไปนี้คือวิธีตีความบรรทัดที่เหมาะสมที่สุด:

  • เมื่อ x เป็น 0 ค่าเฉลี่ยของ y คือ 7.767
  • สำหรับการเพิ่ม x ทุกหน่วย y จะเพิ่มขึ้นโดยเฉลี่ย 0.969

นอกจากนี้เรายังสามารถใช้เส้นตรงที่เหมาะสมที่สุดเพื่อทำนายค่า y โดยอิงจากค่า x

ตัวอย่างเช่น หาก xa มีค่า 10 เราจะคาดการณ์ว่าค่า y จะเป็น 17.457 :

  • ŷ = 7.767 + 0.969x
  • ŷ = 7.767 + 0.969(10)
  • ŷ = 17.457

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีทำงานทั่วไปอื่น ๆ ใน NumPy:

วิธีลบองค์ประกอบเฉพาะออกจากอาร์เรย์ NumPy
วิธีรับดัชนีค่าสูงสุดในอาร์เรย์ NumPy
วิธีเติมอาร์เรย์ NumPy ด้วยค่า

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *