IniziaInizia gratis

Modello lineare in antropologia

Se trovassi parte di uno scheletro, appartenente a un essere umano adulto vissuto migliaia di anni fa, come potresti stimarne l’altezza? Questo esercizio è in parte ispirato al lavoro dell’antropologa forense Mildred Trotter, che ha creato un modello di regressione per calcolare la statura a partire dalle "ossa lunghe" umane, in particolare il femore, ancora oggi comunemente utilizzato.

In questo esercizio userai dati provenienti da molte persone viventi e la libreria Python scikit-learn per costruire un modello lineare che mette in relazione la lunghezza del femore (osso della coscia) con la "statura" (altezza complessiva) della persona. Poi applicherai il modello per fare una previsione sull’altezza del tuo antico antenato.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • importa LinearRegression da sklearn.linear_model e inizializza il modello con fit_intercept=False.
  • Rimodella gli array di dati già caricati legs e heights da "1-by-N" a "N-by-1".
  • Passa gli array rimodellati legs e heights a model.fit().
  • usa model.predict() per prevedere il valore fossil_height per il nuovo fossile fossil_leg = 50.7.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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]))
Modifica ed esegui il codice