始める無料で始める

60/40 に分割してみましょう

ビデオで見たとおり、この章では Sonar データセットを使い、学習用に 60%、テスト用に 40% を使います。確実に身につけるために、もう一度 train/test の分割を練習しましょう。データセットの行インデックスをランダムに並べ替えるには sample() 関数が使えます。train/test 分割の際に利用できます。例:

n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)

そして、これらの行インデックスを使ってデータセットをランダムな順序に並べ替えます。例:

my_data <- my_data[permuted_rows, ]

データセットをランダムに並べ替えたら、先頭の 60% を学習用、末尾の 40% をテスト用に分割できます。

この演習はコースの一部です

Rで学ぶ caret を使った Machine Learning

コースを見る

演習の手順

  • Sonar の観測数(行数)を取得し、n_obs に代入します。
  • Sonar の行インデックスをシャッフルして、permuted_rows に保存します。
  • permuted_rows を使って Sonar の行をランダムに並べ替え、Sonar_shuffled として保存します。
  • 60/40 分割に適切な分割位置の行番号を求め、split に保存します。
  • Sonar_shuffled の先頭 60% を学習用データとして保存します。
  • Sonar_shuffled の末尾 40% をテストデータとして保存します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Get the number of observations


# Shuffle row indices: permuted_rows


# Randomly order data: Sonar


# Identify row to split on: split
split <- round(n_obs * ___)

# Create train


# Create test
コードを編集して実行