手作業で特徴量を設計する
チームでリサーチを進める中で、二つの物体間に働く万有引力はニュートンの式に従うことを思い出します。
$$F = G\frac{m_1m_2}{r^2}$$.
質量は不明なので式をそのまま使うことはできませんが、force を inv_square_distance の関数として回帰モデルに当てはめることはできます。前の演習で作成した拡張済みデータセット df は読み込まれています。
この演習はコースの一部です
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()