在哪里以及如何进行大规模监督机器学习?

数据挖掘 随机森林 监督学习 pyspark 可扩展性
2022-02-24 07:25:48

我是 ML 的初学者,我有一个包含 15 个特征和 6M 行的大型数据集,因此在本地处理它变得很有挑战性。我可以在本地训练一个模型,但要使用我的 macbook pro 执行超参数调整和交叉验证,它会耗尽内存并且缺乏处理速度和容量。我尝试了 spark,但结果很差,所以我更喜欢 pandas 和 sklearn 的 python 原生生态系统。

所以我想知道我的选择是什么?专业人士是如何做到的?我应该在云上配置具有高内存和 CPU 的 VM,还是有任何其他基于云或 SAAS 的平台我可以结帐

1个回答

首先,在大多数情况下使用大数据时,使用随机子集比使用整个数据更方便:通常在设计和测试阶段,不需要使用完整数据,因为不需要最佳性能。

其次,进行消融研究通常很有用,以检查使用完整数据是否对模型真正有用。有时使用子集训练模型会得到与使用完整可用数据相同的结果,因此在这种情况下,使用所有数据没有任何优势。

最后,确实存在需要处理大型数据集或运行长时间训练过程的情况,而这在普通计算机上是无法完成的。根据环境有多种选择:

  • 购买所需的硬件(这很少是最好的选择,但需要提及)
  • 使用AWS等商业云服务
  • 一些组织拥有自己的内部计算服务器/集群。特别是如果您是学生,您很可能应该通过您的大学获得这种服务,请四处询问(afaik 现在大多数体面的大学都提供这种服务)。