Lineares Modell in der Anthropologie
Wenn du einen Teil eines Skeletts eines erwachsenen Menschen findest, der vor Tausenden von Jahren lebte, wie könntest du die Körpergröße dieser Person schätzen? Diese Übung ist teilweise von der Arbeit der forensischen Anthropologin Mildred Trotter inspiriert, die ein Regressionsmodell zur Berechnung von Größenabschätzungen aus menschlichen „Röhrenknochen“ bzw. Femora erstellt hat, das bis heute häufig verwendet wird.
In dieser Übung verwendest du Daten vieler lebender Personen und die Python-Bibliothek scikit-learn, um ein lineares Modell aufzubauen, das die Länge des Femurs (Oberschenkelknochen) mit der „Körpergröße“ (Gesamthöhe) der Person verknüpft. Anschließend wendest du dein Modell an, um eine Vorhersage zur Größe deiner antiken Ahnin/deines antiken Ahnen zu treffen.

Diese Übung ist Teil des Kurses
Einführung in lineares Modellieren mit Python
Anleitung zur Übung
- importiere
LinearRegressionaussklearn.linear_modelund initialisiere das Modell mitfit_intercept=False. - Forme die vorab geladenen Datenarrays
legsundheightsvon „1-by-N“ in „N-by-1“ um. - Übergib die umgeformten Arrays
legsundheightsanmodel.fit(). - Verwende
model.predict(), um den Wertfossil_heightfür den neu gefundenen Fundfossil_leg = 50.7vorherzusagen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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]))