R 目标分布不均匀时为训练数据集选择行

R 目标分布不均匀时为训练数据集选择行,r,decision-tree,R,Decision Tree,使用以下代码创建用于训练决策树的数据集: set.seed(2) train_sample <- sample(nrow(X), nrow(X) * 0.7) X_test <- X[-train_sample,] set.seed(2) train_sample一个选项是在caret中使用createDataPartition,并在函数中提供标签,例如: library(caret) X = iris[c(1:20,51:150),] X$Species = factor(X$S

使用以下代码创建用于训练决策树的数据集:

set.seed(2)
train_sample <- sample(nrow(X), nrow(X) * 0.7)
X_test <- X[-train_sample,]
set.seed(2)

train_sample一个选项是在
caret
中使用
createDataPartition
,并在函数中提供标签,例如:

library(caret)
X = iris[c(1:20,51:150),]
X$Species = factor(X$Species=="setosa")
table(X$Species)

FALSE  TRUE 
  100    20 
trainIndex <- createDataPartition(X$Species, p = .7, 
                                  list = FALSE, 
                                  times = 1)

table(X[trainIndex,]$Species)
FALSE  TRUE 
   70    14 

在上面的代码中,您根据标签和每组内的样本拆分1:nrow(X)。

一个选项是在
插入符号中使用
createDataPartition
,并在函数中提供标签,例如:

library(caret)
X = iris[c(1:20,51:150),]
X$Species = factor(X$Species=="setosa")
table(X$Species)

FALSE  TRUE 
  100    20 
trainIndex <- createDataPartition(X$Species, p = .7, 
                                  list = FALSE, 
                                  times = 1)

table(X[trainIndex,]$Species)
FALSE  TRUE 
   70    14 

在上面的代码中,您根据标签和每组内的样本将1:nrow(X)拆分。

@zx8754它叫什么?我应该搜索:分层抽样?是的,分层抽样。@zx8754它叫什么?我应该搜索:分层抽样?是的,分层抽样。