生成随机的训练/测试集划分
在接下来的几个练习中,您将使用包 ggplot2 中的 mpg 数据。该数据包含不同年份多种汽车品牌与车型的特征。我们的目标是根据高速油耗来预测城市油耗。
本练习中,您将把 mpg 划分为训练集 mpg_train(占数据的 75%)和测试集 mpg_test(占数据的 25%)。一种做法是使用函数 runif()(文档)生成一列 0 到 1 之间的均匀随机数。
如果您有一个大小为 \(N\) 的数据集 dframe,并且想要一个大约占 \(100 * X\)%(其中 \(X\) 介于 0 和 1 之间)的随机子集,那么:
- 生成一个均匀随机数向量:
gp = runif(N)。 dframe[gp < X,]的大小会大致符合要求。dframe[gp >= X,]将是其互补集。
本练习是课程的一部分
R 中的监督学习:回归
练习说明
- 使用函数
nrow(文档)获取数据框mpg的行数。将该数赋给变量N并打印。 - 计算 N 的 75% 约等于多少行。将其赋给变量
target并打印。 - 使用
runif()生成一个包含N个均匀随机数的向量,命名为gp。 - 使用
gp将mpg划分为mpg_train和mpg_test(其中mpg_train约占 75% 的数据)。 - 使用
nrow()检查mpg_train和mpg_test的大小。它们的规模是否大致正确?
交互式实操练习
通过完成这段示例代码来试试这个练习。
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___