Model liniar în antropologie
Dacă ai găsi o parte dintr-un schelet aparținând unui adult care a trăit cu mii de ani în urmă, cum ai putea estima înălțimea persoanei respective? Acest exercițiu este inspirat în parte din munca antropologului criminalist Mildred Trotter, care a construit un model de regresie pentru estimarea staturii pe baza „oaselor lungi" sau a femururilor umane – model folosit și astăzi.
În acest exercițiu, vei folosi date colectate de la multe persoane în viață și biblioteca Python scikit-learn pentru a construi un model liniar care pune în legătură lungimea femurului (osul coapsei) cu statura (înălțimea totală) a persoanei. Apoi, vei aplica modelul pentru a face o predicție despre înălțimea unui strămoș din antichitate.

Acest exercițiu face parte din cursul
Introducere în modelarea liniară în Python
Instrucțiuni pentru exercițiu
- Importă
LinearRegressiondinsklearn.linear_modelși inițializează modelul cufit_intercept=False. - Redimensionează array-urile preîncărcate
legsșiheightsdin format "1-pe-N" în format "N-pe-1". - Transmite array-urile redimensionate
legsșiheightsînmodel.fit(). - Folosește
model.predict()pentru a prezice valoareafossil_heightpentru fosila nou descoperităfossil_leg = 50.7.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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]))