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
Oefeninstructies
- Maak een nieuwe variabele
inv_square_distancegedefinieerd als het omgekeerde van de gekwadrateerde afstand en voeg die toe aan het data framedf. - Bouw een simpel regressiemodel met
lm()vanforcetegenoverinv_square_distanceen sla dit op alslr_force_2. - Voeg je voorspellingen toe aan
df_inversemet 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()