เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแสดงภาพค่าต่ำสุดของ RSS

ในแบบฝึกหัดนี้ จะคำนวณและแสดงภาพว่า RSS เปลี่ยนแปลงอย่างไรตามค่าพารามิเตอร์ต่าง ๆ ของโมเดล เริ่มต้นด้วยการคงค่า intercept ไว้คงที่ แต่เปลี่ยนแปลงค่า slope โดยสำหรับค่า slope แต่ละค่า จะคำนวณค่าของโมเดลและ RSS ที่ได้ เมื่อได้อาร์เรย์ของค่า RSS แล้ว จะหาค่า RSS ต่ำสุดด้วยโค้ด และจากค่าต่ำสุดนั้น ให้ระบุค่า slope ที่ให้ RSS ต่ำสุด

ใช้อาร์เรย์ข้อมูล x_data, y_data และตัวเก็บข้อมูลว่าง rss_list ที่โหลดไว้แล้วเป็นจุดเริ่มต้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Linear Modeling in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สำหรับค่าทดลองแต่ละค่า a1 ใน a1_array ให้ใช้ model() เพื่อคำนวณค่าที่โมเดลพยากรณ์ จากนั้นใช้ compute_rss() กับ y_data, y_model แล้วเก็บผลลัพธ์ rss_value ไว้ใน rss_list
  • แปลง rss_list เป็น np.array() จากนั้นใช้ np.min() เพื่อหาค่าต่ำสุดใน rss_array
  • ใช้ np.where() เพื่อหาค่าทดลองที่สอดคล้องกัน แล้วกำหนดผลลัพธ์ให้กับ best_a1
  • ใช้ plot_rss_vs_parameters() เพื่อยืนยันด้วยภาพว่าค่าที่ได้ตรงกับรูปที่แสดง

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
    y_model = model(x_data, a0=150, a1=____)
    rss_value = compute_rss(y_data, ____)
    rss_list.append(____)

# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____) 
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))

# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)
แก้ไขและรันโค้ด