Aan de slagBegin gratis

Handmatig een feature engineeren

Na wat onderzoek met je team herinner je je dat de gravitatiekracht tussen twee lichamen voldoet aan de formule van Newton:

$$F = G\frac{m_1m_2}{r^2}$$.

Je kunt de formule niet direct gebruiken omdat de massa’s onbekend zijn, maar je kunt wel een regressiemodel fitten met force als functie van inv_square_distance. De uitgebreide gegevensset df die je in de vorige oefening hebt opgebouwd, is voor je ingeladen.

Deze oefening maakt deel uit van de cursus

Feature engineering in R

Bekijk cursus

Oefeninstructies

  • Maak een nieuwe variabele inv_square_distance gedefinieerd als het omgekeerde van de gekwadrateerde afstand en voeg die toe aan het data frame df.
  • Bouw een simpel regressiemodel met lm() van force tegenover inv_square_distance en sla dit op als lr_force_2.
  • Voeg je voorspellingen toe aan df_inverse met een bind-operatie.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Create a new variable inv_square_distance
df_inverse <- df %>% ___(inv_square_distance = 1/distance^2)

# Build a simple regression model
lr_force_2 <- lm(force ~ ___, data = df_inverse)

# Bind your predictions to df_inverse
df_inverse <- df_inverse %>% ___(lr2_pred = predict(lr_force_2))

df_inverse %>% ggplot(aes(x = distance, y = force)) +
  geom_point() +
  geom_line(aes(y = lr2_pred), col = "blue", lwd = .75) +
  ggtitle("Linear regression of force vs. inv_square_distance") +
  theme_classic()
Code bewerken en uitvoeren