อัลกอริทึม Linear Regression
เพื่อให้เข้าใจ linear regression อย่างถ่องแท้ การรู้ว่าอัลกอริทึมทำงานอย่างไรจะช่วยได้มาก โค้ดของ ols() มีความยาวหลายร้อยบรรทัด เพราะต้องรองรับได้ทุกสูตรและทุกชุดข้อมูล อย่างไรก็ตาม สำหรับ simple linear regression บนชุดข้อมูลเดียว เราสามารถเขียนอัลกอริทึมนี้ได้ในโค้ดเพียงไม่กี่บรรทัด
ขั้นตอนการทำงานมีดังนี้:
- ขั้นแรก เขียนฟังก์ชันเพื่อคำนวณ sum of squares โดยใช้ syntax ทั่วไปนี้:
def function_name(args):
# some calculations with the args
return outcome
- ขั้นที่สอง ใช้ฟังก์ชัน minimize ของ
scipyเพื่อหาค่าสัมประสิทธิ์ที่ทำให้ฟังก์ชันนี้มีค่าน้อยที่สุด
ค่าตัวแปรอธิบาย (คอลัมน์ n_convenience ของ taiwan_real_estate) พร้อมใช้งานในชื่อ x_actual
ค่าตอบสนอง (คอลัมน์ price_twd_msq ของ taiwan_real_estate) พร้อมใช้งานในชื่อ y_actual
minimize() ถูกโหลดไว้แล้วเช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Regression ระดับกลางด้วย statsmodels ใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Complete the function
def calc_sum_of_squares(coeffs):
# Unpack coeffs
____, ____ = ____
# Calculate predicted y-values
y_pred = ____ + ____ * ____
# Calculate differences between y_pred and y_actual
y_diff = ____ - ____
# Calculate sum of squares
sum_sq = ____
# Return sum of squares
return sum_sq
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))