CommencezCommencez gratuitement

Modèle linéaire en anthropologie

Si vous trouviez une partie d'un squelette d'un être humain adulte ayant vécu il y a des milliers d'années, comment pourriez-vous estimer sa taille? Cet exercice s'inspire en partie des travaux de l'anthropologue médico-légale Mildred Trotter, qui a créé un modèle de régression pour estimer la stature à partir des « os longs » humains, notamment le fémur, encore largement utilisé aujourd'hui.

Dans cet exercice, vous utiliserez des données provenant de nombreuses personnes vivantes et la bibliothèque Python scikit-learn pour construire un modèle linéaire reliant la longueur du fémur (os de la cuisse) à la « stature » (la taille globale) de la personne. Vous appliquerez ensuite votre modèle pour prédire la taille de votre ancêtre ancien.

Cette activité fait partie du cours

Introduction aux modèles linéaires en Python

Voir le cours

Instructions de l’exercice

  • Importez LinearRegression de sklearn.linear_model et initialisez le modèle avec fit_intercept=False.
  • Remodelez les tableaux de données préchargés legs et heights de « 1 par N » vers « N par 1 ».
  • Transmettez les tableaux remodelés legs et heights à model.fit().
  • Utilisez model.predict() pour prédire la valeur fossil_height pour le fossile nouvellement trouvé fossil_leg = 50.7.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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]))
Modifier et exécuter le code