Modèle linéaire en anthropologie
Si vous retrouviez 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 la médecin légiste et anthropologue Mildred Trotter, qui a élaboré 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 » (taille totale) de la personne. Vous appliquerez ensuite votre modèle pour prédire la taille de votre ancêtre lointain.

Cet exercice fait partie du cours
Introduction à la modélisation linéaire en Python
Instructions
- Importez
LinearRegressiondepuissklearn.linear_modelet initialisez le modèle avecfit_intercept=False. - Remodelez les tableaux de données préchargés
legsetheightsde tableaux « 1-par-N » en tableaux « N-par-1 ». - Passez les tableaux remodélés
legsetheightsàmodel.fit(). - Utilisez
model.predict()pour prédire la valeurfossil_heightpour le fossile nouvellement découvertfossil_leg = 50.7.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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]))