Kom igångKom igång gratis

Linjär modell inom antropologi

Om du hittar en del av ett skelett från en vuxen människa som levde för tusentals år sedan – hur skulle du kunna uppskatta personens längd? Den här övningen är delvis inspirerad av den rättsmedicinska antropologen Mildred Trotters arbete. Hon tog fram en regressionsmodell för att beräkna kroppslängd utifrån mänskliga "rörben" eller lårben, en modell som fortfarande används i dag.

I den här övningen använder du data från många levande personer och Python-biblioteket scikit-learn för att bygga en linjär modell som kopplar lårbensläng till personens kroppslängd. Sedan tillämpar du modellen för att göra en förutsägelse om din forntida förfaders längd.

Den här övningen är en del av kursen

Introduktion till linjär modellering i Python

Visa kurs

Övningsinstruktioner

  • Importera LinearRegression från sklearn.linear_model och initiera modellen med fit_intercept=False.
  • Omforma de förinstallerade dataarrayerna legs och heights från "1-gånger-N" till "N-gånger-1"-arrayer.
  • Skicka de omformade arrayerna legs och heights till model.fit().
  • Använd model.predict() för att förutsäga värdet fossil_height för det nyupptäckta fossilet fossil_leg = 50.7.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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]))
Redigera och kör kod