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
Instructions de l’exercice
- Importez
LinearRegressiondesklearn.linear_modelet initialisez le modèle avecfit_intercept=False. - Remodelez les tableaux de données préchargés
legsetheightsde « 1 par N » vers « N par 1 ». - Transmettez les tableaux remodelés
legsetheightsàmodel.fit(). - Utilisez
model.predict()pour prédire la valeurfossil_heightpour 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]))