Creare manualmente una feature
Dopo alcune ricerche con il tuo team, ricordi che la forza gravitazionale di attrazione tra due corpi obbedisce alla formula di Newton:
$$F = G\frac{m_1m_2}{r^2}$$.
Non puoi usare direttamente la formula perché le masse sono sconosciute, ma puoi adattare un modello di regressione di force in funzione di inv_square_distance. L’insieme di dati aumentato df che hai costruito nell’esercizio precedente è stato caricato per te.
Questo esercizio fa parte del corso
Feature Engineering in R
Istruzioni dell'esercizio
- Crea una nuova variabile
inv_square_distance, definita come il reciproco della distanza al quadrato, e aggiungila al data framedf. - Costruisci un semplice modello di regressione con
lm()diforceversusinv_square_distancee salvalo comelr_force_2. - Associa le tue predizioni a
df_inverse.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()