📜  如何在 r 中拆分训练和测试数据 (1)

📅  最后修改于: 2023-12-03 15:08:46.568000             🧑  作者: Mango

如何在 R 中拆分训练和测试数据

在机器学习中,拆分数据集为训练数据和测试数据是非常重要的步骤。在 R 中,我们可以使用 caret 包中的 createDataPartition 函数来拆分数据集。

安装 caret

首先,我们需要安装并加载 caret 包:

install.packages("caret")
library(caret)
准备数据

接下来,我们需要准备要用于拆分的数据。在此示例中,我们将使用 mtcars 数据集:

data(mtcars)
拆分数据

现在,我们可以使用 createDataPartition 函数将 mtcars 数据集拆分为训练数据和测试数据。这里我们将使用 70% 的数据作为训练数据,30% 的数据作为测试数据:

set.seed(123)
train_index <- createDataPartition(mtcars$mpg, p = 0.7, list = FALSE)
train_data <- mtcars[train_index, ]
test_data <- mtcars[-train_index, ]

上面的代码中,我们通过 createDataPartition 函数生成了一个用于拆分数据集的索引向量,并使用该向量将 mtcars 数据集拆分为训练数据和测试数据。set.seed 函数用于设置随机种子,以保证每次生成的索引向量都是相同的。

验证拆分结果

我们可以使用以下代码来验证划分的结果是否正确:

nrow(train_data)
[1] 22
nrow(test_data)
[1] 10

上面的代码显示了训练数据和测试数据的行数,分别对应于 70% 和 30% 的数据。

拆分数据集为训练数据和测试数据是机器学习中不可避免的步骤。在 R 中,我们可以使用 caret 包中的 createDataPartition 函数来很容易地完成这个步骤。