如何在R中将数据分成训练和验证?

时间:2017-10-15 22:29:23

标签: r

问题是:

使用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

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

非常感谢。

2 个答案:

答案 0 :(得分:3)

这是在插入符号包中Max Kuhn的book中完成数据分割的方法。

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

irisTrain <- iris[ trainIndex,]
irisTest  <- iris[-trainIndex,]

答案 1 :(得分: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)