【问题标题】:How to split data into training and validation in R? [duplicate]如何在 R 中将数据拆分为训练和验证? [复制]
【发布时间】:2017-10-15 22:29:23
【问题描述】:

问题说:

加载数据并使用 set.seed(4650) 将其分成 75% 的训练数据和 25% 的验证数据。

这就是我所拥有的:

setwd("C:/Users/Downloads")
cat = read.csv("cat.csv")
set.seed(4650)
train = sample(c(TRUE, TRUE, TRUE, FALSE), nrow(cat), rep = TRUE)
validation = (!train)

而且我需要提供训练数据的摘要。

summary(train)

这给了我

Mode       FALSE   TRUE
logical    830     2463

我是否以正确的方式拆分数据?

非常感谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    这就是 Max Kuhn 的插入符号包上的 book 中的数据拆分方式。

    library(caret)
    set.seed(4650)
    trainIndex <- createDataPartition(iris$Species, 
                                      p = .75, 
                                      list = FALSE, 
                                      times = 1)
    
    irisTrain <- iris[ trainIndex,]
    irisTest  <- iris[-trainIndex,]
    

    【讨论】:

      【解决方案2】:

      这是你可以做的。

      #Example Data
      df <- iris
      
      n_train <- round(nrow(iris) * 0.75)
      
      train <- sample(1:nrow(iris), n_train, replace = FALSE)
      test <- (1:nrow(iris))[-train]
      
      train_df <- df[train, ]
      test_df <- df[test, ] # same as df[-train, ]
      
      summary(train_df)
      

      【讨论】:

      • 我想从多个时间序列数据开发 auto.arima 模型,我想在每个系列的两年间隔内使用 1 年的数据、3 年的数据、5、7...并在测试集中对其进行测试。如何进行子集化以使拟合模型具有我想要的?感谢您的帮助
      猜你喜欢
      • 2016-07-28
      • 2019-05-01
      • 1970-01-01
      • 2016-09-13
      • 2016-07-04
      • 2020-10-01
      • 1970-01-01
      • 2019-04-22
      • 2022-11-10
      相关资源
      最近更新 更多