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

จุดตัดแกนและจุดเริ่มต้น

ในแบบฝึกหัดนี้ จะได้เรียนรู้การใช้พารามิเตอร์ค่าตัดแกน (intercept) และความชัน (slope) ในบริบทของการสร้างโมเดลจากข้อมูลการวัดปริมาตรของสารละลายในโถแก้วขนาดใหญ่ สารละลายประกอบด้วยน้ำ ธัญพืช น้ำตาล และยีสต์ โดยมีการบันทึกมวลรวมของสารละลายและภาชนะแก้วไว้ด้วย แต่ไม่ได้บันทึกมวลของภาชนะเปล่าไว้

ให้ใช้ pandas DataFrame ที่โหลดไว้แล้วชื่อ df ซึ่งมีคอลัมน์ข้อมูล volumes และ masses เพื่อสร้างโมเดลเชิงเส้นที่เชื่อมความสัมพันธ์ระหว่าง masses (ข้อมูล y) กับ volumes (ข้อมูล x) ค่าความชันจะเป็นค่าประมาณความหนาแน่น (การเปลี่ยนแปลงของมวล / การเปลี่ยนแปลงของปริมาตร) ของสารละลาย และค่าตัดแกนจะเป็นค่าประมาณมวลของภาชนะเปล่า (มวลเมื่อ volume=0)

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

Introduction to Linear Modeling in Python

ดูคอร์ส

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

  • นำเข้า ols() จาก statsmodels แล้วใช้สร้างโมเดลที่ fit กับ data=df โดยกำหนด formula = "masses ~ volumes"
  • ดึงค่าตัดแกน a0 และค่าความชัน a1 ด้วย .params['Intercept'] และ .params['volumes'] ตามลำดับ
  • แสดงผล a0 และ a1 พร้อมชื่อที่สื่อความหมายทางกายภาพ
  • แสดงผล model_fit() แล้วตรวจหาค่าที่ตรงกับที่ได้ด้านบน โดยมองหา label แถว Intercept, volumes และ label คอลัมน์ coef

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

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

# Import ols from statsmodels, and fit a model to the data
from statsmodels.formula.api import ols
model_fit = ols(formula="____ ~ ____", data=____)
model_fit = model_fit.fit()

# Extract the model parameter values, and assign them to a0, a1
a0 = model_fit.params['____']
a1 = model_fit.params['____']

# Print model parameter values with meaningful names, and compare to summary()
print( "container_mass   = {:0.4f}".format(____) )
print( "solution_density = {:0.4f}".format(____) )
print( model_fit.summary() )
แก้ไขและรันโค้ด