Bắt đầu ngayBắt đầu miễn phí

Mô hình tuyến tính trong Nhân học

Nếu bạn tìm thấy một phần bộ xương của một người trưởng thành sống cách đây hàng nghìn năm, làm sao bạn có thể ước tính chiều cao của người đó? Bài tập này phần nào lấy cảm hứng từ công trình của nhà nhân chủng học pháp y Mildred Trotter, người đã xây dựng một mô hình hồi quy để ước tính tầm vóc từ các "xương dài" của người, cụ thể là xương đùi, và đến nay vẫn được dùng rộng rãi.

Trong bài này, bạn sẽ dùng dữ liệu từ nhiều người còn sống và thư viện scikit-learn của Python để xây dựng một mô hình tuyến tính liên hệ giữa chiều dài xương đùi (xương bắp đùi) và "tầm vóc" (chiều cao tổng thể) của một người. Sau đó, bạn sẽ áp dụng mô hình để dự đoán chiều cao của tổ tiên xa xưa.

Bài tập này là một phần của khóa học

Nhập môn Mô hình tuyến tính với Python

Xem khóa học

Hướng dẫn bài tập

  • import LinearRegression từ sklearn.linear_model và khởi tạo mô hình với fit_intercept=False.
  • Reshape các mảng dữ liệu đã nạp sẵn legsheights từ dạng "1-by-N" sang mảng "N-by-1".
  • Truyền các mảng đã reshape legsheights vào model.fit().
  • dùng model.predict() để dự đoán giá trị fossil_height cho mẫu hóa thạch vừa tìm thấy fossil_leg = 50.7.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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]))
Chỉnh sửa và Chạy Mã