开始使用免费开始使用

尝试 60/40 切分

正如视频所示,您将在本章使用 Sonar 数据集,并采用 60% 训练集和 40% 测试集。我们再练习一次训练/测试集切分,确保您已经掌握。回顾一下,您可以使用 sample() 函数获取数据集中行索引的随机排列,用于进行训练/测试切分,例如:

n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)

然后使用这些行索引随机重排数据集,例如:

my_data <- my_data[permuted_rows, ]

当数据集被随机排序后,您可以将前 60% 作为训练集,最后 40% 作为测试集。

本练习是课程的一部分

在 R 中使用 caret 的机器学习

查看课程

练习说明

  • 获取 Sonar 的观测数(行数),赋给 n_obs
  • 打乱 Sonar 的行索引,并将结果存入 permuted_rows
  • 使用 permuted_rows 随机重排 Sonar 的行,保存为 Sonar_shuffled
  • 确定用于 60/40 切分的分割行号。将该行号保存为 split
  • Sonar_shuffled 的前 60% 保存为训练集。
  • Sonar_shuffled 的最后 40% 保存为测试集。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Get the number of observations


# Shuffle row indices: permuted_rows


# Randomly order data: Sonar


# Identify row to split on: split
split <- round(n_obs * ___)

# Create train


# Create test
编辑并运行代码