r - 通过运行多个子样本对大型数据集进行 kmeans
问题描述
我有一个包含 50+mn 行和 2 列的数据集,我想在其上应用 kmeans 拆分为 4 个集群。在使用 kmeans 时,我不断遇到内存问题(无法解释的 R-studio 和 PC 崩溃)。我尝试使用 bigkmeans 但收到 std:bad_alloc 错误。
所以接下来我想创建 5 或 10 个随机样本,其中可能包含 200 万行这些数据,并在每个样本上运行 kmeans,并将结果放入单个数据帧中。
可能有一种方法可以优雅地使用 apply 或类似的东西来做到这一点,但我对此并不熟悉,因此寻求帮助。
这是我将如何执行此操作一次。
df_sample <- df[sample(nrow(df),2000000),]
k4_s1 <- kmeans(df_sample,iter.max = 50,centers = 4, nstart = 50)
我可以把它放在一个 for 循环中,但可能有更有效的方法,任何帮助表示赞赏。
解决方案
推荐阅读
- google-apps-script - 如何在 Google Scripts 的变量中存储月、日和年?
- php - 在 WordPress 子主题中将 do_shortcode 添加到 printf
- php - 如何获取选定的选项值(codeigniter)
- docker - 从 Docker 容器显示 Android Studio GUI,同时通过无头 Ubuntu 服务器进行 SSH 隧道传输
- cardano - 如何在cardano plutus中实现带状态的反游戏?(第 10 名玩家可以选择奖励)
- javascript - 未定义的'appendChild'
- mysql - 静默变量赋值
- swift - 如何通过使用日期选择器单击左右箭头来显示前一天/下一天
- java - 按边标签对顶点组的传入顶点进行分组
- powershell - 用于从网络计算机获取特定系统信息的 PowerShell 脚本