ドキュメントから:
bootstrapサンプルの場合、単純なランダムサンプリングが使用されます。
他のデータ分割の場合、yが分割内のクラス分布のバランスをとる試みの要因である場合、ランダムサンプリングはyのレベル内で行われます。
数値yの場合、サンプルはパーセンタイルに基づいてグループセクションに分割され、サンプリングはこれらのサブグループ内で行われます。
CreateDataPartitionの場合、パーセンタイルの数はgroups引数を介して設定されます。
なぜこの「バランス」が必要なのかわかりません。私はそれを表面的には理解していると思いますが、追加の洞察があれば本当に役に立ちます。
つまり、10000行のデータセットds
がある場合
set.seed(42)
ds <- data.frame(values = runif(10000))
不均等な分布(9000対1000)の2つの「クラス」
ds$class <- c(rep(1, 9000), rep(2, 1000))
ds$class <- as.factor(ds$class)
table(ds$class)
# 1 2
# 9000 1000
factor
クラスの比率/「バランス」を維持しようとするサンプルを作成できます。
dpart <- createDataPartition(ds$class, p = 0.1, list = F)
dsDP <- ds[dpart, ]
table(dsDP$class)
# 1 2
# 900 100