試試 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