【问题标题】:Split a data set into a training and test set with runif [closed]使用 runif 将数据集拆分为训练和测试集 [关闭]
【发布时间】:2020-07-08 17:51:21
【问题描述】:
我有一个关于命令的问题。我们在一个类 runif 中使用来创建一个训练集,它应该包含 50% 的数据集。 (我们基于这个训练集开发了一个决策树)。但是我还是不明白这个命令背后的逻辑,谁能给我解释一下这是怎么工作的?
我了解决策树以及拆分数据集背后的逻辑,我的问题只是明确说明此命令的工作原理。
inTrain <- runif(nrow(USArrests)) < 0.5
【问题讨论】:
标签:
r
machine-learning
decision-tree
【解决方案1】:
您有一个名为 USArrests 的数据集,长度为 nrow(USArrests),为了简化起见,假设为 100。因此,runif(nrow(USArrests)) 创建了 100 个均匀分布的随机数,即为数据集中的每一行一个数字。
接下来,您的表达式 runif(nrow(USArrests)) < 0.5 检查数字是否为 < 0.5 或不返回 TRUE 或 FALSE。这会为您提供一个长度为 100(或 nrow(USArrests))的逻辑向量,用于指示一行是属于训练数据集还是属于测试数据集。
它没有显示,但最后你选择了你的训练数据
USArrests[inTrain,]
和你的测试数据
USArrests[-inTrain,]