【问题标题】: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)) &lt; 0.5 检查数字是否为 &lt; 0.5 或不返回 TRUEFALSE。这会为您提供一个长度为 100(或 nrow(USArrests))的逻辑向量,用于指示一行是属于训练数据集还是属于测试数据集。

它没有显示,但最后你选择了你的训练数据

USArrests[inTrain,]

和你的测试数据

USArrests[-inTrain,]

【讨论】:

  • 太好了,非常感谢。
猜你喜欢
  • 1970-01-01
  • 2021-02-27
  • 2019-05-01
  • 2019-12-06
  • 2017-11-01
  • 2019-12-11
  • 2017-06-11
  • 2019-12-15
  • 2018-07-21
相关资源
最近更新 更多