在预测或机器学习设置中是否有任何用于远程协作的工具?
我正在寻找一种计算环境,其中包括适当的源代码控制,跟踪不同数据集如何与不同算法匹配,并促进各种预测的混合。什么工具对此有用?
在预测或机器学习设置中是否有任何用于远程协作的工具?
我正在寻找一种计算环境,其中包括适当的源代码控制,跟踪不同数据集如何与不同算法匹配,并促进各种预测的混合。什么工具对此有用?
我不知道任何专门为协作构建预测模型而设计的现成产品,但我确实认为您可以从良好的版本控制系统(如git或hg和脚本任务)开始推出自己的解决方案,以使每一步都可重现.
所有数据集都应该绝对不受版本控制,但您应该编写 shell 或 SQL 或 python 等脚本,从各种来源获取原始数据,并执行任何数据“修改”类型的任务(过滤、清理、转换等)上)。这些数据操作脚本应该在版本控制中进行跟踪,我喜欢这样命名它们,以便如果存在依赖关系或隐含顺序,则在自然(字母)目录列表中进行维护。例如我可能有脚本:
01-fetch_census_data.sh
02-scrub_census_incomes.sh
03-60train_20test_20val_split.sh
03-75train_25test_split.sh
...
等等。根据您想投入多少时间,您可以编写代码来缓存中间结果,以便仅在必要时运行长时间运行的步骤,或者自动识别和处理依赖关系。
同样,您将使用您最喜欢的模型开发语言编写一些代码,这些代码将接收处理过的数据集,可能还有学习的模型(超)参数,并以学习的模型参数或对某些数据集的预测的形式产生一些输出。您想跟踪此代码,但您还想在版本控制中跟踪学习的参数值(以供以后混合)。
这些可能会有所帮助:Kepler、Process Makna、Taverna和这篇论文。