データのエンコーディング
カテゴリーデータのエンコーディングは、Machine Learning のアルゴリズムで活用するために欠かせません。 R は内部的に factor をエンコードしますが、自分でモデルを作成する場合は明示的なエンコードが必要です。
この演習では、まず lm() を使って線形モデルを作成し、その後に自分でモデルを一歩ずつ組み立てます。
ワンホットエンコーディング(one hot encoding)では、各水準ごとに別々の列を作成します。

なお、ある列は他の列から導出可能です(例:「B」と「C」が 0 なら「A」が 1 になります)。 そのため、線形回帰では最初の列を落としてもかまいません。 線形モデルについては次の章でさらに詳しく見ていきます。
ワンホットエンコーディングには、caret パッケージの dummyVars() を使えます。
使い方は、まずエンコーダを作成し、その後データセットを変換します。
encoder <- dummyVars(~ category, data = df)
predict(encoder, newdata = df)
MASS パッケージのアンケートデータセットの完全ケースは survey として利用できます。
caret パッケージはすでに読み込まれています。
この演習はコースの一部です
R で学ぶ統計面接対策
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fit a linear model
lm(___ ~ Exer, data = ___)