1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶ caret を使った Machine Learning

Connected

演習

データフレームをランダムに並べ替える

データセットを学習用とテスト用に分割する一つの方法は、まずデータセットをランダムに並べ替え、その後で2つの集合に分けるやり方です。こうすることで、学習用・テスト用のどちらもランダムサンプルになり、データセットの並び順に潜むバイアス(たとえば元々が価格やサイズ順だった場合など)を、モデルの学習や評価に使うサンプルへ持ち込まないようにできます。新しいトランプの山を配る前にシャッフルするイメージです。

まず、作業を再現可能にし、スクリプトを実行するたびに同じランダム分割を得られるよう、乱数シードを設定します。

set.seed(42)

次に、diamonds データセットの行インデックスをシャッフルするために sample() 関数を使います。後でこのインデックスを使ってデータセットを並べ替えます。

rows <- sample(nrow(diamonds))

最後に、このランダムベクトルを使って diamonds データセットを並べ替えます。

diamonds <- diamonds[rows, ]

指示

100 XP
  • 乱数シードを 42 に設定してください。
  • 行インデックスのベクトル rows を作成してください。
  • diamonds データフレームをランダムに並べ替え、shuffled_diamonds に代入してください。