Concevoir manuellement une variable
Après quelques recherches avec votre équipe, vous vous rappelez que la force d’attraction gravitationnelle entre deux corps obéit à la formule de Newton :
$$F = G\frac{m_1m_2}{r^2}$$.
Vous ne pouvez pas utiliser la formule directement car les masses sont inconnues, mais vous pouvez ajuster un modèle de régression de force en fonction de inv_square_distance. Le jeu de données enrichi df que vous avez construit dans l’exercice précédent a été chargé pour vous.
Cet exercice fait partie du cours
Feature engineering en R
Instructions
- Créez une nouvelle variable
inv_square_distancedéfinie comme l’inverse du carré de la distance et ajoutez-la au data framedf. - Construisez un modèle de régression simple avec
lm()deforceversusinv_square_distanceet enregistrez-le souslr_force_2. - Joignez vos prédictions à
df_inverse.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()