Modelo lineal en antropología
Si encontraras parte de un esqueleto de un ser humano adulto que vivió hace miles de años, ¿cómo podrías estimar la altura de la persona a la que pertenecía? Este ejercicio se inspira en parte en el trabajo de la antropóloga forense Mildred Trotter, que construyó un modelo de regresión para calcular estimaciones de estatura a partir de los "huesos largos" o fémures humanos, y que se utiliza con frecuencia hoy en día.
En este ejercicio, usarás datos de muchas personas vivas y la biblioteca de Python scikit-learn para construir un modelo lineal que relacione la longitud del fémur (hueso del muslo) con la "estatura" (altura total) de la persona. Después, aplicarás tu modelo para hacer una predicción sobre la altura de tu antiguo antepasado.

Este ejercicio forma parte del curso
Introducción al modelado lineal en Python
Instrucciones del ejercicio
- Importa
LinearRegressiondesklearn.linear_modele inicializa el modelo confit_intercept=False. - Remodela los arrays de datos precargados
legsyheightsde "1 por N" a arrays de "N por 1". - Pasa los arrays remodelados
legsyheightsamodel.fit(). - Usa
model.predict()para predecir el valorfossil_heightpara el fósil recién encontradofossil_leg = 50.7.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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]))