Aan de slagGa gratis aan de slag

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

Cursus bekijken

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.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in 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