Lineair model in de antropologie
Stel dat je een deel van een skelet vindt van een volwassen mens die duizenden jaren geleden leefde. Hoe kun je dan de lengte van die persoon schatten? Deze oefening is deels geïnspireerd op het werk van forensisch antropoloog Mildred Trotter, die een regressiemodel opstelde om de lichaamslengte te schatten op basis van menselijke "lange botten" of dijbenen (femurs), een methode die vandaag de dag veel wordt gebruikt.
In deze oefening gebruik je gegevens van veel levende mensen en de Python-bibliotheek scikit-learn om een lineair model te bouwen dat de lengte van het dijbeen (thigh bone) relateert aan de "statuur" (totale lichaamslengte) van de persoon. Daarna pas je je model toe om een voorspelling te doen over de lengte van je oeroude voorouder.

Deze oefening maakt deel uit van de cursus
Introductie tot lineaire modellering in Python
Oefeninstructies
- Importeer
LinearRegressionuitsklearn.linear_modelen initialiseer het model metfit_intercept=False. - Vorm de vooraf ingeladen arrays
legsenheightsom van "1-bij-N" naar "N-bij-1"-arrays. - Geef de omgevormde arrays
legsenheightsdoor aanmodel.fit(). - Gebruik
model.predict()om de waardefossil_heightte voorspellen voor het nieuw gevonden fossielfossil_leg = 50.7.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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]))