预测中远程协作的项目管理

机器算法验证 机器学习 软件 项目管理
2022-04-15 14:44:37

在预测或机器学习设置中是否有任何用于远程协作的工具?

我正在寻找一种计算环境,其中包括适当的源代码控制,跟踪不同数据集如何与不同算法匹配,并促进各种预测的混合。什么工具对此有用?

2个回答

我不知道任何专门为协作构建预测模型而设计的现成产品,但我确实认为您可以从良好的版本控制系统(如githg和脚本任务)开始推出自己的解决方案,以使每一步都可重现.

  • 所有数据集都应该绝对不受版本控制,但您应该编写 shell 或 SQL 或 python 等脚本,从各种来源获取原始数据,并执行任何数据“修改”类型的任务(过滤、清理、转换等)上)。这些数据操作脚本应该在版本控制中进行跟踪,我喜欢这样命名它们,以便如果存在依赖关系或隐含顺序,则在自然(字母)目录列表中进行维护。例如我可能有脚本:

    01-fetch_census_data.sh

    02-scrub_census_incomes.sh

    03-60train_20test_20val_split.sh

    03-75train_25test_split.sh

    ...

    等等。根据您想投入多少时间,您可以编写代码来缓存中间结果,以便仅在必要时运行长时间运行的步骤,或者自动识别和处理依赖关系。

  • 同样,您将使用您最喜欢的模型开发语言编写一些代码,这些代码将接收处理过的数据集,可能还有学习的模型(超)参数,并以学习的模型参数或对某些数据集的预测的形式产生一些输出。您想跟踪此代码,但您还想在版本控制中跟踪学习的参数值(以供以后混合)。

  • 最后,您将需要一些顶级驱动程序脚本来挑选数据处理和建模算法脚本的适当顺序组合。这应该代表一个完整的端到端实验,从原始数据开始,到经过训练的模型结束(并且可能是某种形式的评估,例如图或性能指标,可以再次保留在版本控制下以供参考)。
  • 要记住的重要一点是,您的任何合作者都应该能够简单地克隆您的存储库,并假设他们对您的原始数据源具有必要的访问权限,完全复制(和扩展)您的任何实验
  • 如果您使用 R,请查看ProjectTemplate包之类的内容,作为您项目的良好骨架起点

这些可能会有所帮助:KeplerProcess MaknaTaverna这篇论文