80/20 の分割を試す
データセットをランダムに並べ替えたので、先頭の80%を学習用データ、最後の20%をテスト用データに分割できます。データのおよそ80%地点を分割点として選びます。
split <- round(nrow(mydata) * 0.80)
この分割点を使って、データセットの最初の80%を学習用データとして取り出します。
mydata[1:split, ]
同じ分割点を使って、テスト用データを決めます。
mydata[(split + 1):nrow(mydata), ]
この演習はコースの一部です
Rで学ぶ caret を使った Machine Learning
演習の手順
diamondsデータセットのおよそ80%地点となる行インデックスで分割点を選びます。このインデックスをsplitと呼びます。- そのインデックスを使って、
trainという学習用データを作成します。 - 同じインデックスを使って、
testというテスト用データを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Determine row to split on: split
# Create train
# Create test