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

โมเดลเชิงเส้นในมานุษยวิทยา

หากพบชิ้นส่วนกระดูกของมนุษย์ผู้ใหญ่ที่มีชีวิตอยู่เมื่อหลายพันปีก่อน เราจะประมาณความสูงของเจ้าของกระดูกนั้นได้อย่างไร? แบบฝึกหัดนี้ได้รับแรงบันดาลใจจากงานของ Mildred Trotter นักมานุษยวิทยาทางนิติเวช ซึ่งสร้างโมเดลถดถอยสำหรับคำนวณประมาณความสูงจาก "กระดูกยาว" หรือกระดูกต้นขาของมนุษย์ และโมเดลนี้ยังคงถูกใช้งานอย่างแพร่หลายในปัจจุบัน

ในแบบฝึกหัดนี้ จะใช้ข้อมูลจากผู้คนจำนวนมากและไลบรารี scikit-learn ของ Python เพื่อสร้างโมเดลเชิงเส้นที่เชื่อมโยงความยาวของกระดูกต้นขากับความสูงโดยรวมของบุคคล จากนั้นนำโมเดลที่ได้ไปใช้ทำนายความสูงของบรรพบุรุษโบราณ

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

Introduction to Linear Modeling in Python

ดูคอร์ส

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

  • import LinearRegression จาก sklearn.linear_model และกำหนดค่าเริ่มต้นของโมเดลด้วย fit_intercept=False
  • ปรับรูปร่างอาร์เรย์ข้อมูล legs และ heights ที่โหลดไว้แล้ว จาก "1-by-N" เป็นอาร์เรย์ "N-by-1"
  • ส่งอาร์เรย์ที่ปรับรูปร่างแล้ว legs และ heights เข้าไปใน model.fit()
  • ใช้ model.predict() เพื่อทำนายค่า fossil_height จากฟอสซิลที่พึ่งค้นพบ โดยกำหนด fossil_leg = 50.7

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

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

# import the sklearn class LinearRegression and initialize the model
from sklearn.____ import ____
model = LinearRegression(fit_intercept=False)

# Prepare the measured data arrays and fit the model to them
legs = legs.reshape(len(____),1)
heights = heights.reshape(len(____),1)
model.fit(____, heights)

# Use the fitted model to make a prediction for the found femur
fossil_leg = np.array(50.7).reshape(1, -1)
fossil_height = model.predict(____)
print("Predicted fossil height = {:0.2f} cm".format(fossil_height[0,0]))
แก้ไขและรันโค้ด