Лінійна модель в антропології
Якби ви знайшли частину скелета дорослої людини, що жила тисячі років тому, як можна було б оцінити її зріст? Ця вправа частково натхнена роботою судової антропологині Мілдред Троттер, яка створила регресійну модель для обчислення оцінок зросту за людськими «довгими кістками», зокрема стегновою, що й сьогодні широко використовується.
У цій вправі ви використаєте дані багатьох сучасних людей і бібліотеку Python scikit-learn, щоб побудувати лінійну модель, що пов'язує довжину стегнової кістки (thigh bone) зі «зростом» (загальною висотою) людини. Потім ви застосуєте свою модель, щоб зробити прогноз щодо зросту вашого давнього предка.

Ця вправа є частиною курсу
Вступ до лінійного моделювання в Python
Інструкції до вправи
- Імпортуйте
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]))