【问题标题】:Data Partition in Caret Package and Over-fittingCaret 包中的数据分区和过拟合
【发布时间】:2018-08-17 22:53:33
【问题描述】:

我正在阅读 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 的准确率。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    不清楚你为什么在这个问题中混合过拟合; 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
    

    【讨论】:

    • 非常感谢您的帮助和回复。我问过过度拟合,因为我意识到我的准确率提高了。我认为这种方法可能是过度拟合的原因。
    • 这种情况下的轻微精度波动并不出人意料,因为这种随机分裂所涉及的固有随机性;如果答案有帮助,请接受 - 见What should I do when someone answers my question?
    • 我很抱歉。我的连接速度很慢。我不确定我是否点击了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 2012-08-28
    • 2019-04-26
    相关资源
    最近更新 更多