r - Caret包中的数据分区和过拟合

标签 r machine-learning r-caret resampling data-partitioning

我正在阅读插入符包,并且看到了该代码;

createDataPartition(y, times = 1, p = 0.5, list = TRUE, groups = min(5,
length(y)))

我想知道“时代”的表达方式。所以,如果我使用这段代码,

inTrain2 <- createDataPartition(y = MyData$Class ,times=3, p = .70,list = FALSE)

training2 <- MyData[ inTrain2,]    # ≈ %67 (train)
testing2<- MydData[-inTrain2[2],]  # ≈ %33 (test)

这会是过度拟合问题的原因吗?或者是用于某种重采样方法(无偏)?

提前非常感谢。

编辑:

我想提一下,如果我使用此代码;

 inTrain2 <- createDataPartition(y = MyData$Class ,times=1, p = .70,list = FALSE) 
 training2<- MyData[ inTrain2,] #142 samples # ≈ %67 (train) 
  testing2<- MydData[-inTrain2,] #69 samples # ≈ %33 (test)

我将得到 211 个样本,并且准确率 ≈ %52,另一方面,如果我使用此代码;

  inTrain2 <- createDataPartition(y = MyData$Class ,times=3,p =.70,list = FALSE) 
   training2<- MyData[ inTrain2,]     # ≈ %67 (train) # 426 samples 
    testing2<- MydData[-inTrain2[2],] # ≈ %33 (test)  # 210 samples

我将获得 536 个样本,并且准确率 ≈ %98。

谢谢。

最佳答案

不清楚为什么你在这个问题中混合了过度拟合; times 只是指您想要多少个不同的分区 ( docs )。让我们看一个包含 iris 数据的示例:

library(caret)
data(iris)

ind1 <- createDataPartition(iris$Species, times=1, list=FALSE)
ind2 <- createDataPartition(iris$Species, times=2, list=FALSE)

nrow(ind1)
# 75
nrow(ind2)
# 75

head(ind1)
     Resample1
[1,]         1
[2,]         5
[3,]         7
[4,]        11
[5,]        12
[6,]        18

head(ind2)
     Resample1 Resample2
[1,]         2         1
[2,]         3         4
[3,]         6         6
[4,]         7         9
[5,]         8        10
[6,]        11        11

两个索引的长度均为 75(因为我们使用了默认参数 p=0.5,即初始数据集的一半行)。 ind2 的列(不同样本)之间是独立的,并且保留了不同 iris$Species 的类比,例如:

length(which(iris$Species[ind2[,1]]=='setosa'))
# 25
length(which(iris$Species[ind2[,2]]=='setosa'))
# 25

关于r - Caret包中的数据分区和过拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49192550/

相关文章:

r - 使用 R 到 Gsub 搜索 *

R Dataframe - 在时间序列中应用表达式,并将结果输出到新的数据帧中

java - 如何使用 libsvm 计算多类预测的概率?

python - 如何在 Tensorflow 中将 2 个图像发送到 1 个网络并计算对比损失?

r - R 中定义 n 的平衡样本

r - 使用插入符号库预测 GBM 的概率

r - 有没有办法在一个方面增加 strip.text 栏的高度?

html - 如何使用 rvest 收集此表中的所有 url?

c# - Encog 框架非数字示例,文本分类

r - TrainControl 的插入符错误,方法 ="repeatedCV"