CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Créez une nouvelle variable inv_square_distance définie comme l’inverse du carré de la distance et ajoutez-la au data frame df.
  • Construisez un modèle de régression simple avec lm() de force versus inv_square_distance et enregistrez-le sous lr_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()
Modifier et exécuter le code