我有 500 多个预测各种事物的模型,以及一个包含超过 4 亿个人和大约 5,000 个可能的自变量的庞大数据库。
目前,我的评分过程大约需要 5 天时间,通过将 400m+ 记录分成 100k 人的片段并旋转 n 个线程,每个线程都有 500 多个模型的特定子集,并以这种方式运行直到所有记录对所有模型进行评分。每个线程都是一个提交 R 代码的 Python 进程(即加载一个 R.rds模型和相关的数据集转换逻辑)。
这个过程花费的时间太长,非常容易出错(更多地表明它已经变成了错综复杂的代码网络),昂贵(需要大量云实例),并且只允许在 R 中构建模型(我想基本上与模型来自的语言无关,但主要是我想启用 Python 和 R——这是一个不可协商的要求)。
在类似问题领域有经验的人是否有任何建议:如何将这个过程重新架构为 1)更有效地运行(来自 $ PoV)和 2)同时启用 Python 和 R 模型。