r - R sample.split(large vector) 需要永远
问题描述
我有一个包含 3,640,000 个观测值 (55.5 MB) 和三列的数据表。我试图将这些数据分成一个训练集和一个测试集来构建一个简单的线性回归模型。这是我的代码。
library(caTools)
set.seed(123)
split <- sample.split(datasetSubset$TOTAL_POS, SplitRatio = 0.75)
training_set <- subset(datasetSubset, split == TRUE)
test_set <- subset(datasetSubset, split == FALSE)
sample.split 需要很长时间(我尝试运行了几个小时,但没有完成)。知道如何创建训练集和测试集吗?
什么最终奏效了? 我在安装 caret 包时遇到了困难。
@aginensky 提出的解决方案奏效了。
以下内容也有效(正如 Udemy 的助教 Alex 所建议的那样)
install.packages("tidyverse")
library(tidyverse)
datasetSubset$id <- 1:nrow(datasetSubset)
train <- datasetSubset %>% dplyr::sample_frac(.75)
test <- dplyr::anti_join(datasetSubset, train, by = 'id')
解决方案
推荐阅读
- javascript - 在 d3 中链接 csv 和 json 之间的相同变量
- node.js - sinon 否认一个存根被调用,即使它被调用
- arduino - 不断延迟移动鼠标光标,当模拟值高于 300 时单击。Arduino Pro Micro
- python - 无法通过字符修改正确解析字符串
- python - Beautifulsoup4 不显示表格内容
- python - 尝试导入 TensorFlow 数据集时出错
- prometheus - Prometheus:有效范围向量的最小即时向量样本数?
- tfs - 如果没有可用的代理,如何不对新构建进行排队
- rust - 如何制作一个也跳过面向行的注释的 nom 空白解析器?
- ansible - Making a hosts file group into an input in Ansible playbook