Model liniowy w antropologii
Wyobraź sobie, że podczas wykopalisk odnaleziono fragment szkieletu dorosłego człowieka sprzed tysięcy lat. Jak można oszacować wzrost tej osoby? To ćwiczenie jest częściowo inspirowane pracą antropolożki sądowej Mildred Trotter, która opracowała model regresji do szacowania wzrostu na podstawie ludzkich kości długich – kości udowych (femur). Model ten jest powszechnie stosowany do dziś.
W tym ćwiczeniu użyjesz danych zebranych od wielu żyjących osób oraz biblioteki scikit-learn, aby zbudować model liniowy opisujący zależność między długością kości udowej a wzrostem człowieka. Następnie zastosujesz ten model, by oszacować wzrost starożytnego przodka.

To ćwiczenie jest częścią kursu
Wprowadzenie do modelowania liniowego w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
LinearRegressionzsklearn.linear_modeli zainicjalizuj model z parametremfit_intercept=False. - Przekształć wczytane tablice danych
legsiheightsz postaci "1-na-N" do postaci "N-na-1". - Przekaż przekształcone tablice
legsiheightsdo metodymodel.fit(). - Użyj metody
model.predict(), aby przewidzieć wartośćfossil_heightdla nowo znalezionej skamieniałościfossil_leg = 50.7.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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]))