Раздел данных в пакете Caret и переобучение

Я читал пакет Caret и увидел этот код;

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

Меня интересует выражение «times». Итак, если я использую этот код,

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%.

Спасибо.


person onur öztornacı    schedule 09.03.2018    source источник


Ответы (1)


Непонятно, почему вы смешиваете переоснащение в этом вопросе; times относится просто к тому, сколько разных разделов вам нужно (документы). Давайте посмотрим на пример с данными 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
person desertnaut    schedule 09.03.2018