НачатьНачать бесплатно

Линейная модель в антропологии

Представьте, что вы обнаружили фрагмент скелета взрослого человека, жившего тысячи лет назад. Как можно оценить рост этого человека? Это упражнение отчасти вдохновлено работой судебного антрополога Милдред Троттер, которая разработала регрессионную модель для оценки роста человека по «длинным костям» — в частности, по бедренной кости. Эта модель широко применяется и по сей день.

В этом упражнении вы воспользуетесь данными о живых людях и библиотекой Python scikit-learn, чтобы построить линейную модель, связывающую длину бедренной кости с ростом человека. Затем вы применяете построенную модель, чтобы предсказать рост вашего древнего предка.

Это упражнение является частью курса

Введение в линейное моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте LinearRegression из sklearn.linear_model и инициализируйте модель с параметром fit_intercept=False.
  • Преобразуйте предварительно загруженные массивы legs и heights из формата «1 на N» в формат «N на 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]))
Редактировать и запускать код