データセットの分割
トレーニングセットとテストセットを作成するには、まず set.seed() を使ってシードを設定します。シードは乱数の起点を与えるもので、コードを実行するたびに同じ結果が再現されます。サンプリングでこれを行う利点は、同じシードを使えば自分や他の人がまったく同じトレーニングセットとテストセットを再現できることです。
sample() を使うと、観測値をトレーニングセットとテストセットにランダムに割り当てられます。
この演習では、sample() 関数の最初の 2 つの引数を使います。
- 最初の引数は、サンプルを抽出する元のベクトルです。行番号をインデックスとしてランダムに選びます。行番号のベクトルは
1:nrow(loan_data)で作成できます。 - 2 番目の引数は選ぶ要素数です。まずトレーニングセットを作るので、
2 / 3 * nrow(loan_data)を指定します。
この演習はコースの一部です
R で学ぶクレジットリスク・モデリング
演習の手順
set.seed()関数でシードを 567 に設定します。- トレーニングセットの行インデックスを
index_trainオブジェクトに保存します。上で説明した最初と 2 番目の引数を用いてsample()関数を使ってください。 - データセット
loan_dataから、index_trainに保存した行番号を選択してトレーニングセットを作成し、training_setに保存します。 - テストセットには
index_trainに含まれない行を入れます。トレーニングセットを作成したコードを流用し、角かっこの中でindex_trainの直前に負号(-)を付けて選択し、結果をtest_setに保存します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Set seed of 567
# Store row numbers for training set: index_train
# Create training set: training_set
training_set <- loan_data[___, ]
# Create test set: test_set