始める無料で始める

データのエンコーディング

カテゴリーデータのエンコーディングは、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 = ___)
コードを編集して実行