拆分数据集以测试和训练 R 中的随机森林模型集?
Splitting dataset to test and train set in R for random forest model?
我正在为一个医学预测项目开发随机森林模型。我正在使用的数据集包含患者的信息,包括特征、诊断和患者 ID(每个患者都是唯一的)。现在,我希望根据患者(即随机 select 患者)拆分数据集,而不是仅根据比例(即 75% 的数据进行训练,25% 的数据进行测试)拆分数据集,同时满足“75% 用于训练,25% 用于测试”比例。任何人都可以帮助提供一些关于如何实现这一目标的想法吗?提前致谢!
您可以使用包 rsample 中的 initial_split
。在此示例中,列 am 用作层(在您的情况下它将是您的患者 ID):
library(tidyverse)
library(rsample)
my_split <- initial_split(mtcars, strata = am)
train_data <- training(my_split)
test_data <- testing(my_split)
# Original data
mtcars %>%
count(am) %>%
mutate(prop = n/sum(n))
am n prop
1 0 19 0.59375
2 1 13 0.40625
# training data
train_data %>%
count(am) %>%
mutate(prop = n/sum(n))
am n prop
1 0 15 0.6
2 1 10 0.4
我正在为一个医学预测项目开发随机森林模型。我正在使用的数据集包含患者的信息,包括特征、诊断和患者 ID(每个患者都是唯一的)。现在,我希望根据患者(即随机 select 患者)拆分数据集,而不是仅根据比例(即 75% 的数据进行训练,25% 的数据进行测试)拆分数据集,同时满足“75% 用于训练,25% 用于测试”比例。任何人都可以帮助提供一些关于如何实现这一目标的想法吗?提前致谢!
您可以使用包 rsample 中的 initial_split
。在此示例中,列 am 用作层(在您的情况下它将是您的患者 ID):
library(tidyverse)
library(rsample)
my_split <- initial_split(mtcars, strata = am)
train_data <- training(my_split)
test_data <- testing(my_split)
# Original data
mtcars %>%
count(am) %>%
mutate(prop = n/sum(n))
am n prop
1 0 19 0.59375
2 1 13 0.40625
# training data
train_data %>%
count(am) %>%
mutate(prop = n/sum(n))
am n prop
1 0 15 0.6
2 1 10 0.4