Ручне створення ознаки
Після обговорення з командою ви пригадуєте, що сила гравітаційного притягання між двома тілами підпорядковується формулі Ньютона:
$$F = G\frac{m_1m_2}{r^2}$$.
Безпосередньо застосувати формулу не вийде, бо маси невідомі. Але ви можете побудувати регресійну модель, де force є функцією inv_square_distance. Розширений набір даних df, який ви створили в попередній вправі, уже завантажено для вас.
Ця вправа є частиною курсу
Feature Engineering в R
Інструкції до вправи
- Створіть нову змінну
inv_square_distance, визначену як обернене до квадрата відстані, і додайте її до датафреймуdf. - Побудуйте просту регресійну модель за допомогою
lm()дляforceпротиinv_square_distanceі збережіть її якlr_force_2. - Додайте ваші передбачення до
df_inverse.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()