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
Övningsinstruktioner
- Importera
LinearRegressionfrånsklearn.linear_modeloch initiera modellen medfit_intercept=False. - Omforma de förinstallerade dataarrayerna
legsochheightsfrån "1-gånger-N" till "N-gånger-1"-arrayer. - Skicka de omformade arrayerna
legsochheightstillmodel.fit(). - Använd
model.predict()för att förutsäga värdetfossil_heightför det nyupptäckta fossiletfossil_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]))