【R、機械学習メモ】Rでのデータ分割

Rでのデータ分割の方法のメモ。


データ準備


1500行の何の意味もないデータ。

ads <- data.frame(id=seq(1:1500))


rsample で分割


library(rsample)
ads.sp1  <- rsample::initial_split(ads, prop=3/4) 
adtrain1 <- rsample::training(ads.sp1)  #-- 訓練データ
adtest1  <- rsample::testing(ads.sp1)  #-- テストデータ

initial_split関数で分割する割合を決める。
training関数とtesting関数で訓練データとテストデータを作る。

dplyr で分割


library(tidyverse)
adtrain2 <- dplyr::sample_frac(ads, size=3/4, replace=FALSE)  #-- 訓練データ
adtest2  <- dplyr::anti_join(ads, adtrain2, by=c("id"))  #-- テストデータ。byはユニークキー

sample_frac関数で訓練データ分を作る。
anti_join関数でテストデータ(訓練データ以外のデータセット)を作る。

参考


Simple Training/Test Set Splitting — initial_split • rsample

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。